File tree Expand file tree Collapse file tree 1 file changed +10
-0
lines changed Expand file tree Collapse file tree 1 file changed +10
-0
lines changed Original file line number Diff line number Diff line change @@ -5219,6 +5219,7 @@ lvk::ShaderModuleState lvk::VulkanContext::createShaderModuleFromGLSL(ShaderStag
52195219 )" ;
52205220 }
52215221 if (vkStage == VK_SHADER_STAGE_FRAGMENT_BIT) {
5222+ const bool bInjectTLAS = strstr (source, " kTLAS[" ) != nullptr ;
52225223 // Note how nonuniformEXT() should be used:
52235224 // https://github.com/KhronosGroup/Vulkan-Samples/blob/main/shaders/descriptor_indexing/nonuniform-quads.frag#L33-L39
52245225 sourcePatched += R"(
@@ -5228,7 +5229,16 @@ lvk::ShaderModuleState lvk::VulkanContext::createShaderModuleFromGLSL(ShaderStag
52285229 #extension GL_EXT_nonuniform_qualifier : require
52295230 #extension GL_EXT_samplerless_texture_functions : require
52305231 #extension GL_EXT_shader_explicit_arithmetic_types_float16 : require
5232+ )" ;
5233+ if (bInjectTLAS) {
5234+ sourcePatched += R"(
5235+ #extension GL_EXT_buffer_reference : require
5236+ #extension GL_EXT_ray_query : require
52315237
5238+ layout(set = 0, binding = 4) uniform accelerationStructureEXT kTLAS[];
5239+ )" ;
5240+ }
5241+ sourcePatched += R"(
52325242 layout (set = 0, binding = 0) uniform texture2D kTextures2D[];
52335243 layout (set = 1, binding = 0) uniform texture3D kTextures3D[];
52345244 layout (set = 2, binding = 0) uniform textureCube kTexturesCube[];
You can’t perform that action at this time.
0 commit comments