Skip to content

Commit 0c27cde

Browse files
committed
Update documentation and source code for RRA v1.9
1 parent 1fe3c6f commit 0c27cde

508 files changed

Lines changed: 3310 additions & 1931 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.

.clang-format

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@ BasedOnStyle: Google
22
IndentWidth: 4
33
UseTab: Never
44
ColumnLimit: 160
5+
56
Language: Cpp
67
AccessModifierOffset: -4
78
BreakBeforeBraces: Custom
89
BraceWrapping:
9-
1010
AfterCaseLabel: true
1111
AfterClass: true
1212
AfterControlStatement: true
@@ -23,7 +23,7 @@ BraceWrapping:
2323
SplitEmptyFunction: true
2424
SplitEmptyRecord: true
2525
SplitEmptyNamespace: true
26-
ConstructorInitializerAllOnOneLineOrOnePerLine : false
26+
ConstructorInitializerAllOnOneLineOrOnePerLine: false
2727
BreakConstructorInitializers: BeforeComma
2828
DerivePointerAlignment: false
2929
IndentCaseLabels: false
@@ -33,12 +33,13 @@ AlignConsecutiveDeclarations: true
3333
AlignEscapedNewlines: Left
3434
AlignTrailingComments: true
3535
AlignOperands: true
36-
AllowShortFunctionsOnASingleLine: false
36+
AllowShortFunctionsOnASingleLine: None
3737
AllowShortIfStatementsOnASingleLine: false
3838
AllowShortLoopsOnASingleLine: false
39-
AllowShortBlocksOnASingleLine: false
39+
AllowShortBlocksOnASingleLine: Never
4040
ReflowComments: false
41-
SortIncludes: false
41+
SortIncludes: CaseSensitive
42+
IncludeBlocks: Preserve
4243
SortUsingDeclarations: false
4344
BinPackArguments: false
4445
BinPackParameters: false

CMakeLists.txt

Lines changed: 39 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -7,15 +7,16 @@ cmake_minimum_required(VERSION 3.11)
77

88
set(SYSTEM_INFO_BUILD_RDF_INTERFACES ON)
99

10-
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake")
10+
11+
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
1112
include(dev_tools)
1213

1314
## Specify the top level name of the project - this will define the solution name for Visual Studio
1415
project(RRA)
1516

1617
# Define version information
1718
set(RRA_MAJOR_VERSION 1)
18-
set(RRA_MINOR_VERSION 8)
19+
set(RRA_MINOR_VERSION 9)
1920
if (NOT RRA_BUGFIX_NUMBER)
2021
set(RRA_BUGFIX_NUMBER 0)
2122
endif ()
@@ -26,8 +27,8 @@ string(TIMESTAMP DATE "\"%m/%d/%Y\"")
2627
string(TIMESTAMP YEAR "%Y")
2728
string(TIMESTAMP YEAR_STRING "\"%Y\"")
2829

29-
configure_file("${CMAKE_SOURCE_DIR}/Buildinfo.properties.in" "${CMAKE_SOURCE_DIR}/Buildinfo.properties")
30-
configure_file("${CMAKE_SOURCE_DIR}/source/frontend/version.h.in" "${CMAKE_SOURCE_DIR}/source/frontend/version.h")
30+
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/Buildinfo.properties.in" "${CMAKE_CURRENT_SOURCE_DIR}/Buildinfo.properties")
31+
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/source/frontend/version.h.in" "${CMAKE_CURRENT_SOURCE_DIR}/source/frontend/version.h")
3132

3233
# Add cmake utilities
3334
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
@@ -49,19 +50,23 @@ ENDIF()
4950

5051
# As default for RRA, include the debug status in filename - but not the platform bitness
5152
set (CMAKE_DEBUG_POSTFIX -d)
52-
set (CMAKE_RELEASE_POSTFIX)
53+
set (CMAKE_RELEASE_POSTFIX )
54+
5355

5456
# Add definitions for supported hardware
5557
add_definitions(-DGPURT_BUILD_RTIP3)
5658
add_definitions(-DGPURT_BUILD_RTIP3_1)
5759

60+
# Add definitions needed by GLM
61+
add_definitions(-DGLM_ENABLE_EXPERIMENTAL)
62+
5863
# Add for CentOS compiler warning
5964
add_definitions(-DJSON_SKIP_UNSUPPORTED_COMPILER_CHECK)
6065

61-
include_directories("${PROJECT_SOURCE_DIR}/external/")
62-
include_directories("${PROJECT_SOURCE_DIR}/external/qt_common/")
63-
include_directories("${PROJECT_SOURCE_DIR}/external/third_party/")
64-
include_directories("${PROJECT_SOURCE_DIR}/external/third_party/vulkan/include/")
66+
include_directories("${CMAKE_CURRENT_SOURCE_DIR}/external/")
67+
include_directories("${CMAKE_CURRENT_SOURCE_DIR}/external/qt_common/")
68+
include_directories("${CMAKE_CURRENT_SOURCE_DIR}/external/third_party/")
69+
include_directories("${CMAKE_CURRENT_SOURCE_DIR}/external/third_party/vulkan/include/")
6570

6671
# Global compiler options
6772
IF(WIN32)
@@ -102,10 +107,19 @@ MACRO(SOURCE_GROUP_BY_FOLDER target)
102107
ENDIF (files)
103108
ENDMACRO(SOURCE_GROUP_BY_FOLDER)
104109

105-
add_subdirectory(external/qt_common qt_common)
106-
add_subdirectory(external/rdf/imported/zstd)
107-
add_subdirectory(external/rdf/rdf)
108-
add_subdirectory(external/system_info_utils)
110+
if (NOT TARGET QtUtils)
111+
add_subdirectory(external/qt_common qt_common)
112+
endif()
113+
114+
if (NOT TARGET amdrdf)
115+
add_subdirectory(external/rdf/imported/zstd)
116+
add_subdirectory(external/rdf/rdf)
117+
endif()
118+
119+
if (NOT TARGET system_info)
120+
add_subdirectory(external/system_info_utils)
121+
endif()
122+
109123
add_subdirectory(source/backend backend)
110124
add_subdirectory(source/frontend frontend)
111125
add_subdirectory(source/renderer renderer)
@@ -126,25 +140,20 @@ ENDIF(WIN32)
126140

127141
## Copy Documentation and Samples to output directory. Note - this target is intentionally not included in
128142
## the default project build. It needs to be explicitly built as a separate project
129-
130-
# Determine where the build process will be placing the binary files
131-
# This is evaluated at project build time - not at CMake generation time
132-
set(BUILD_ROOT $<$<CONFIG:debug>:${CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG}>$<$<CONFIG:release>:${CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE}>)
133-
134-
set(DOCS_OUTPUT_DIR ${BUILD_ROOT})
143+
set(DOCS_OUTPUT_DIR ${CMAKE_BINARY_DIR})
135144

136145
# group sphinx source files into a sphinx folder
137-
file(GLOB SPHINX_DOC_FILES ${SPHINX_DOC_FILES} ${CMAKE_SOURCE_DIR}/documentation/source/*.rst)
138-
set (SPHINX_DOC_MAIN ${CMAKE_SOURCE_DIR}/documentation/source/conf.py)
146+
file(GLOB SPHINX_DOC_FILES ${SPHINX_DOC_FILES} ${CMAKE_CURRENT_SOURCE_DIR}/documentation/source/*.rst)
147+
set (SPHINX_DOC_MAIN ${CMAKE_CURRENT_SOURCE_DIR}/documentation/source/conf.py)
139148
set (ALL_SPHINX_FILES ${SPHINX_DOC_FILES} ${SPHINX_DOC_MAIN})
140149
source_group("sphinx" FILES ${ALL_SPHINX_FILES})
141150

142151
# group release documents into a release_docs folder
143152
set (RELEASE_DOCS_IN_ROOT
144-
${CMAKE_SOURCE_DIR}/README.md
145-
${CMAKE_SOURCE_DIR}/RELEASE_NOTES.txt
146-
${CMAKE_SOURCE_DIR}/NOTICES.txt
147-
${CMAKE_SOURCE_DIR}/LICENSE.txt
153+
${CMAKE_CURRENT_SOURCE_DIR}/README.md
154+
${CMAKE_CURRENT_SOURCE_DIR}/RELEASE_NOTES.txt
155+
${CMAKE_CURRENT_SOURCE_DIR}/NOTICES.txt
156+
${CMAKE_CURRENT_SOURCE_DIR}/LICENSE.txt
148157
)
149158
set (RELEASE_DOCS ${RELEASE_DOCS_IN_ROOT})
150159
source_group("release_docs" FILES ${RELEASE_DOCS})
@@ -160,25 +169,25 @@ if(SPHINX_EXECUTABLE)
160169
# this ensures the sphinx docs are built everytime you ask to build the Documentation target
161170
# Sphinx has proper dependency checking, so this works as expected.
162171
# Once built, clean up any unneeded files.
163-
add_custom_target(Documentation ALL SOURCES ${ALL_SPHINX_FILES} ${RELEASE_DOCS} DEPENDS sphinx_output)
172+
add_custom_target(RRADocumentation ALL SOURCES ${ALL_SPHINX_FILES} ${RELEASE_DOCS} DEPENDS sphinx_output)
164173
add_custom_command(MAIN_DEPENDENCY ${SPHINX_DOC_MAIN} OUTPUT sphinx_output
165174
COMMAND ${CMAKE_COMMAND} -E echo "building Sphinx documentation"
166-
COMMAND ${SPHINX_EXECUTABLE} ${CMAKE_SOURCE_DIR}/documentation/source ${DOCS_OUTPUT_DIR}/help/rra/. -t ${SPHINX_OPTION}
175+
COMMAND ${SPHINX_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/documentation/source ${DOCS_OUTPUT_DIR}/help/rra/. -t ${SPHINX_OPTION}
167176
COMMAND ${CMAKE_COMMAND} -E remove_directory ${DOCS_OUTPUT_DIR}/help/rra/.doctrees
168177
)
169178
install(DIRECTORY ${DOCS_OUTPUT_DIR}/help DESTINATION . COMPONENT apps)
170179
else()
171180
message(WARNING "SPHINX_EXECUTABLE (sphinx-build) is not found! Documentation will not be built!")
172181
# If the sphinx binary isn't found, then just create the Documentation project with only the release docs in it.
173-
add_custom_target(Documentation ALL SOURCES ${ALL_SPHINX_FILES} ${RELEASE_DOCS})
182+
add_custom_target(RRADocumentation ALL SOURCES ${ALL_SPHINX_FILES} ${RELEASE_DOCS})
174183
endif()
175184

176-
add_custom_command(TARGET Documentation POST_BUILD
185+
add_custom_command(TARGET RRADocumentation POST_BUILD
177186
COMMAND ${CMAKE_COMMAND} -E echo "copying Documentation to output directory"
178187
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${RELEASE_DOCS_IN_ROOT} ${DOCS_OUTPUT_DIR}/.
179188
COMMAND ${CMAKE_COMMAND} -E echo "copying Samples to output directory"
180189
COMMAND ${CMAKE_COMMAND} -E make_directory ${DOCS_OUTPUT_DIR}/samples
181-
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${CMAKE_SOURCE_DIR}/samples/landscape.rra ${DOCS_OUTPUT_DIR}/samples/sample_trace.rra
190+
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${CMAKE_CURRENT_SOURCE_DIR}/samples/landscape.rra ${DOCS_OUTPUT_DIR}/samples/sample_trace.rra
182191
)
183192

184193
install(FILES
@@ -213,5 +222,3 @@ cpack_add_component(debug
213222
DISPLAY_NAME "Debug Symbols"
214223
DESCRIPTION "Debug Symbols")
215224

216-
217-

RELEASE_NOTES.txt

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

4-
V1.8 Changes
4+
V1.9 Changes
55
------------------------------------
6-
1) Support for AMD Radeon RX 9000 series GPUs
7-
2) Support for the Wayland display manager on Ubuntu.
8-
3) Bug/stability fixes.
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.
910

1011
Known Issues
1112
------------------------------------
@@ -25,6 +26,12 @@ Known Issues
2526
Release Notes History
2627
------------------------------------
2728

29+
V1.8 Changes
30+
------------------------------------
31+
1) Support for AMD Radeon RX 9000 series GPUs.
32+
2) Support for the Wayland display manager on Ubuntu.
33+
3) Bug/stability fixes.
34+
2835
V1.7 Changes
2936
------------------------------------
3037
1) Dark mode user interface support, allowing the user to choose between a light and dark theme (or have RRA follow the OS theme setting).

build/dependency_map.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
github_tools + "qt_common" : ["../external/qt_common", "v4.2.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],
28-
github_root + "g-truc/glm" : ["../external/third_party/glm", "0.9.9.8", True],
28+
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],

build/pre_build.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -272,6 +272,7 @@ def generate_config(config):
272272
elif args.toolchain == "2017":
273273
cmake_args.extend(["-Tv141"])
274274

275+
275276
if sys.platform.startswith('linux'):
276277
if args.qt_system:
277278
cmake_args.extend(["-DQT_SYSTEM:BOOL=TRUE"])
@@ -375,7 +376,7 @@ def generate_config(config):
375376

376377
cmake_args = ["cmake", "--build", build_dir, "--parallel", args.build_jobs]
377378

378-
cmake_args_docs = ["cmake", "--build", build_dir, "--target", "Documentation", "--parallel", args.build_jobs]
379+
cmake_args_docs = ["cmake", "--build", build_dir, "--target", "RRADocumentation", "--parallel", args.build_jobs]
379380
elif sys.platform == "win32":
380381
build_dir = cmake_output_dir
381382

@@ -385,7 +386,7 @@ def generate_config(config):
385386
cmake_args.append("/p:CodeAnalysisRuleSet=NativeMinimumRules.ruleset")
386387
cmake_args.append("/p:RunCodeAnalysis=true")
387388

388-
cmake_args_docs = ["cmake", "--build", build_dir, "--config", config, "--target", "Documentation", "--", "/m:" + args.build_jobs]
389+
cmake_args_docs = ["cmake", "--build", build_dir, "--config", config, "--target", "RRADocumentation", "--", "/m:" + args.build_jobs]
389390

390391
p = subprocess.Popen(cmake_args, cwd=cmake_output_dir, stderr=subprocess.STDOUT)
391392
p.wait()

documentation/requirements.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
# Defining requirements for docs
22
sphinx==5.3.0
33
sphinx_rtd_theme==1.1.1
4-
readthedocs-sphinx-search==0.1.1
4+
readthedocs-sphinx-search==0.3.2

documentation/source/blas_windows.rst

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,8 @@ Above the table is the base address of the BLAS used by all the instances.
103103

104104
The following fields are displayed:
105105

106+
* Row Id - The row index. This is an incrementing value starting at 0.
107+
106108
* Instance index - The API index for the instance.
107109

108110
* Instance address – The virtual GPU address for the instance node within the TLAS.
@@ -130,7 +132,7 @@ The following fields are displayed:
130132
* Transform[x][y] - The instance transform, comprising of the rotation and scaling components.
131133

132134
The columns can be sorted by clicking on them. The arrow in the heading shows if
133-
sorting is in ascending or descending order.
135+
sorting is in ascending or descending order. The Row Id cannot be sorted.
134136

135137
Typically, instances are created with their own local co-ordinate system. When
136138
placed in the scene, each instance requires a transformation from its local
@@ -150,6 +152,8 @@ address of the TLAS containing the BLAS.
150152

151153
The following fields are displayed:
152154

155+
* Row Id - The row index. This is an incrementing value starting at 0.
156+
153157
* Geometry index - The index of the geometry that the triangle belongs to.
154158

155159
* Opaque - Presence of the opaque geometry flag.
@@ -176,7 +180,7 @@ The following fields are displayed:
176180

177181
The columns can be sorted by clicking on the column header, apart from the vertex
178182
columns; sorting is disabled for these columns. The arrow in the heading shows if
179-
sorting is in ascending or descending order.
183+
sorting is in ascending or descending order. The Row Id cannot be sorted.
180184

181185
The Geometries Tab
182186
------------------
@@ -191,6 +195,8 @@ address of the TLAS containing the BLAS.
191195

192196
The following fields are displayed:
193197

198+
* Row Id - The row index. This is an incrementing value starting at 0.
199+
194200
* Geometry index - The index of the geometry in the BLAS. This refers to the first column in the triangles table.
195201

196202
* Opaque - Presence of the opaque geometry flag.
@@ -200,7 +206,7 @@ The following fields are displayed:
200206
* Primitive count - The number of primitives contained in the geometry.
201207

202208
The columns can be sorted by clicking on the column header. The arrow in the heading shows if
203-
sorting is in ascending or descending order.
209+
sorting is in ascending or descending order. The Row Id cannot be sorted.
204210

205211
The BLAS Properties Tab
206212
-----------------------

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.8.0'
57+
version = u'1.9.0'
5858
# The full version, including alpha/beta/rc tags.
59-
release = u'1.8.0'
59+
release = u'1.9.0'
6060

6161
# The language for content autogenerated by Sphinx. Refer to documentation
6262
# for a list of supported languages.
Lines changed: 2 additions & 2 deletions
Loading
Lines changed: 2 additions & 2 deletions
Loading

0 commit comments

Comments
 (0)