Skip to content

Commit 1a64e82

Browse files
committed
Persist path tracer validation markers
1 parent b78500c commit 1a64e82

File tree

3 files changed

+467
-468
lines changed

3 files changed

+467
-468
lines changed

31_HLSLPathTracer/CMakeLists.txt

Lines changed: 32 additions & 85 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ if(NBL_BUILD_IMGUI)
3939
)
4040

4141
nbl_create_executable_project("" "" "${NBL_INCLUDE_SERACH_DIRECTORIES}" "${NBL_LIBRARIES}" "${NBL_EXECUTABLE_PROJECT_CREATION_PCH_TARGET}")
42+
target_compile_definitions(${EXECUTABLE_NAME} PRIVATE PATH_TRACER_BUILD_CONFIG_NAME=\"$<CONFIG>\")
4243
if(PATH_TRACER_BUILD_MODE STREQUAL "SPECIALIZED")
4344
target_compile_definitions(${EXECUTABLE_NAME} PRIVATE PATH_TRACER_BUILD_MODE_SPECIALIZED=1)
4445
else()
@@ -68,99 +69,47 @@ if(NBL_BUILD_IMGUI)
6869
)
6970
7071
set(SPIRV_FOLDER "SPIRV")
71-
set(SPIRV_INTERNAL_FOLDER "${SPIRV_FOLDER}/Internal")
72+
macro(PATH_TRACER_APPEND_SPIRV_RULE INPUT_FILE KEY_NAME)
73+
list(APPEND SPIRV_RULE_OBJECTS
74+
" {
75+
\"INPUT\": \"${INPUT_FILE}\",
76+
\"KEY\": \"${KEY_NAME}\"
77+
}"
78+
)
79+
endmacro()
80+
81+
set(SPIRV_RULE_OBJECTS "")
82+
PATH_TRACER_APPEND_SPIRV_RULE("app_resources/hlsl/spirv/pt.compute.sphere.proxy.hlsl" "pt.compute.sphere")
83+
PATH_TRACER_APPEND_SPIRV_RULE("app_resources/hlsl/spirv/pt.compute.sphere.rwmc.proxy.hlsl" "pt.compute.sphere.rwmc")
7284
if(PATH_TRACER_BUILD_MODE STREQUAL "SPECIALIZED")
73-
set(SPIRV_RULES_JSON_TEMPLATE [=[
74-
[
75-
{
76-
"INPUT": "app_resources/hlsl/spirv/pt.compute.sphere.proxy.hlsl",
77-
"KEY": "pt.compute.sphere"
78-
},
79-
{
80-
"INPUT": "app_resources/hlsl/spirv/pt.compute.sphere.rwmc.proxy.hlsl",
81-
"KEY": "pt.compute.sphere.rwmc"
82-
},
83-
{
84-
"INPUT": "app_resources/hlsl/spirv/pt.compute.triangle.linear.proxy.hlsl",
85-
"KEY": "pt.compute.triangle.linear"
86-
},
87-
{
88-
"INPUT": "app_resources/hlsl/spirv/pt.compute.triangle.persistent.proxy.hlsl",
89-
"KEY": "pt.compute.triangle.persistent"
90-
},
91-
{
92-
"INPUT": "app_resources/hlsl/spirv/pt.compute.triangle.rwmc.linear.proxy.hlsl",
93-
"KEY": "pt.compute.triangle.rwmc.linear"
94-
},
95-
{
96-
"INPUT": "app_resources/hlsl/spirv/pt.compute.triangle.rwmc.persistent.proxy.hlsl",
97-
"KEY": "pt.compute.triangle.rwmc.persistent"
98-
},
99-
{
100-
"INPUT": "app_resources/hlsl/spirv/pt.compute.rectangle.proxy.hlsl",
101-
"KEY": "pt.compute.rectangle"
102-
},
103-
{
104-
"INPUT": "app_resources/hlsl/spirv/pt.compute.rectangle.rwmc.linear.proxy.hlsl",
105-
"KEY": "pt.compute.rectangle.rwmc.linear"
106-
},
107-
{
108-
"INPUT": "app_resources/hlsl/spirv/pt.compute.rectangle.rwmc.persistent.proxy.hlsl",
109-
"KEY": "pt.compute.rectangle.rwmc.persistent"
110-
},
111-
{
112-
"INPUT": "app_resources/hlsl/resolve.comp.hlsl",
113-
"KEY": "pt.compute.resolve"
114-
},
115-
{
116-
"INPUT": "app_resources/hlsl/spirv/pt.misc.proxy.hlsl",
117-
"KEY": "pt.misc"
118-
}
119-
]
120-
]=])
85+
PATH_TRACER_APPEND_SPIRV_RULE("app_resources/hlsl/spirv/pt.compute.triangle.linear.proxy.hlsl" "pt.compute.triangle.linear")
86+
PATH_TRACER_APPEND_SPIRV_RULE("app_resources/hlsl/spirv/pt.compute.triangle.persistent.proxy.hlsl" "pt.compute.triangle.persistent")
87+
PATH_TRACER_APPEND_SPIRV_RULE("app_resources/hlsl/spirv/pt.compute.triangle.rwmc.linear.proxy.hlsl" "pt.compute.triangle.rwmc.linear")
88+
PATH_TRACER_APPEND_SPIRV_RULE("app_resources/hlsl/spirv/pt.compute.triangle.rwmc.persistent.proxy.hlsl" "pt.compute.triangle.rwmc.persistent")
89+
PATH_TRACER_APPEND_SPIRV_RULE("app_resources/hlsl/spirv/pt.compute.rectangle.rwmc.linear.proxy.hlsl" "pt.compute.rectangle.rwmc.linear")
90+
PATH_TRACER_APPEND_SPIRV_RULE("app_resources/hlsl/spirv/pt.compute.rectangle.rwmc.persistent.proxy.hlsl" "pt.compute.rectangle.rwmc.persistent")
12191
else()
122-
set(SPIRV_RULES_JSON_TEMPLATE [=[
92+
PATH_TRACER_APPEND_SPIRV_RULE("app_resources/hlsl/spirv/pt.compute.triangle.proxy.hlsl" "pt.compute.triangle")
93+
PATH_TRACER_APPEND_SPIRV_RULE("app_resources/hlsl/spirv/pt.compute.triangle.rwmc.proxy.hlsl" "pt.compute.triangle.rwmc")
94+
PATH_TRACER_APPEND_SPIRV_RULE("app_resources/hlsl/spirv/pt.compute.rectangle.rwmc.proxy.hlsl" "pt.compute.rectangle.rwmc")
95+
endif()
96+
PATH_TRACER_APPEND_SPIRV_RULE("app_resources/hlsl/spirv/pt.compute.rectangle.proxy.hlsl" "pt.compute.rectangle")
97+
PATH_TRACER_APPEND_SPIRV_RULE("app_resources/hlsl/resolve.comp.hlsl" "pt.compute.resolve")
98+
PATH_TRACER_APPEND_SPIRV_RULE("app_resources/hlsl/spirv/pt.misc.proxy.hlsl" "pt.misc")
99+
string(JOIN ",\n" PATH_TRACER_RULES_BODY ${SPIRV_RULE_OBJECTS})
100+
set(SPIRV_RULES_JSON_TEMPLATE [=[
123101
[
124-
{
125-
"INPUT": "app_resources/hlsl/spirv/pt.compute.sphere.proxy.hlsl",
126-
"KEY": "pt.compute.sphere"
127-
},
128-
{
129-
"INPUT": "app_resources/hlsl/spirv/pt.compute.sphere.rwmc.proxy.hlsl",
130-
"KEY": "pt.compute.sphere.rwmc"
131-
},
132-
{
133-
"INPUT": "app_resources/hlsl/spirv/pt.compute.triangle.proxy.hlsl",
134-
"KEY": "pt.compute.triangle"
135-
},
136-
{
137-
"INPUT": "app_resources/hlsl/spirv/pt.compute.triangle.rwmc.proxy.hlsl",
138-
"KEY": "pt.compute.triangle.rwmc"
139-
},
140-
{
141-
"INPUT": "app_resources/hlsl/spirv/pt.compute.rectangle.proxy.hlsl",
142-
"KEY": "pt.compute.rectangle"
143-
},
144-
{
145-
"INPUT": "app_resources/hlsl/spirv/pt.compute.rectangle.rwmc.proxy.hlsl",
146-
"KEY": "pt.compute.rectangle.rwmc"
147-
},
148-
{
149-
"INPUT": "app_resources/hlsl/resolve.comp.hlsl",
150-
"KEY": "pt.compute.resolve"
151-
},
152-
{
153-
"INPUT": "app_resources/hlsl/spirv/pt.misc.proxy.hlsl",
154-
"KEY": "pt.misc"
155-
}
102+
@PATH_TRACER_RULES_BODY@
156103
]
157104
]=])
158-
endif()
159105
string(CONFIGURE "${SPIRV_RULES_JSON_TEMPLATE}" SPIRV_RULES_JSON @ONLY)
106+
unset(SPIRV_RULE_OBJECTS)
107+
unset(PATH_TRACER_RULES_BODY)
160108
set(ALL_SPIRV_KEYS "")
161109
NBL_CREATE_NSC_COMPILE_RULES(
162110
DISCARD_DEFAULT_GLOB
163111
TARGET ${EXECUTABLE_NAME}SPIRV
112+
LINK_TO ${EXECUTABLE_NAME}
164113
BINARY_DIR ${OUTPUT_DIRECTORY}
165114
MOUNT_POINT_DEFINE NBL_THIS_EXAMPLE_BUILD_MOUNT_POINT
166115
COMMON_OPTIONS ${COMPILE_OPTIONS}
@@ -180,8 +129,6 @@ if(NBL_BUILD_IMGUI)
180129
BIND ${OUTPUT_DIRECTORY}
181130
BUILTINS ${SPIRV_KEYS}
182131
)
183-
set_target_properties(${EXECUTABLE_NAME}_builtinsBuild PROPERTIES FOLDER "${SPIRV_INTERNAL_FOLDER}")
184-
add_dependencies(${EXECUTABLE_NAME}_builtinsBuild ${EXECUTABLE_NAME}SPIRV)
185132

186133
if(NBL_EMBED_BUILTIN_RESOURCES)
187134
set(_BR_TARGET_ ${EXECUTABLE_NAME}_builtinResourceData)

31_HLSLPathTracer/include/nbl/this_example/builtin/build/spirv/keys.hpp

Lines changed: 0 additions & 61 deletions
This file was deleted.

0 commit comments

Comments
 (0)