Skip to content

Commit 576c4b6

Browse files
committed
Add documentation for RRA 1.0 release
1 parent 2bbb9a2 commit 576c4b6

36 files changed

+1263
-0
lines changed

Release_Notes.txt

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
Radeon Raytracing Analyzer V1.0 07/26/2022
2+
------------------------------------------
3+
4+
V1.0
5+
------------------------------------
6+
This is the first public release of the Radeon Raytracing Analyzer.
7+
8+
Known Issues
9+
------------------------------------
10+
(1) When capturing raytracing applications, it is strongly recommended not to reuse buffers immediately after a DispatchRays() call, since the capture process can take quite a bit of time and this will lead to partially created BVH data being written out. This will show up in RRA as missing BLAS/TLAS data. The trace should still load but certain parts of the scene will be missing.
11+
(2) RRA is very memory-intensive, particularly for large scenes. To reduce the memory footprint as much as possible, please limit the number of concurrent instances of RRA. This will be dependent on the amount of video and system memory available, and in most uses-cases will not be an issue.
12+
(3) Radeon Developer Panel will NOT capture RRA traces from AMD multi-GPU configurations (e.g. two AMD GPUs). It will work with one AMD GPU and other non-AMD cards installed in the same machine. Please note that the primary monitor will need to be configured for the AMD GPU/monitor combination. For systems consisting of an AMD APU and AMD discrete GPU, capturing profiles should work, but an error may be logged in the Radeon Developer Panel regarding not being able to set peak clock mode. It is recommended that the GPU in the APU be disabled in the BIOS.
13+
(4) Radeon Developer Panel can only capture an RRA trace on a single AMD GPU at a time.
14+
(5) Radeon Developer Panel cannot capture RRA traces from non-AMD GPUs.
15+
(6) Unicode folders and filenames are currently not supported.
16+
(7) There is currently no default "Application 'up' axis" in the viewer panes. When loading or reloading RRA traces, orient your scene and press the "U" key to automatically set the up axis.
17+
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
2+
3+
img {
4+
max-width: 100%;
5+
max-height: auto;
6+
box-shadow: 6px 6px #eee;
7+
-ms-interpolation-mode: bicubic;
8+
border: 1px solid #ccc;
9+
}
10+
11+
table {
12+
font-size: 12px;
13+
}
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
The BLAS Instances Tab
2+
----------------------
3+
4+
The Instances tab displays a read-only table of properties and statistics for
5+
instances of the selected BLAS.
6+
7+
.. image:: media/blas/blas_instances_1.png
8+
9+
Above the table is the base address of the BLAS used by all the instances.
10+
11+
The following fields are displayed:
12+
13+
* Instance address – The virtual address for the instance node within the TLAS.
14+
15+
* Instance offset – The offset for the instance node within the TLAS.
16+
17+
* Instance mask - The mask specified for the instance node.
18+
19+
* X Position – The X-position of the instance in the scene.
20+
21+
* Y Position – The Y-position of the instance in the scene.
22+
23+
* Z Position – The Z-position of the instance in the scene.
24+
25+
* Transform[x][y] - The instance transform, comprising of the rotation and scaling components.
26+
27+
The columns can be sorted by clicking on them. The arrow in the heading shows if
28+
sorting is in ascending or decending order.
29+
30+
Typically, instances are created with their own local co-ordinate system. When
31+
placed in the scene, each instance requires a transformation from its local
32+
co-ordinate system to the world co-ordinate system. This is shown by the
33+
positional information in the table; if an instance is used more than once,
34+
each instance will have a unique position. If there are duplicate positions,
35+
then there are multiple instances at the same world position, which is
36+
redundant; the duplicates can be removed.
37+
38+
In some cases, the positions can all be 0. This just means that the instance
39+
has been created in world-space co-ordinates and does not need to be translated.
40+
This is typically done when only one instance of a BLAS is used in a scene.

documentation/source/blas_list.rst

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
The BLAS List
2+
-------------
3+
4+
The BLAS List tab displays a read-only table of BLAS properties and statistics.
5+
6+
.. image:: media/tlas/blas_list_1.png
7+
8+
The following fields are displayed:
9+
10+
* Address – The virtual address for the BLAS structure in application memory.
11+
12+
* Allow update - The state of the AllowUpdate build flag.
13+
14+
* Allow compaction - The state of the AllowCompaction build flag.
15+
16+
* Low memory - The state of the LowMemory build flag.
17+
18+
* Build type - The state of the FastTrace/FastBuild build flags.
19+
20+
* Instances – The number of instances of the given BLAS within the parent TLAS.
21+
22+
* Nodes – The total number of nodes in the BLAS, including leaf nodes.
23+
24+
* Boxes – The total number of box nodes within the BLAS, including both Box16 and Box32.
25+
26+
* 32-bit boxes – The total number of 32-bit box nodes in the BLAS.
27+
28+
* 16-bit boxes – The total number of 16-bit box nodes in the BLAS.
29+
30+
* Triangle nodes – The total number of triangle nodes within the BLAS.
31+
32+
* Procedural nodes – The total number of procedural nodes within the BLAS.
33+
34+
* Memory usage - The amount of GPU memory used to store this BLAS.
35+
36+
* Root SAH – The computed surface area heuristic for the BLAS.
37+
38+
* Min SAH – The minimum surface area heuristic for the BLAS.
39+
40+
* Mean SAH – The average surface area heuristic for the BLAS.
41+
42+
* Max. depth – The maximum depth of the BLAS.
43+
44+
* Avg. depth – The average depth of the BLAS.
45+
46+
The columns can be sorted by clicking on them. The arrow in the heading shows if
47+
sorting is in ascending or decending order.
48+
49+
Double-clicking an item in the table will jump to the BLAS Viewer pane and show
50+
the selected BLAS.
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
The BLAS Properties Tab
2+
-----------------------
3+
4+
The Properties tab displays a read-only table of properties and statistics for
5+
the selected BLAS.
6+
7+
.. image:: media/blas/blas_properties_1.png

documentation/source/blas_viewer.rst

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
The BLAS Viewer
2+
---------------
3+
4+
This pane is very similar to the TLAS viewer, except the leaf nodes are triangles
5+
instead of instances.
6+
7+
.. image:: media/blas/blas_viewer_1.png
8+
9+
The most commonly used widgets are available in a row below the pane tabs.
10+
11+
#. The **BLAS** dropdown allows selection of which BLAS to view.
12+
13+
#. **BVH Coloring** allows the bounding volume wireframes to be painted depending on a
14+
number of different parameters. See the TLAS documentation for more details on these
15+
coloring modes.
16+
17+
#. **Geometry coloring** allows the scene to be painted depending on a number of different
18+
parameters. The list of coloring modes is a subset used by the TLAS geometry modes
19+
combo box. See the TLAS documentation for more details on these coloring modes.
20+
21+
#. **Heatmap selection** allows changing the color scheme of the heatmap. See the
22+
TLAS documentation for more details on these coloring modes.
23+
24+
On the left will be information for the bottom level acceleration structure:
25+
26+
#. The treeview under the dropdown will show the structure of the BLAS. As seen here,
27+
the topmost level contains a Box32 structure. This Box32 contains 4 more Box32
28+
structures. The currently opened box shows a list of triangles inside this box.
29+
30+
#. The section below the treeview gives details about the currently selected node,
31+
including the surface area heuristic, and extents.
32+
33+
#. If the selected node is a triangle node then the triangle vertex positions will be
34+
displayed, as well as geometry flags of the geometry that the triangle is a part of.
35+
36+
In the center is a rendering of the bounding volume and geometry contained within that
37+
volume. Please see the TLAS help section for more information since the control modes
38+
and functionality is similar to the TLAS scene display.
39+
40+
It is possible to select individual triangles within the scene by clicking on a mesh within
41+
the viewport. The BLAS hierarchy tree view will expand as necessary to focus on the
42+
selected triangle node.
43+
44+
On the right are the same rendering and camera controls as seen in the TLAS pane; the functionality of
45+
these are nearly identical. The only difference is that there is no option to show instance transforms
46+
in the BLAS pane.

documentation/source/capture.rst

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
How to generate a BVH trace
2+
---------------------------
3+
4+
The first thing you will need to do is generate a BVH trace. Currently,
5+
this is done via the Radeon Developer Panel. Please read the documentation
6+
provided with this distribution for information on how to create a BVH trace.
7+
This can be obtained from within the Radeon Developer Panel or from the link
8+
on the Radeon Raytracing Analyzer “Welcome” view.

documentation/source/conf.py

Lines changed: 197 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,197 @@
1+
# -*- coding: utf-8 -*-
2+
#
3+
# Radeon Raytracing Analyzer documentation build configuration file, created by
4+
# sphinx-quickstart on Fri Jun 30 12:01:48 2017.
5+
#
6+
# This file is execfile()d with the current directory set to its
7+
# containing dir.
8+
#
9+
# Note that not all possible configuration values are present in this
10+
# autogenerated file.
11+
#
12+
# All configuration values have a default; values that are commented out
13+
# serve to show the default.
14+
15+
# If extensions (or modules to document with autodoc) are in another directory,
16+
# add these directories to sys.path here. If the directory is relative to the
17+
# documentation root, use os.path.abspath to make it absolute, like shown here.
18+
#
19+
# import os
20+
# import sys
21+
# sys.path.insert(0, os.path.abspath('.'))
22+
23+
24+
# -- General configuration ------------------------------------------------
25+
26+
# If your documentation needs a minimal Sphinx version, state it here.
27+
#
28+
# needs_sphinx = '1.0'
29+
30+
# Add any Sphinx extension module names here, as strings. They can be
31+
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
32+
# ones.
33+
extensions = []
34+
35+
# Add any paths that contain templates here, relative to this directory.
36+
templates_path = ['_templates']
37+
38+
# The suffix(es) of source filenames.
39+
# You can specify multiple suffix as a list of string:
40+
#
41+
# source_suffix = ['.rst', '.md']
42+
source_suffix = '.rst'
43+
44+
# The master toctree document.
45+
master_doc = 'index'
46+
47+
# General information about the project.
48+
project = u'Radeon Raytracing Analyzer'
49+
copyright = u'2022, Advanced Micro Devices, Inc. All rights reserved.'
50+
author = u'AMD Developer Tools'
51+
52+
# The version info for the project you're documenting, acts as replacement for
53+
# |version| and |release|, also used in various other places throughout the
54+
# built documents.
55+
#
56+
# The short X.Y version.
57+
version = u'1.0.0'
58+
# The full version, including alpha/beta/rc tags.
59+
release = u'1.0.0'
60+
61+
# The language for content autogenerated by Sphinx. Refer to documentation
62+
# for a list of supported languages.
63+
#
64+
# This is also used if you do content translation via gettext catalogs.
65+
# Usually you set "language" from the command line for these cases.
66+
language = None
67+
68+
# List of patterns, relative to source directory, that match files and
69+
# directories to ignore when looking for source files.
70+
# This patterns also effect to html_static_path and html_extra_path
71+
exclude_patterns = []
72+
73+
# The name of the Pygments (syntax highlighting) style to use.
74+
pygments_style = 'sphinx'
75+
76+
# If true, `todo` and `todoList` produce output, else they produce nothing.
77+
todo_include_todos = False
78+
79+
80+
# -- Options for HTML output ----------------------------------------------
81+
82+
# The theme to use for HTML and HTML Help pages. See the documentation for
83+
# a list of builtin themes.
84+
#
85+
html_theme = 'sphinx_rtd_theme'
86+
#html_theme = 'alabaster'
87+
#html_theme = 'classic'
88+
#html_theme = 'sphinxdoc'
89+
#html_theme = 'scrolls'
90+
#html_theme = 'agogo'
91+
#html_theme = 'traditional'
92+
#html_theme = 'nature'
93+
#html_theme = 'haiku'
94+
#html_theme = 'pyramid'
95+
#html_theme = 'bizstyle'
96+
97+
# Theme options are theme-specific and customize the look and feel of a theme
98+
# further. For a list of options available for each theme, see the
99+
# documentation.
100+
#
101+
# html_theme_options = {'stickysidebar': 'true'}
102+
103+
# Add any paths that contain custom static files (such as style sheets) here,
104+
# relative to this directory. They are copied after the builtin static files,
105+
# so a file named "default.css" will overwrite the builtin "default.css".
106+
html_static_path = ['_static']
107+
108+
# If a function setup(app) exists, Sphinx will call this function as a normal
109+
# extension during application startup. This method of using the overrides css
110+
# file works better with read the docs (more so than specifying it via the
111+
# html_context tag)
112+
def setup(app):
113+
app.add_stylesheet('theme_overrides.css')
114+
115+
html_show_sourcelink = False
116+
html_show_sphinx = False
117+
118+
119+
# -- Options for HTMLHelp output ------------------------------------------
120+
121+
# Output file base name for HTML help builder.
122+
htmlhelp_basename = 'RaytracingAnalyzerdoc'
123+
124+
125+
# -- Options for LaTeX output ---------------------------------------------
126+
127+
latex_elements = {
128+
# The paper size ('letterpaper' or 'a4paper').
129+
#
130+
# 'papersize': 'letterpaper',
131+
132+
# The font size ('10pt', '11pt' or '12pt').
133+
#
134+
# 'pointsize': '10pt',
135+
136+
# Additional stuff for the LaTeX preamble.
137+
#
138+
# 'preamble': '',
139+
140+
# Latex figure (float) alignment
141+
#
142+
# 'figure_align': 'htbp',
143+
}
144+
145+
# Grouping the document tree into LaTeX files. List of tuples
146+
# (source start file, target name, title,
147+
# author, documentclass [howto, manual, or own class]).
148+
latex_documents = [
149+
(master_doc, 'RaytracingAnalyzer.tex', u'Raytracing Analyzer Documentation',
150+
u'AMD Developer Tools', 'manual'),
151+
]
152+
153+
154+
# -- Options for manual page output ---------------------------------------
155+
156+
# One entry per manual page. List of tuples
157+
# (source start file, name, description, authors, manual section).
158+
man_pages = [
159+
(master_doc, 'RaytracingAnalyzer', u'Raytracing Analyzer Documentation',
160+
[author], 1)
161+
]
162+
163+
164+
# -- Options for Texinfo output -------------------------------------------
165+
166+
# Grouping the document tree into Texinfo files. List of tuples
167+
# (source start file, target name, title, author,
168+
# dir menu entry, description, category)
169+
texinfo_documents = [
170+
(master_doc, 'RaytracingAnalyzer', u'Raytracing Analyzer Documentation',
171+
author, 'RaytracingAnalyzer', 'One line description of project.',
172+
'Miscellaneous'),
173+
]
174+
175+
176+
177+
# -- Options for Epub output ----------------------------------------------
178+
179+
# Bibliographic Dublin Core info.
180+
epub_title = project
181+
epub_author = author
182+
epub_publisher = author
183+
epub_copyright = copyright
184+
185+
# The unique identifier of the text. This can be a ISBN number
186+
# or the project homepage.
187+
#
188+
# epub_identifier = ''
189+
190+
# A unique identification for the text.
191+
#
192+
# epub_uid = ''
193+
194+
# A list of files that should not be packed into the epub file.
195+
epub_exclude_files = ['search.html']
196+
197+

0 commit comments

Comments
 (0)