glslang/Test/spv.ext.RayGenShader_Errors.rgen
Daniel Koch ffccefddfd
Updates for final Vulkan ray tracing extensions (#2466)
* Fix traceRay/executeCallable to have id instead of constant.

Update to final (non-provisional) SPIR-V capabilities
(includes review feedback)
- Change visibilty of findLinkerObjects.

See merge request GLSL/glslang!78

* Add support for OpConvertUToAccelerationStructureKHR.

GLSL : https://gitlab.khronos.org/GLSL/GLSL/-/merge_requests/60

SPV : https://gitlab.khronos.org/spirv/spirv-extensions/-/merge_requests/182

See merge request GLSL/glslang!77

* Add volatile qualifier to certain builtins for ray tracing.

See merge request GLSL/glslang!81

* make gl_RayTmaxEXT volatile in intersection shader

Vulkan Issue #2268

* Add testing for layouts on SBT

vulkan/vulkan#2230

- no layout specified should be same as std430
- explicitly test std140, std430, scalar layouts

See merge request GLSL/glslang!86

* Support for new opcodes OpIgnoreIntersectionKHR and OpTerminateRayKHR

vulkan/vulkan#2374

Add support for ignoreIntersectionEXT and terminateRayEXT as block
terminator statements.

See merge request GLSL/glslang!87

* Fix code-generation issues with global ray query variables

See merge request GLSL/glslang!88

* update dependencies for spirv-headers and tools

And update mesh shader results

* Fix indeterminate argument ordering

Authored-by: David Neto <dneto@google.com>

Co-authored-by: Ashwin Lele (NVIDIA Corporation) <alele@nvidia.com>
Co-authored-by: Neslisah <Neslisah.Torosdagli@amd.com>
2020-11-23 13:41:27 -07:00

43 lines
2.7 KiB
Plaintext

#version 460
#extension GL_EXT_ray_tracing : enable
hitAttributeEXT vec4 payload; // ERROR, hitattributeEXT unsupported in this stage
rayPayloadInEXT vec4 payloadIn; // ERROR, rayPayloadIn unsupported in this stage
layout(shaderRecordEXT) uniform ublock // ERROR, shaderRecordEXT unsupported on uniform blocks
{
float a;
};
layout(binding = 0, shaderRecordEXT) buffer bblock { // ERROR, binding unsupported on shaderRecordEXT blocks
float b;
};
layout(set = 0, shaderRecordEXT) buffer bblock2 { // ERROR, set unsupported on shaderRecordEXT blocks
float c;
};
layout(shaderRecordEXT) buffer bblock3 {
float d;
};
layout(shaderRecordEXT) buffer bblock4 { // ERROR, cannot have more than one shaderRecordEXTX block
float e;
};
void main()
{
accelerationStructureEXT a = accelerationStructureEXT(c);
int e0 = gl_PrimitiveID; // ERROR, unsupported builtin in stage
int e1 = gl_InstanceID; // ERROR, unsupported builtin in stage
int e3 = gl_InstanceCustomIndexEXT; // ERROR, unsupported builtin in stage
vec3 e4 = gl_WorldRayOriginEXT; // ERROR, unsupported builtin in stage
vec3 e5 = gl_WorldRayDirectionEXT; // ERROR, unsupported builtin in stage
vec3 e6 = gl_ObjectRayOriginEXT; // ERROR, unsupported builtin in stage
vec3 e7 = gl_ObjectRayDirectionEXT; // ERROR, unsupported builtin in stage
float e8 = gl_RayTminEXT; // ERROR, unsupported builtin in stage
float e9 = gl_RayTmaxEXT; // ERROR, unsupported builtin in stage
mat4x3 e10 = gl_ObjectToWorldEXT; // ERROR, unsupported builtin in stage
mat4x3 e11 = gl_WorldToObjectEXT; // ERROR, unsupported builtin in stage
float e12 = gl_HitTEXT; // ERROR, unsupported builtin in stage
float e13 = gl_HitKindEXT; // ERROR, unsupported builtin in stage
int e14 = gl_RayFlagsSkipAABBEXT; // ERROR, unsupported builtin in stage
reportIntersectionEXT(1.0, 1U); // ERROR, unsupported builtin in stage
ignoreIntersectionEXT; // ERROR, unsupported builtin in stage
terminateRayEXT; // ERROR, unsupported builtin in stage
d = 1.0f; // ERROR, can't modify shaderRecordEXT block
}