1#version 460
2#pragma use_vulkan_memory_model
3#extension GL_EXT_ray_tracing : enable
4#extension GL_NV_shader_sm_builtins : enable
5#extension GL_KHR_shader_subgroup_ballot : enable
6#extension GL_ARB_shader_ballot : enable
7#extension GL_NV_shader_sm_builtins : enable
8layout(binding = 0, set = 0) uniform accelerationStructureEXT accEXT;
9layout(location = 1) rayPayloadInEXT vec4 incomingPayload;
10void main()
11{
12	traceRayEXT(accEXT, 0u, 1u, 2u, 3u, 0u, vec3(0.5f), 0.5f, vec3(1.0f), 0.75f, 1);
13        incomingPayload.x = float(gl_SubgroupInvocationID) + float(gl_SubGroupGeMaskARB) +
14			    float(gl_SubgroupGtMask) + float(gl_SubgroupLeMask) +
15                            float(gl_SubGroupLtMaskARB) + float(gl_SMIDNV);
16}
17