#version 460
#extension GL_EXT_ray_tracing : enable
#extension GL_ARB_gpu_shader_int64 : enable
layout(location = 1) rayPayloadEXT vec4 payload;
// should get std430 layout
layout(shaderRecordEXT) buffer block
{
    vec3 dir;
    vec3 origin;
    int i;
    uvec2 aHandle32;
    uint64_t aHandle64;
    vec2 arr2[2];
    float a;
    vec3 arr3[2];
    float packme;
    vec2 b;
    float c;
};
void main()
{
    uint lx = gl_LaunchIDEXT.x;
    uint ly = gl_LaunchIDEXT.y;
    uint sx = gl_LaunchSizeEXT.x;
    uint sy = gl_LaunchSizeEXT.y;
    traceRayEXT(accelerationStructureEXT(aHandle32), lx, ly, sx, sy, 0u, origin, 0.5f, dir, 0.75f, 1);
    traceRayEXT(accelerationStructureEXT(aHandle64), lx, ly, sx, sy, 0u, origin, 0.5f, dir, 0.75f, 1);
}
