#version 460
#extension GL_NV_ray_tracing : enable
#extension GL_EXT_nonuniform_qualifier : enable
layout(binding = 0, set = 0) uniform accelerationStructureNV accNV0[];
layout(binding = 1, set = 0) uniform accelerationStructureNV accNV1[2];
layout(location = 0) rayPayloadNV vec4 payload;
layout(shaderRecordNV) buffer block
{
	vec3 dir;
	vec3 origin;
    int i;
};
void main()
{
    uint lx = gl_LaunchIDNV.x;
    uint ly = gl_LaunchIDNV.y;
    uint sx = gl_LaunchSizeNV.x;
    uint sy = gl_LaunchSizeNV.y;
    traceNV(accNV0[i], lx, ly, sx, sy, 0u, origin, 0.5f, dir, 0.75f, 1);
    traceNV(accNV1[i], lx, ly, sx, sy, 0u, origin, 0.5f, dir, 0.75f, 1);
    traceNV(accNV0[nonuniformEXT(i)], lx, ly, sx, sy, 0u, origin, 0.5f, dir, 0.75f, 1);
}
