diff options
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/bugs/vk-structured-buffer-load.hlsl | 2 | ||||
| -rw-r--r-- | tests/bugs/vk-structured-buffer-load.hlsl.glsl | 2 | ||||
| -rw-r--r-- | tests/vkray/anyhit.slang | 8 | ||||
| -rw-r--r-- | tests/vkray/anyhit.slang.glsl | 17 | ||||
| -rw-r--r-- | tests/vkray/callable-caller.slang | 2 | ||||
| -rw-r--r-- | tests/vkray/callable.slang | 2 | ||||
| -rw-r--r-- | tests/vkray/callable.slang.glsl | 11 | ||||
| -rw-r--r-- | tests/vkray/closesthit.slang | 2 | ||||
| -rw-r--r-- | tests/vkray/closesthit.slang.glsl | 2 | ||||
| -rw-r--r-- | tests/vkray/entry-point-params.slang | 2 | ||||
| -rw-r--r-- | tests/vkray/entry-point-params.slang.glsl | 16 | ||||
| -rw-r--r-- | tests/vkray/intersection.slang | 2 | ||||
| -rw-r--r-- | tests/vkray/miss.slang | 2 | ||||
| -rw-r--r-- | tests/vkray/miss.slang.glsl | 12 | ||||
| -rw-r--r-- | tests/vkray/raygen.slang | 2 | ||||
| -rw-r--r-- | tests/vkray/raygen.slang.glsl | 36 |
16 files changed, 89 insertions, 31 deletions
diff --git a/tests/bugs/vk-structured-buffer-load.hlsl b/tests/bugs/vk-structured-buffer-load.hlsl index bd5d16882..ce862c0c8 100644 --- a/tests/bugs/vk-structured-buffer-load.hlsl +++ b/tests/bugs/vk-structured-buffer-load.hlsl @@ -1,4 +1,4 @@ -//TEST:CROSS_COMPILE: -profile lib_6_3 -entry HitMain -stage closesthit -target spirv-assembly +//TEST:CROSS_COMPILE: -profile glsl_460+GL_NV_ray_tracing -entry HitMain -stage closesthit -target spirv-assembly #define USE_RCP 0 diff --git a/tests/bugs/vk-structured-buffer-load.hlsl.glsl b/tests/bugs/vk-structured-buffer-load.hlsl.glsl index 8a545ad1e..1c7ec8043 100644 --- a/tests/bugs/vk-structured-buffer-load.hlsl.glsl +++ b/tests/bugs/vk-structured-buffer-load.hlsl.glsl @@ -40,7 +40,7 @@ hitAttributeNV BuiltInTriangleIntersectionAttributes_0 Attributes; void main() { - float HitT_0 = (gl_HitTNV); + float HitT_0 = (gl_RayTmaxNV); RayData.PackedHitInfoA_0.x = HitT_0; const uint use_rcp_0 = uint(0); diff --git a/tests/vkray/anyhit.slang b/tests/vkray/anyhit.slang index 6959efc9c..1c216b683 100644 --- a/tests/vkray/anyhit.slang +++ b/tests/vkray/anyhit.slang @@ -1,5 +1,11 @@ // closesthit.slang -//TEST:CROSS_COMPILE: -profile sm_6_3 -stage anyhit -entry main -target spirv-assembly + +// Note: explicitly requesting `spirv_1_4` as part of the compiler +// options is for the benefit of the glslang pass-through path, +// where we cannot infer the required SPIR-V version from the code +// (and glslang doesn't include any such inference ability). + +//TEST:CROSS_COMPILE: -profile glsl_460+spirv_1_4 -stage anyhit -entry main -target spirv-assembly struct SphereHitAttributes { diff --git a/tests/vkray/anyhit.slang.glsl b/tests/vkray/anyhit.slang.glsl index 622080399..a37df119c 100644 --- a/tests/vkray/anyhit.slang.glsl +++ b/tests/vkray/anyhit.slang.glsl @@ -1,6 +1,15 @@ // anyhit.slang.glsl #version 460 + +#if USE_NV_RT #extension GL_NV_ray_tracing : require +#define hitAttributeEXT hitAttributeNV +#define rayPayloadInEXT rayPayloadInNV +#define terminateRayEXT terminateRayNV +#define ignoreIntersectionEXT ignoreIntersectionNV +#else +#extension GL_EXT_ray_tracing : require +#endif struct Params_0 { @@ -23,13 +32,13 @@ struct SphereHitAttributes_0 { vec3 normal_0; }; -hitAttributeNV SphereHitAttributes_0 _S2; +hitAttributeEXT SphereHitAttributes_0 _S2; struct ShadowRay_0 { vec4 hitDistance_0; }; -rayPayloadInNV ShadowRay_0 _S3; +rayPayloadInEXT ShadowRay_0 _S3; void main() { @@ -43,11 +52,11 @@ void main() if(val_0 > float(0)) { - terminateRayNV(); + terminateRayEXT(); } else { - ignoreIntersectionNV(); + ignoreIntersectionEXT(); } } diff --git a/tests/vkray/callable-caller.slang b/tests/vkray/callable-caller.slang index e423f2bec..93d9dd3cb 100644 --- a/tests/vkray/callable-caller.slang +++ b/tests/vkray/callable-caller.slang @@ -1,6 +1,6 @@ // callable-caller.slang -//TEST:CROSS_COMPILE: -profile sm_6_3 -stage raygeneration -entry main -target spirv-assembly +//TEST:CROSS_COMPILE: -profile glsl_460+GL_NV_ray_tracing -stage raygeneration -entry main -target spirv-assembly import callable_shared; diff --git a/tests/vkray/callable.slang b/tests/vkray/callable.slang index 59d42546a..5fdbd0eb5 100644 --- a/tests/vkray/callable.slang +++ b/tests/vkray/callable.slang @@ -1,6 +1,6 @@ // callable.slang -//TEST:CROSS_COMPILE: -profile sm_6_3 -stage callable -entry main -target spirv-assembly +//TEST:CROSS_COMPILE: -profile glsl_460+spirv_1_4 -stage callable -entry main -target spirv-assembly import callable_shared; diff --git a/tests/vkray/callable.slang.glsl b/tests/vkray/callable.slang.glsl index 9b573a8ab..dd99cc440 100644 --- a/tests/vkray/callable.slang.glsl +++ b/tests/vkray/callable.slang.glsl @@ -1,6 +1,15 @@ #version 460 +#if USE_NV_RT #extension GL_NV_ray_tracing : require +#define callableDataInEXT callableDataInNV +#define hitAttributeEXT hitAttributeNV +#define ignoreIntersectionEXT ignoreIntersectionNV +#define rayPayloadInEXT rayPayloadInNV +#define terminateRayEXT terminateRayNV +#else +#extension GL_EXT_ray_tracing : require +#endif layout(binding = 0) uniform texture2D gAlbedoMap_0; layout(binding = 1) uniform sampler gSampler_0; @@ -11,7 +20,7 @@ struct MaterialPayload_0 vec2 uv_0; }; -callableDataInNV MaterialPayload_0 _S1; +callableDataInEXT MaterialPayload_0 _S1; void main() { diff --git a/tests/vkray/closesthit.slang b/tests/vkray/closesthit.slang index 419c22a46..28c759175 100644 --- a/tests/vkray/closesthit.slang +++ b/tests/vkray/closesthit.slang @@ -1,5 +1,5 @@ // closesthit.slang -//TEST:CROSS_COMPILE: -profile sm_6_3 -stage closesthit -entry main -target spirv-assembly +//TEST:CROSS_COMPILE: -profile glsl_460+GL_NV_ray_tracing -stage closesthit -entry main -target spirv-assembly struct ReflectionRay { diff --git a/tests/vkray/closesthit.slang.glsl b/tests/vkray/closesthit.slang.glsl index 67072e9ff..e3af26a04 100644 --- a/tests/vkray/closesthit.slang.glsl +++ b/tests/vkray/closesthit.slang.glsl @@ -59,7 +59,7 @@ void main() vec4 color_1 = colors_0._data[tmp_add_1 + tmp_hitkind + ShaderRecord_0._data.shaderRecordID_0]; - float tmp_hitt = gl_HitTNV; + float tmp_hitt = gl_RayTmaxNV; float tmp_tmin = gl_RayTminNV; tmp_payload.color_0 = color_1 * (tmp_hitt - tmp_tmin); diff --git a/tests/vkray/entry-point-params.slang b/tests/vkray/entry-point-params.slang index 84c8ecb50..25ee29d0d 100644 --- a/tests/vkray/entry-point-params.slang +++ b/tests/vkray/entry-point-params.slang @@ -3,7 +3,7 @@ // Test that entry-point `uniform` parameters on ray-tracing // shaders properly map to the "shader record" in SPIR-V output. -//TEST:CROSS_COMPILE: -profile glsl_460 -stage raygeneration -entry main -target spirv-assembly +//TEST:CROSS_COMPILE: -profile glsl_460+spirv_1_4 -stage raygeneration -entry main -target spirv-assembly RWStructuredBuffer<float> buffer; diff --git a/tests/vkray/entry-point-params.slang.glsl b/tests/vkray/entry-point-params.slang.glsl index 8333f21c9..f4531ea84 100644 --- a/tests/vkray/entry-point-params.slang.glsl +++ b/tests/vkray/entry-point-params.slang.glsl @@ -1,6 +1,18 @@ //TEST_IGNORE_FILE: #version 460 + +#if USE_NV_RT #extension GL_NV_ray_tracing : require +#define callableDataInEXT callableDataInNV +#define gl_LaunchIDEXT gl_LaunchIDNV +#define hitAttributeEXT hitAttributeNV +#define ignoreIntersectionEXT ignoreIntersectionNV +#define rayPayloadInEXT rayPayloadInNV +#define shaderRecordEXT shaderRecordNV +#define terminateRayEXT terminateRayNV +#else +#extension GL_EXT_ray_tracing : require +#endif layout(std430, binding = 0) buffer _S1 { @@ -12,7 +24,7 @@ struct EntryPointParams_0 float value_0; }; -layout(shaderRecordNV) +layout(shaderRecordEXT) buffer _S2 { EntryPointParams_0 _data; @@ -20,7 +32,7 @@ buffer _S2 void main() { - uvec3 _S4 = gl_LaunchIDNV; + uvec3 _S4 = gl_LaunchIDEXT; buffer_0._data[_S4.x] = _S3._data.value_0; return; } diff --git a/tests/vkray/intersection.slang b/tests/vkray/intersection.slang index e69ccdbfb..65705c845 100644 --- a/tests/vkray/intersection.slang +++ b/tests/vkray/intersection.slang @@ -1,5 +1,5 @@ // intersection.slang -//TEST:CROSS_COMPILE: -profile sm_6_3 -stage intersection -entry main -target spirv-assembly +//TEST:CROSS_COMPILE: -profile glsl_460+GL_NV_ray_tracing -stage intersection -entry main -target spirv-assembly struct Sphere { diff --git a/tests/vkray/miss.slang b/tests/vkray/miss.slang index c99518150..ce946662c 100644 --- a/tests/vkray/miss.slang +++ b/tests/vkray/miss.slang @@ -1,4 +1,4 @@ -//TEST:CROSS_COMPILE: -profile sm_6_3 -stage miss -entry main -target spirv-assembly +//TEST:CROSS_COMPILE: -profile glsl_460+GL_EXT_ray_tracing -stage miss -entry main -target spirv-assembly struct ShadowRay { diff --git a/tests/vkray/miss.slang.glsl b/tests/vkray/miss.slang.glsl index 33cff4a34..df7647411 100644 --- a/tests/vkray/miss.slang.glsl +++ b/tests/vkray/miss.slang.glsl @@ -1,14 +1,24 @@ //TEST_IGNORE_FILE: #version 460 +#if USE_NV_RT #extension GL_NV_ray_tracing : require +#define callableDataInEXT callableDataInNV +#define gl_LaunchIDEXT gl_LaunchIDNV +#define hitAttributeEXT hitAttributeNV +#define ignoreIntersectionEXT ignoreIntersectionNV +#define rayPayloadInEXT rayPayloadInNV +#define terminateRayEXT terminateRayNV +#else +#extension GL_EXT_ray_tracing : require +#endif struct ShadowRay_0 { float hitDistance_0; }; -rayPayloadInNV ShadowRay_0 _S1; +rayPayloadInEXT ShadowRay_0 _S1; void main() { diff --git a/tests/vkray/raygen.slang b/tests/vkray/raygen.slang index ad377938f..ac82ccf1a 100644 --- a/tests/vkray/raygen.slang +++ b/tests/vkray/raygen.slang @@ -1,4 +1,4 @@ -//TEST:CROSS_COMPILE: -profile glsl_460 -stage raygeneration -entry main -target spirv-assembly +//TEST:CROSS_COMPILE: -profile glsl_460+GL_EXT_ray_tracing -stage raygeneration -entry main -target spirv-assembly #define TRACING_EPSILON 1e-6 diff --git a/tests/vkray/raygen.slang.glsl b/tests/vkray/raygen.slang.glsl index 859f5036e..79162be9f 100644 --- a/tests/vkray/raygen.slang.glsl +++ b/tests/vkray/raygen.slang.glsl @@ -3,7 +3,19 @@ layout(row_major) uniform; +#if USE_NV_RT #extension GL_NV_ray_tracing : require +#define accelerationStructureEXT accelerationStructureNV +#define callableDataInEXT callableDataInNV +#define gl_LaunchIDEXT gl_LaunchIDNV +#define hitAttributeEXT hitAttributeNV +#define ignoreIntersectionEXT ignoreIntersectionNV +#define rayPayloadInEXT rayPayloadInNV +#define terminateRayEXT terminateRayNV +#define traceRayEXT traceNV +#else +#extension GL_EXT_ray_tracing : require +#endif #define TRACING_EPSILON 1e-6 @@ -66,19 +78,19 @@ layout(std140) uniform tmp_ubo Uniforms_0 _data; } ubo_0; -layout(binding = 5) uniform accelerationStructureNV as_0; +layout(binding = 5) uniform accelerationStructureEXT as_0; struct ShadowRay_0 { float hitDistance_0; }; -layout(location = 0) rayPayloadNV ShadowRay_0 p_0; +layout(location = 0) rayPayloadEXT ShadowRay_0 p_0; struct ReflectionRay_0 { float color_1; }; -layout(location = 1) rayPayloadNV ReflectionRay_0 p_1; +layout(location = 1) rayPayloadEXT ReflectionRay_0 p_1; layout(rgba32f) layout(binding = 4) uniform image2D outputImage_0; @@ -91,7 +103,7 @@ struct RayDesc_0 }; void TraceRay_0( - accelerationStructureNV AccelerationStructure_0, + accelerationStructureEXT AccelerationStructure_0, uint RayFlags_0, uint InstanceInclusionMask_0, uint RayContributionToHitGroupIndex_0, @@ -101,7 +113,7 @@ void TraceRay_0( inout ShadowRay_0 Payload_0) { p_0 = Payload_0; - traceNV( + traceRayEXT( AccelerationStructure_0, RayFlags_0, InstanceInclusionMask_0, @@ -118,7 +130,7 @@ void TraceRay_0( } void TraceRay_1( - accelerationStructureNV AccelerationStructure_1, + accelerationStructureEXT AccelerationStructure_1, uint RayFlags_1, uint InstanceInclusionMask_1, uint RayContributionToHitGroupIndex_1, @@ -128,7 +140,7 @@ void TraceRay_1( inout ReflectionRay_0 Payload_1) { p_1 = Payload_1; - traceNV( + traceRayEXT( AccelerationStructure_1, RayFlags_1, InstanceInclusionMask_1, @@ -154,14 +166,14 @@ void main() { float atten_0; - uvec3 tmp_launchID_x = gl_LaunchIDNV; + uvec3 tmp_launchID_x = gl_LaunchIDEXT; float tmp_add_x = float(tmp_launchID_x.x) + 0.5; - uvec3 tmp_launchSize_x = gl_LaunchSizeNV; + uvec3 tmp_launchSize_x = gl_LaunchSizeEXT; float tmp_div_x = tmp_add_x / float(tmp_launchSize_x.x); - uvec3 tmp_launchID_y = gl_LaunchIDNV; + uvec3 tmp_launchID_y = gl_LaunchIDEXT; float tmp_add_y = float(tmp_launchID_y.y) + 0.5; - uvec3 tmp_launchSize_y = gl_LaunchSizeNV; + uvec3 tmp_launchSize_y = gl_LaunchSizeEXT; float tmp_div_y = tmp_add_y / float(tmp_launchSize_y.y); vec2 inUV_0 = vec2(tmp_div_x, tmp_div_y); @@ -224,7 +236,7 @@ void main() vec3 color_3 = color_2 + tmp_trace2_payload.color_1; - uvec3 tmp_storeIdx = gl_LaunchIDNV; + uvec3 tmp_storeIdx = gl_LaunchIDEXT; imageStore(outputImage_0, ivec2(uvec2(ivec2(tmp_storeIdx.xy))), vec4(color_3, 1.0)); return; } |
