2 #extension GL_EXT_ray_tracing : enable
3 #extension GL_EXT_nonuniform_qualifier : enable
4 #extension GL_ARB_gpu_shader_int64 : enable
5 layout(binding = 0, set = 0) uniform accelerationStructureEXT accEXT0[];
6 layout(binding = 1, set = 0) uniform accelerationStructureEXT accEXT1[2];
7 layout(location = 1) rayPayloadEXT vec4 payload;
8 layout(shaderRecordEXT) buffer block
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[i], lx, ly, sx, sy, 0u, origin, 0.5f, dir, 0.75f, 1);
23 traceRayEXT(accEXT1[i], lx, ly, sx, sy, 0u, origin, 0.5f, dir, 0.75f, 1);
24 traceRayEXT(accEXT0[nonuniformEXT(i)], lx, ly, sx, sy, 0u, origin, 0.5f, dir, 0.75f, 1);
25 traceRayEXT(accelerationStructureEXT(aHandle32), lx, ly, sx, sy, 0u, origin, 0.5f, dir, 0.75f, 1);
26 traceRayEXT(accelerationStructureEXT(aHandle64), lx, ly, sx, sy, 0u, origin, 0.5f, dir, 0.75f, 1);