Add support for primitive culling layout qualifier. (#2220)
* Add support for primitive culling layout qualifier. * Add error checks for primitive flags and negative test.
This commit is contained in:
9
Test/baseResults/spv.ext.RayPrimCull_Errors.rgen.out
Normal file
9
Test/baseResults/spv.ext.RayPrimCull_Errors.rgen.out
Normal file
@@ -0,0 +1,9 @@
|
||||
spv.ext.RayPrimCull_Errors.rgen
|
||||
ERROR: 0:3: 'primitive culling' : required extension not requested: GL_EXT_ray_flags_primitive_culling
|
||||
ERROR: 0:5: 'primitive_culling' : layout qualifier can not have storage qualifiers
|
||||
ERROR: 0:6: 'primitive_culling' : can only be applied as standalone
|
||||
ERROR: 0:7: 'primitive_culling' : can only be applied as standalone
|
||||
ERROR: 4 compilation errors. No code generated.
|
||||
|
||||
|
||||
SPIR-V is not generated for failed compile or link
|
||||
@@ -2,6 +2,7 @@
|
||||
#extension GL_EXT_ray_query : enable
|
||||
#extension GL_EXT_ray_flags_primitive_culling : enable
|
||||
|
||||
layout(primitive_culling);
|
||||
struct Ray
|
||||
{
|
||||
vec3 pos;
|
||||
|
||||
@@ -11,6 +11,7 @@ layout(shaderRecordEXT) buffer block
|
||||
vec3 origin;
|
||||
|
||||
};
|
||||
layout(primitive_culling);
|
||||
void main()
|
||||
{
|
||||
uint lx = gl_LaunchIDEXT.x;
|
||||
|
||||
10
Test/spv.ext.RayPrimCull_Errors.rgen
Normal file
10
Test/spv.ext.RayPrimCull_Errors.rgen
Normal file
@@ -0,0 +1,10 @@
|
||||
#version 460
|
||||
#extension GL_EXT_ray_tracing : enable
|
||||
layout(primitive_culling);
|
||||
#extension GL_EXT_ray_flags_primitive_culling : enable
|
||||
layout(primitive_culling) uniform;
|
||||
layout(primitive_culling, binding = 2) uniform accelerationStructureEXT as;
|
||||
layout(std140, binding = 2, primitive_culling) buffer block { int x; };
|
||||
void main()
|
||||
{
|
||||
}
|
||||
Reference in New Issue
Block a user