From b059de80b7619e4406dbddf26fd7f2fb7ce6a965 Mon Sep 17 00:00:00 2001 From: jsmall-nvidia Date: Thu, 14 Feb 2019 08:27:46 -0500 Subject: * Add cross compile test (#849) * Add intrinsic for StructuredBuffer.Load --- tests/bugs/vk-structured-buffer-load.hlsl | 3 ++- tests/bugs/vk-structured-buffer-load.hlsl.glsl | 35 ++++++++++++++++++++++++++ 2 files changed, 37 insertions(+), 1 deletion(-) create mode 100644 tests/bugs/vk-structured-buffer-load.hlsl.glsl (limited to 'tests') diff --git a/tests/bugs/vk-structured-buffer-load.hlsl b/tests/bugs/vk-structured-buffer-load.hlsl index 0acc2e905..e8b1eae86 100644 --- a/tests/bugs/vk-structured-buffer-load.hlsl +++ b/tests/bugs/vk-structured-buffer-load.hlsl @@ -1,4 +1,4 @@ -//TEST_DISABLED:SIMPLE: -profile lib_6_3 -entry HitMain -stage closesthit -target spirv -o vk-structured-buffer-load.spv -D HLSL +//TEST:CROSS_COMPILE: -profile lib_6_3 -entry HitMain -stage closesthit -target spirv-assembly struct ParameterBlockTest { SamplerState sam; @@ -19,5 +19,6 @@ void HitMain(inout RayHitInfoPacked RayData, BuiltInTriangleIntersectionAttribut RayData.PackedHitInfoA.x = HitT; uint offs = 0; float offsfloat = gParamBlock.sbuf.Load(offs); + RayData.PackedHitInfoA.y = offsfloat; } diff --git a/tests/bugs/vk-structured-buffer-load.hlsl.glsl b/tests/bugs/vk-structured-buffer-load.hlsl.glsl new file mode 100644 index 000000000..28703cac4 --- /dev/null +++ b/tests/bugs/vk-structured-buffer-load.hlsl.glsl @@ -0,0 +1,35 @@ +// vk-structured-buffer-load.hlsl.glsl +#version 460 +layout(row_major) uniform; +layout(row_major) buffer; +#extension GL_NV_ray_tracing : require + +layout(std430, binding = 2) readonly buffer _S1 { + float _data[]; +} gParamBlock_sbuf_0; + +struct RayHitInfoPacked_0 +{ + vec4 PackedHitInfoA_0; +}; + +rayPayloadInNV RayHitInfoPacked_0 _S2; + +struct BuiltInTriangleIntersectionAttributes_0 +{ + vec2 barycentrics_0; +}; + +hitAttributeNV BuiltInTriangleIntersectionAttributes_0 _S3; + +void main() +{ + float HitT_0 = (gl_HitTNV); + _S2.PackedHitInfoA_0.x = HitT_0; + + float offsfloat_0 = ((gParamBlock_sbuf_0)._data[(int(uint(0)))]); + + _S2.PackedHitInfoA_0.y = offsfloat_0; + + return; +} \ No newline at end of file -- cgit v1.2.3