#version 460
#extension GL_NV_ray_tracing : require

layout(set = 0, binding = 1) uniform accelerationStructureNV as;
layout(location = 0) rayPayloadNV float payload;

float pure_call(vec2 launchID, vec2 launchSize)
{
    vec3 origin = vec3(launchID.x / launchSize.x, launchID.y / launchSize.y, 1.0);
    vec3 direction = vec3(0.0, 0.0, -1.0);
    traceNV(as, 0u, 255u, 0u, 1u, 0u, origin, 0.0, direction, 1000.0, 0);
    return 0.0;
}

void main()
{
    vec2 param = vec2(gl_LaunchIDNV.xy);
    vec2 param_1 = vec2(gl_LaunchSizeNV.xy);
    float _62 = pure_call(param, param_1);
}

