Add support for GL_NV_displacement_micromap.

* Add support for GL_NV_displacement_micromap.
* Update known_good for spirv-headers and spirv-tools.
This commit is contained in:
alelenv 2023-10-02 12:07:50 -07:00 committed by GitHub
parent 86151772b2
commit 3f02132668
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
23 changed files with 838 additions and 11 deletions

View file

@ -0,0 +1,24 @@
#version 460
#extension GL_NV_displacement_micromap : enable
#extension GL_EXT_ray_query : enable
layout(binding = 1) uniform accelerationStructureEXT as;
layout(binding = 0) buffer block {
vec3 op_pos;
vec2 op_bary;
uint op_hitmask;
};
void main()
{
op_pos = fetchMicroTriangleVertexPositionNV(as, 1, 1, 1, ivec2(0,0));
op_pos += fetchMicroTriangleVertexPositionNV(as, 1, 1, 1, ivec2(0,1));
op_pos += fetchMicroTriangleVertexPositionNV(as, 1, 1, 1, ivec2(1,0));
op_bary = fetchMicroTriangleVertexBarycentricNV(as, 1, 1, 1, ivec2(0,0));
op_bary += fetchMicroTriangleVertexBarycentricNV(as, 1, 1, 1, ivec2(0,1));
op_bary += fetchMicroTriangleVertexBarycentricNV(as, 1, 1, 1, ivec2(1,0));
op_hitmask = gl_HitKindFrontFacingTriangleEXT |
gl_HitKindBackFacingTriangleEXT |
gl_HitKindFrontFacingMicroTriangleNV |
gl_HitKindBackFacingMicroTriangleNV;
}