xref: /aosp_15_r20/external/angle/third_party/glslang/src/Test/spv.ext.RayGenShader.rgen (revision 8975f5c5ed3d1c378011245431ada316dfb6f244)
1#version 460
2#extension GL_EXT_ray_tracing : enable
3#extension GL_EXT_ray_flags_primitive_culling : enable
4#extension GL_EXT_opacity_micromap : enable
5layout(binding = 0) uniform accelerationStructureEXT accEXT0;
6layout(binding = 1, set = 0) uniform accelerationStructureEXT accEXT1; // Unused
7layout(binding = 2, r32ui) shadercallcoherent uniform uimage2D imageu;
8layout(location = 1) rayPayloadEXT vec4 payload;
9layout(shaderRecordEXT) buffer block
10{
11	vec3 dir;
12	vec3 origin;
13
14};
15layout(primitive_culling);
16void main()
17{
18    uint lx = gl_LaunchIDEXT.x;
19    uint ly = gl_LaunchIDEXT.y;
20    uint sx = gl_LaunchSizeEXT.x;
21    uint sy = gl_LaunchSizeEXT.y;
22    traceRayEXT(accEXT0, lx, ly, sx, sy, gl_RayFlagsSkipTrianglesEXT | gl_RayFlagsSkipAABBEXT | gl_RayFlagsForceOpacityMicromap2StateEXT, origin, 0.5f, dir, 0.75f, 1);
23}
24