Skip to content

Commit 8b316b4

Browse files
committed
Add documentation for RRA 1.1 release
1 parent 6b59ea0 commit 8b316b4

27 files changed

+260
-108
lines changed

README.md

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,18 @@
11
# Radeon™ Raytracing Analyzer
22

3-
The Radeon Raytracing Analyzer (RRA) is a tool designed to help improve the raytracing performance of AMD GPU's that support raytracing.
3+
The Radeon Raytracing Analyzer (RRA) is a tool designed to help improve the raytracing performance of AMD GPUs that support raytracing.
44
The tool thus far focuses on the visualization of the Acceleration Structures, which consist of Bounding Volume Hierarchies.
55

66
Game developers are responsible for creating the acceleration structures and so need a method of visualizing these acceleration structures
77
and how they can affect performance.
88

99
RRA allows the developer to visualize the bounding box hierarchies, and related scene geometries, via a standard rasterizer renderer or using
10-
a traversal counter view which will quickly hightlight areas of concern. Once identified, the developer can revisit their BVH generation strategy
10+
a traversal counter view which will quickly highlight areas of concern. Once identified, the developer can revisit their BVH generation strategy
1111
to reduce performance bottlenecks.
1212

1313
## Getting Started
1414

15-
1. Install the latest AMD Video/display driver. Completely remove previously installed drivers. On Windows, the driver installation factory reset option should be used.
15+
1. Install the latest AMD Video/display driver. Completely remove previously installed drivers. On Windows, the driver installation factory reset option should be used.
1616
2. Unzip/Untar the download file. The directory includes the following:
1717
* Radeon Developer Service (RDS)
1818
* Radeon Developer Service CLI (RDS headless)
@@ -31,6 +31,7 @@ to reduce performance bottlenecks.
3131
* Vulkan
3232

3333
## Supported ASICs
34+
* AMD Radeon RX 7000 series
3435
* AMD Radeon RX 6000 series
3536

3637
## Supported Operating Systems

Release_Notes.txt

Lines changed: 21 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,21 @@
1-
Radeon Raytracing Analyzer V1.0 07/26/2022
1+
Radeon Raytracing Analyzer V1.1 12/14/2022
22
------------------------------------------
33

4-
V1.0
4+
V1.1 Changes
55
------------------------------------
6-
This is the first public release of the Radeon Raytracing Analyzer.
6+
1) Addition of an axis-free camera.
7+
2) Camera placed at 45 degrees above the scene on trace load.
8+
3) Support for rebraided instances:
9+
a) Coloring mode to show which instances are rebraided.
10+
b) Allow selection of rebraided siblings.
11+
4) Support for split triangles:
12+
a) Improved selection.
13+
b) Coloring mode to show which triangles are split.
14+
c) Sibling triangles shown and selectable from the UI.
15+
5) The 'Frustum cull ratio' in the settings has been replaced with "Small object culling". This should be more intuitive.
16+
6) Additional fields added to the instance and triangles tables.
17+
7) Keyboard shortcuts added for all panes on the Welcome and Settings lists. Some keys have also been remapped to avoid conflict with the Adrenaline software. See the documentation or keyboard shortcuts pane for details.
18+
8) Bug/stability fixes.
719

820
Known Issues
921
------------------------------------
@@ -15,3 +27,9 @@ Known Issues
1527
(6) Unicode folders and filenames are currently not supported.
1628
(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.
1729

30+
Release Notes History
31+
------------------------------------
32+
33+
V1.0
34+
------------------------------------
35+
This is the first public release of the Radeon Raytracing Analyzer.

documentation/source/blas_instance_list.rst

Lines changed: 14 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,21 @@ Above the table is the base address of the BLAS used by all the instances.
1010

1111
The following fields are displayed:
1212

13-
* Instance address – The virtual address for the instance node within the TLAS.
13+
* Instance index - The API index for the instance.
1414

15-
* Instance offset – The offset for the instance node within the TLAS.
15+
* Instance address – The virtual GPU address for the instance node within the TLAS.
1616

17-
* Instance mask - The mask specified for the instance node.
17+
* Instance offset – The relative address for the instance node with respect to the TLAS address.
18+
19+
* Instance mask - The mask specified for the instance node determining which trace ray calls will interact with it.
20+
21+
* Flip facing - Instance flag specifying whether triangles front face should be inverted.
22+
23+
* Force opaque - Instance flag specifying if this instance should be opaque regardless of geometry flags.
24+
25+
* Force no opaque - Instance flag specifying if this instance should be non-opaque regardless of geometry flags.
26+
27+
* Rebraid sibling count - If this instance was split into multiple instance nodes by the driver, this is how many sibling instance nodes this instance has.
1828

1929
* X Position – The X-position of the instance in the scene.
2030

@@ -30,11 +40,4 @@ sorting is in ascending or decending order.
3040
Typically, instances are created with their own local co-ordinate system. When
3141
placed in the scene, each instance requires a transformation from its local
3242
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.
43+
position and transform matrix in the table.

documentation/source/blas_list.rst

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,19 +17,19 @@ The following fields are displayed:
1717

1818
* Build type - The state of the FastTrace/FastBuild build flags.
1919

20-
* Instances – The number of instances of the given BLAS within the parent TLAS.
20+
* Instances – The number of instances of the given BLAS in all TLASes.
2121

2222
* Nodes – The total number of nodes in the BLAS, including leaf nodes.
2323

2424
* Boxes – The total number of box nodes within the BLAS, including both Box16 and Box32.
2525

26-
* 32-bit boxes – The total number of 32-bit box nodes in the BLAS.
26+
* 32-bit boxes – The total number of box nodes with 32-bit floating point precision bounding boxes in the BLAS.
2727

28-
* 16-bit boxes – The total number of 16-bit box nodes in the BLAS.
28+
* 16-bit boxes – The total number of box nodes with 16-bit floating point precision bounding boxes in the BLAS.
2929

3030
* Triangle nodes – The total number of triangle nodes within the BLAS.
3131

32-
* Procedural nodes – The total number of procedural nodes within the BLAS.
32+
* Procedural nodes – The total number of AABB nodes within the BLAS.
3333

3434
* Memory usage - The amount of GPU memory used to store this BLAS.
3535

documentation/source/blas_viewer.rst

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,3 +44,35 @@ selected triangle node.
4444
On the right are the same rendering and camera controls as seen in the TLAS pane; the functionality of
4545
these are nearly identical. The only difference is that there is no option to show instance transforms
4646
in the BLAS pane.
47+
48+
.. _triangle-splitting-label:
49+
50+
Triangle splitting
51+
~~~~~~~~~~~~~~~~~~
52+
Triangle splitting is another driver optimization that can be used if a triangle isn't axis aligned. This
53+
can result in a lot of empty space in the bounding volume. In this case, the triangle is split into
54+
smaller triangles, each with a smaller bounding volume. This reduces the triangle-area to bounding volume
55+
ratio.
56+
57+
It should be noted that all split triangles will share the same 3 triangle vertices, and parts of the
58+
triangle will lie outside of the split triangle bounding volume. This can be seen with geometry rendering
59+
(below).
60+
61+
.. image:: media/blas/split_triangles_1.png
62+
63+
Image (a) Shows the bounding volume around the entire triangle geometry. Notice that this triangle is about
64+
45 degrees to one of the axes; the unused space in the bounding volume can be clearly seen. Images (b) and (c)
65+
show the individual split triangles making up the triangle geometry in (a).
66+
67+
Since ray tracing deals with bounding volumes, only the part of the triangle inside the bounding volume
68+
will be considered. This can be seen with the traversal rendering, where only the area of the triangle inside
69+
the bounding volume is visible (below).
70+
71+
.. image:: media/blas/split_triangles_2.png
72+
73+
These 2 images are from the same scene, but seen from a slightly different angle.
74+
75+
When a split triangle is selected, the left-side pane will indicate that the triangle is split, as seen below.
76+
A list of the split triangle siblings is also shown, allowing easy selection.
77+
78+
.. image:: media/blas/split_triangles_stats_1.png

documentation/source/capture.rst

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,9 @@ The first thing you will need to do is generate a BVH trace. Currently,
55
this is done via the Radeon Developer Panel. Please read the documentation
66
provided with this distribution for information on how to create a BVH trace.
77
This can be obtained from within the Radeon Developer Panel or from the link
8-
on the Radeon Raytracing Analyzer “Welcome” view.
8+
on the Radeon Raytracing Analyzer “Welcome” view. The documentation is also
9+
available online at:
10+
http://radeon-developer-panel.readthedocs.io/en/latest/
11+
12+
This documentation can also be found online at:
13+
http://radeon-raytracing-analyzer.readthedocs.io/en/latest/

documentation/source/conf.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,9 +54,9 @@
5454
# built documents.
5555
#
5656
# The short X.Y version.
57-
version = u'1.0.0'
57+
version = u'1.1.0'
5858
# The full version, including alpha/beta/rc tags.
59-
release = u'1.0.0'
59+
release = u'1.1.0'
6060

6161
# The language for content autogenerated by Sphinx. Refer to documentation
6262
# for a list of supported languages.

documentation/source/index.rst

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ The Radeon™ Raytracing Analyzer (RRA)
44
The Radeon Raytracing Analyzer is a tool designed to help developers improve the raytracing performance on AMD Radeon 6000 series GPU's. The tool
55
focuses on the visualization of Acceleration Structures, which in our case consist of Bounding Volume Hierarchies. RRA allows the developer to
66
visualize the bounding box hierarchies, and related scene geometries, to quickly identify issues with the bounding volume hierarchies, such as
7-
overlaping bounding volumes and sparse geometry layout within bounding volumes. Once identified, the developer can revisit their BVH generation
7+
overlapping bounding volumes and sparse geometry layout within bounding volumes. Once identified, the developer can revisit their BVH generation
88
strategy.
99

1010
This document describes how the Radeon Raytracing Analyzer can be used to examine a bounding volume hierarchy.
@@ -20,6 +20,8 @@ Supported graphics APIs, RDNA hardware, and operating systems
2020

2121
\ **Supported RDNA hardware**
2222

23+
- AMD Radeon RX 7000 series
24+
2325
- AMD Radeon RX 6000 series
2426

2527
\ **Supported Operating Systems**
@@ -28,8 +30,6 @@ Supported graphics APIs, RDNA hardware, and operating systems
2830

2931
- Windows® 11
3032

31-
- Ubuntu 20.04 LTS (Vulkan only)
32-
3333
- Ubuntu 22.04 LTS (Vulkan only)
3434

3535
Radeon Raytracing Analyzer - Quick Start
Lines changed: 2 additions & 2 deletions
Loading
Lines changed: 2 additions & 2 deletions
Loading

0 commit comments

Comments
 (0)