#version 460
#extension GL_EXT_ray_tracing : enable
#extension GL_KHR_shader_subgroup_basic : enable
layout(location = 1) rayPayloadInEXT vec4 incomingPayload;
void main()
{
	uvec3 v0 = gl_LaunchIDEXT;
	uvec3 v1 = gl_LaunchSizeEXT;
	int v2 = gl_PrimitiveID;
	int v3 = gl_InstanceID;
	int v4 = gl_InstanceCustomIndexEXT;
	vec3 v5 = gl_WorldRayOriginEXT;
	vec3 v6 = gl_WorldRayDirectionEXT;
	vec3 v7 = gl_ObjectRayOriginEXT;
	vec3 v8 = gl_ObjectRayDirectionEXT;
	float v9 = gl_RayTminEXT;
	float v10 = gl_RayTmaxEXT;
	float v11 = gl_HitTEXT;
	uint v12 = gl_HitKindEXT;
	mat4x3 v13 = gl_ObjectToWorldEXT;
	mat4x3 v14 = gl_WorldToObjectEXT;
    int v15 = gl_GeometryIndexEXT;
    mat3x4 v16 = gl_ObjectToWorld3x4EXT;
    mat3x4 v17 = gl_WorldToObject3x4EXT;
	incomingPayload = vec4(0.5f);
	if (v2 == 1) {
	    ignoreIntersectionEXT;
	    v0.x++;
	}
	incomingPayload.x += float(gl_SubgroupSize);
	terminateRayEXT;
}
