1#version 460
2#extension GL_NV_displacement_micromap : enable
3#extension GL_EXT_ray_query : enable
4layout(binding = 1) uniform accelerationStructureEXT as;
5layout(binding = 0) buffer block {
6	vec3 op_pos;
7	vec2 op_bary;
8	uint op_hitmask;
9};
10void main()
11{
12	op_pos =  fetchMicroTriangleVertexPositionNV(as, 1, 1, 1,	ivec2(0,0));
13	op_pos += fetchMicroTriangleVertexPositionNV(as, 1, 1, 1,	ivec2(0,1));
14	op_pos += fetchMicroTriangleVertexPositionNV(as, 1, 1, 1,	ivec2(1,0));
15
16	op_bary =  fetchMicroTriangleVertexBarycentricNV(as, 1, 1, 1, ivec2(0,0));
17	op_bary += fetchMicroTriangleVertexBarycentricNV(as, 1, 1, 1, ivec2(0,1));
18	op_bary += fetchMicroTriangleVertexBarycentricNV(as, 1, 1, 1, ivec2(1,0));
19
20	op_hitmask = gl_HitKindFrontFacingTriangleEXT |
21	             gl_HitKindBackFacingTriangleEXT |
22	             gl_HitKindFrontFacingMicroTriangleNV |
23	             gl_HitKindBackFacingMicroTriangleNV;
24}
25