yum-mirror/glslang

git clone https://git.yummers.dev/yum-mirror/glslang

Daniel KochImplement GL_EXT_opacity_micromap_ray_query_mode0e43b162

main
867 B20 linesraw
1#version 460
2#extension GL_EXT_ray_query : enable
3#extension GL_EXT_opacity_micromap_ray_query_mode : enable
4
5// Bare specialization-constant form where the built-in is also read in the shader body. Reading it
6// materializes the specialization constant, so the OpacityMicromapIdKHR execution mode must reference
7// that same constant (not a synthesized duplicate) - i.e. a single SpecId is emitted.
8layout(constant_id = 2) gl_EnableOpacityMicromapEXT;
9
10layout(set = 0, binding = 0) uniform accelerationStructureEXT topLevelAS;
11layout(set = 0, binding = 1, std430) buffer Out { uint enabled; } outBuf;
12
13void main()
14{
15    rayQueryEXT rq;
16    rayQueryInitializeEXT(rq, topLevelAS, gl_RayFlagsNoneEXT, 0xFFu,
17                          vec3(0.0), 0.1, vec3(0.0, 0.0, 1.0), 100.0);
18    rayQueryProceedEXT(rq);
19    outBuf.enabled = gl_EnableOpacityMicromapEXT ? 1u : 0u;
20}