Skip to content

Commit 6ab645e

Browse files
committed
Update documentation and source code for RRA v1.10
1 parent 0c27cde commit 6ab645e

475 files changed

Lines changed: 3614 additions & 1261 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

BUILD.md

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,15 @@ This can be installed once Python is installed, as follows:
3333
* pip install -U sphinx
3434
* pip install sphinx_rtd_theme
3535

36-
Run the python pre_build.py script in the build folder from a command prompt. If no command line options are provided, the defaults will be used (Qt 6.7.0 and Visual Studio 2022)
37-
36+
Run the python pre_build.py script from a command prompt. If no command line options are provided, the defaults will be used (Qt 6.7.0 and Visual Studio 2022)
37+
```bash
38+
python3 build\pre_build.py
39+
```
40+
or
41+
```bash
42+
cd build
43+
python3 pre_build.py
44+
```
3845
Some useful options of the pre_build.py script:
3946
* --vs <Visual Studio version>: generate the solution files for a specific Visual Studio version. For example, to target Visual Studio 2017, add --vs 2017 to the command.
4047
* --qt <path>: full path to the folder from where you would like the Qt binaries to be retrieved. By default, CMake would try to auto-detect Qt on the system.
@@ -73,8 +80,9 @@ XCB libraries are required for Qt v5 and above. These can be installed by using:
7380
sudo apt-get install libxcb-cursor-dev
7481
```
7582

76-
Run the python pre_build.py in the build folder.
83+
Run the python pre_build.py script.
7784
```bash
85+
cd build
7886
python3 pre_build.py
7987
```
8088
Or run the pre_build.py script with the -qt option to specify another version of Qt. For example:

CMakeLists.txt

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ project(RRA)
1616

1717
# Define version information
1818
set(RRA_MAJOR_VERSION 1)
19-
set(RRA_MINOR_VERSION 9)
19+
set(RRA_MINOR_VERSION 10)
2020
if (NOT RRA_BUGFIX_NUMBER)
2121
set(RRA_BUGFIX_NUMBER 0)
2222
endif ()
@@ -123,6 +123,7 @@ endif()
123123
add_subdirectory(source/backend backend)
124124
add_subdirectory(source/frontend frontend)
125125
add_subdirectory(source/renderer renderer)
126+
add_subdirectory(test/source/backend_test backend_test)
126127

127128
# Group external dependency targets into folder
128129
IF(WIN32)
@@ -140,6 +141,7 @@ ENDIF(WIN32)
140141

141142
## Copy Documentation and Samples to output directory. Note - this target is intentionally not included in
142143
## the default project build. It needs to be explicitly built as a separate project
144+
143145
set(DOCS_OUTPUT_DIR ${CMAKE_BINARY_DIR})
144146

145147
# group sphinx source files into a sphinx folder
@@ -205,6 +207,7 @@ if (WIN32)
205207
install(PROGRAMS ${CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS} DESTINATION . COMPONENT apps)
206208
endif (WIN32)
207209

210+
208211
# CPack packaging
209212

210213
set(CPACK_ARCHIVE_COMPONENT_INSTALL ON)
@@ -213,6 +216,7 @@ set(CPACK_COMPONENTS_GROUPING IGNORE)
213216
set(CPACK_ARCHIVE_APPS_FILE_NAME "RadeonRaytracingAnalyzer_${RRA_MAJOR_VERSION}.${RRA_MINOR_VERSION}.${RRA_BUGFIX_NUMBER}.${RRA_BUILD_NUMBER}")
214217
set(CPACK_ARCHIVE_DEBUG_FILE_NAME "RadeonRaytracingAnalyzer-PDB_${RRA_MAJOR_VERSION}.${RRA_MINOR_VERSION}.${RRA_BUGFIX_NUMBER}.${RRA_BUILD_NUMBER}")
215218

219+
216220
include(CPack)
217221

218222
cpack_add_component(apps
@@ -222,3 +226,5 @@ cpack_add_component(debug
222226
DISPLAY_NAME "Debug Symbols"
223227
DESCRIPTION "Debug Symbols")
224228

229+
230+

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,8 @@ to reduce performance bottlenecks.
4343
## Supported Operating Systems
4444
* Windows® 10
4545
* Windows® 11
46-
* Ubuntu 22.04 LTS (Vulkan only)
47-
* Ubuntu 24.04 LTS (Vulkan only)
46+
* Ubuntu® 24.04 LTS (Vulkan only)
47+
* With the introduction of 25.20-based Linux drivers, the AMDVLK driver is no longer included in the amdgpu-pro driver package. This is a result of the AMDVLK open-source project being discontinued as mentioned [here](https://github.com/GPUOpen-Drivers/AMDVLK/discussions/416). Instead, the RADV open-source Vulkan® driver is installed by default. Consequently, the Radeon Developer Panel does not support capturing data from Vulkan applications when using these newer driver releases. To analyze Linux Vulkan workloads with Radeon GPU Profiler (RGP), Radeon Raytracing Analyzer (RRA), or Radeon Memory Visualizer (RMV), users can opt for a 25.10-based driver. Alternatively, analysis can be performed using the data capture mechanism integrated within the RADV driver, although this method is not supported by the Radeon Developer Panel. For more information on configuring RADV, refer to the environment variable documentation, specifically the [MESA_VK_TRACE_* environment variables](https://docs.mesa3d.org/envvars.html#envvar-MESA_VK_TRACE) which can be utilized for enabling and configuring tracing.
4848

4949
## Build instructions
5050
See [BUILD.md](BUILD.md) for more details.

RELEASE_NOTES.txt

Lines changed: 18 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,11 @@
1-
Radeon Raytracing Analyzer V1.9 06/17/2025
2-
------------------------------------------
1+
Radeon Raytracing Analyzer V1.10
2+
--------------------------------
33

4-
V1.9 Changes
4+
V1.10 Changes
55
------------------------------------
6-
1) Addition of an index column to the BLAS/TLAS tables.
7-
2) Change the heatmap grayscaling on the Ray Dispatches pane so it doesn't clash with the grayed out image when selecting a region.
8-
3) Allow selecting the previous and next rays from the Dispatch coordinates table directly from the Ray Inspector pane.
9-
4) Bug/stability fixes.
6+
1) Uncheck checkboxes for disabled nodes in the BLAS/TLAS viewer treeviews.
7+
2) Fix the triangle area calculation for very small triangles.
8+
3) Bug/stability fixes.
109

1110
Known Issues
1211
------------------------------------
@@ -20,12 +19,22 @@ Known Issues
2019
(8) The axis free camera does not properly "Jump to ray" when the view is reset with 'F' key press.
2120
(9) Only the X dimension is captured for the applications that use indirect dispatches.
2221
(10) The FOV and camera speed does not get properly transmitted when jumping from ray inspector to TLAS viewer via the links on the left panel.
23-
(11) The ray dispatches feature is currently experimental on Linux and requires at least 16GB of system memory to work reliably in most cases.
24-
(12) Please ensure to load RRA scenes on a machine with a similar GPU to the GPU that was used to capture the trace. Large scenes (those taken at 4K) typically require a large amount of video memory so may not load on lower end GPUs.
22+
(11) Please ensure to load RRA scenes on a machine with a similar GPU to the GPU that was used to capture the trace. Large scenes (those taken at 4K) typically require a large amount of video memory so may not load on lower end GPUs.
23+
(12) If any dispatches in the Dispatch list show as having malformed data in RRA, try increasing the Ray dispatch buffer size in the Radeon Developer Panel.
24+
(13) The ray dispatches feature is currently experimental on Linux and requires at least 16GB of system memory to work reliably in most cases.
25+
(14) With the introduction of 25.20-based Linux drivers, the AMDVLK driver is no longer included in the amdgpu-pro driver package. This is a result of the AMDVLK open-source project being discontinued as mentioned here (https://github.com/GPUOpen-Drivers/AMDVLK/discussions/416). Instead, the RADV open-source Vulkan® driver is installed by default. Consequently, the Radeon Developer Panel does not support capturing data from Vulkan applications when using these newer driver releases. To analyze Linux Vulkan workloads with Radeon GPU Profiler (RGP), Radeon Raytracing Analyzer (RRA), or Radeon Memory Visualizer (RMV), users can opt for a 25.10-based driver. Alternatively, analysis can be performed using the data capture mechanism integrated within the RADV driver, although this method is not supported by the Radeon Developer Panel. For more information on configuring RADV, refer to the environment variable documentation, specifically the MESA_VK_TRACE_* environment variables (https://docs.mesa3d.org/envvars.html#envvar-MESA_VK_TRACE) which can be utilized for enabling and configuring tracing.
26+
(15) When using a 25.10-based driver or older: Installations of Ubuntu 20.04 or newer may have the RADV open source Vulkan driver installed by default on the system. As a result, after an amdgpu-pro driver install, the default Vulkan ICD may be the RADV ICD. In order to capture a profile, Vulkan applications must be using the amdgpu-pro Vulkan ICD. The default Vulkan ICD can be overridden by setting the following environment variable before launching a Vulkan application: VK_ICD_FILENAMES=/etc/vulkan/icd.d/amd_icd64.json.
2527

2628
Release Notes History
2729
------------------------------------
2830

31+
V1.9 Changes
32+
------------------------------------
33+
1) Addition of an index column to the BLAS/TLAS tables.
34+
2) Change the heatmap grayscaling on the Ray Dispatches pane so it doesn't clash with the grayed out image when selecting a region.
35+
3) Allow selecting the previous and next rays from the Dispatch coordinates table directly from the Ray Inspector pane.
36+
4) Bug/stability fixes.
37+
2938
V1.8 Changes
3039
------------------------------------
3140
1) Support for AMD Radeon RX 9000 series GPUs.

build/dependency_map.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,14 +22,16 @@
2222
# each git dependency has a desired directory where it will be cloned - along with a commit to checkout
2323
# The third parameter in the value field is whether to do a shallow clone. Usually, this will be True but if a commit hash is used as a branch, a full clone is needed.
2424
git_mapping = {
25-
github_tools + "qt_common" : ["../external/qt_common", "v4.2.0", True],
25+
github_tools + "qt_common" : ["../external/qt_common", "v4.3.0", True],
2626
github_tools + "update_check_api" : ["../external/update_check_api", "v2.1.1", True],
2727
github_tools + "system_info_utils" : ["../external/system_info_utils", "v2.1", True],
2828
github_root + "g-truc/glm" : ["../external/third_party/glm", "1.0.0", True],
2929
github_root + "KhronosGroup/Vulkan-Headers" : ["../external/third_party/vulkan", "sdk-1.3.211", True],
3030
github_root + "zeux/volk" : ["../external/third_party/volk", "1.2.190", True],
3131
github_root + "GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator" : ["../external/vma", "d2f0313d20c803f83cc3637ac1facf8e4d6899e4", False],
32-
github_root + "GPUOpen-Drivers/libamdrdf" : ["../external/rdf", "v1.4.0", True],
32+
github_root + "GPUOpen-Drivers/libamdrdf" : ["../external/rdf", "v1.4.2", True],
33+
34+
github_root + "catchorg/Catch2" : ["../external/third_party/catch2", "v2.13.6", True],
3335
}
3436

3537
# Downloads required for Windows builds.

build/pre_build.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -179,6 +179,7 @@ def check_qt_path(qt_root, qt_root_arg, qt_arg):
179179
if args.platform == "x86":
180180
cmake_output_dir += args.platform
181181

182+
182183
# Clean all files generated by this script or the build process
183184
if (args.clean):
184185
log_print ("Cleaning build ...\n")
@@ -212,6 +213,7 @@ def check_qt_path(qt_root, qt_root_arg, qt_arg):
212213
qt_expanded_root = os.path.expanduser(args.qt_root)
213214
qt_found,qt_path = check_qt_path(qt_expanded_root, args.qt_root, args.qt)
214215

216+
215217
if qt_found == False:
216218
log_error_and_exit(qt_path)
217219

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.9.0'
57+
version = u'1.10.0'
5858
# The full version, including alpha/beta/rc tags.
59-
release = u'1.9.0'
59+
release = u'1.10.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: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,10 +43,10 @@ Supported graphics APIs, RDNA hardware, and operating systems
4343

4444
- Windows® 11
4545

46-
- Ubuntu® 22.04 LTS (Vulkan only)
47-
4846
- Ubuntu® 24.04 LTS (Vulkan only)
4947

48+
- With the introduction of 25.20-based Linux drivers, the AMDVLK driver is no longer included in the amdgpu-pro driver package. This is a result of the AMDVLK open-source project being discontinued as mentioned `here <https://github.com/GPUOpen-Drivers/AMDVLK/discussions/416>`_. Instead, the RADV open-source Vulkan® driver is installed by default. Consequently, the Radeon Developer Panel does not support capturing data from Vulkan applications when using these newer driver releases. To analyze Linux Vulkan workloads with Radeon GPU Profiler (RGP), Radeon Raytracing Analyzer (RRA), or Radeon Memory Visualizer (RMV), users can opt for a 25.10-based driver. Alternatively, analysis can be performed using the data capture mechanism integrated within the RADV driver, although this method is not supported by the Radeon Developer Panel. For more information on configuring RADV, refer to the environment variable documentation, specifically the `MESA_VK_TRACE_* environment variables <https://docs.mesa3d.org/envvars.html#envvar-MESA_VK_TRACE>`_ which can be utilized for enabling and configuring tracing.
49+
5050
DISCLAIMER
5151
----------
5252
The information contained herein is for informational purposes only, and is subject to change without notice. While every

source/backend/CMakeLists.txt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ set( SOURCES
2020
"public/rra_assert.h"
2121
"public/rra_async_ray_history_loader.h"
2222
"public/rra_blas.h"
23+
"public/rra_blas_header.h"
2324
"public/rra_bvh.h"
2425
"public/rra_error.h"
2526
"public/rra_macro.h"
@@ -28,6 +29,7 @@ set( SOURCES
2829
"public/rra_rtip_info.h"
2930
"public/rra_system_info.h"
3031
"public/rra_tlas.h"
32+
"public/rra_tlas_header.h"
3133
"public/rra_trace_loader.h"
3234

3335
# private backend files
@@ -42,6 +44,7 @@ set( SOURCES
4244
"rra_assert.cpp"
4345
"rra_async_ray_history_loader.cpp"
4446
"rra_blas.cpp"
47+
"rra_blas_header.cpp"
4548
"rra_blas_impl.h"
4649
"rra_bvh.cpp"
4750
"rra_bvh_impl.h"
@@ -53,6 +56,7 @@ set( SOURCES
5356
"rra_rtip_info.cpp"
5457
"rra_system_info.cpp"
5558
"rra_tlas.cpp"
59+
"rra_tlas_header.cpp"
5660
"rra_tlas_impl.h"
5761
"rra_trace_loader.cpp"
5862
"string_table.cpp"

source/backend/api_info.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -125,4 +125,3 @@ namespace rra
125125
}
126126

127127
} // namespace rra
128-

0 commit comments

Comments
 (0)