diff options
| author | Yong He <yonghe@outlook.com> | 2023-07-27 14:15:16 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-07-27 14:15:16 -0700 |
| commit | 04f72443d717ca7b8304f893452c471fc6b6dc8f (patch) | |
| tree | c70498d149eeed09cc0f438e68ca5da212f203df /tests | |
| parent | c1216cae34a5e8ef912091fcaaf25b6633ac1db6 (diff) | |
Fix -fvk-u-shift not applying to global constant buffer. (#3033)
* Fix -fvk-u-shift not applying to global constant buffer.
* Fix test.
* Fix.
* Fix.
---------
Co-authored-by: Yong He <yhe@nvidia.com>
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/bindings/hlsl-to-vulkan-shift-bshift-global.slang | 35 | ||||
| -rw-r--r-- | tests/bindings/hlsl-to-vulkan-shift-rw-structured.hlsl | 8 | ||||
| -rw-r--r-- | tests/bugs/vk-shift-uniform-issue.slang | 2 |
3 files changed, 43 insertions, 2 deletions
diff --git a/tests/bindings/hlsl-to-vulkan-shift-bshift-global.slang b/tests/bindings/hlsl-to-vulkan-shift-bshift-global.slang new file mode 100644 index 000000000..5972805e9 --- /dev/null +++ b/tests/bindings/hlsl-to-vulkan-shift-bshift-global.slang @@ -0,0 +1,35 @@ +//TEST:SIMPLE(filecheck=CHECK):-target glsl -profile glsl_450 -entry MainVs -stage vertex -fvk-b-shift 14 0 -fvk-s-shift 58 0 -fvk-t-shift 218 0 -fvk-u-shift 482 0 + +// CHECK: layout(binding = 15) +// CHECK-NEXT: layout(std140) uniform +// CHECK-NEXT: { +// CHECK-NEXT: vec4 g_vCBuffer0Values + +// CHECK: layout(binding = 14) +// CHECK-NEXT: layout(std140) uniform +// CHECK-NEXT: { +// CHECK-NEXT: vec4 g_vGlobalValues + +float4 g_vGlobalValues; // This ends up in globals + +cbuffer CBufferTest_t +{ + float4 g_vCBuffer0Values; +}; + +struct VS_INPUT +{ + float3 vPositionWs : POSITION; +}; + +struct PS_INPUT +{ + float4 vColor; +}; + +PS_INPUT MainVs( VS_INPUT i ) +{ + PS_INPUT o; + o.vColor.rgba = g_vCBuffer0Values + g_vGlobalValues; + return o; +}
\ No newline at end of file diff --git a/tests/bindings/hlsl-to-vulkan-shift-rw-structured.hlsl b/tests/bindings/hlsl-to-vulkan-shift-rw-structured.hlsl index 95e9ff3f7..2fcbdf77c 100644 --- a/tests/bindings/hlsl-to-vulkan-shift-rw-structured.hlsl +++ b/tests/bindings/hlsl-to-vulkan-shift-rw-structured.hlsl @@ -1,10 +1,16 @@ //TEST:SIMPLE(filecheck=CHECK):-target glsl -profile glsl_450 -entry MainCs -stage compute -fvk-b-shift 0 0 -fvk-s-shift 14 0 -fvk-t-shift 30 0 -fvk-u-shift 158 0 + +// CHECK: layout(std430, binding = 159) buffer +// CHECK: } g_ByteBuffer + // CHECK: layout(std430, binding = 158) buffer RWStructuredBuffer<uint> g_OutputCullBits; +RWByteAddressBuffer g_ByteBuffer; + [numthreads(32, 1, 1)] void MainCs(uint3 vThreadId : SV_DispatchThreadID, uint3 vGroupThreadId : SV_GroupThreadID, uint3 vGroupId : SV_GroupID) { - g_OutputCullBits[vThreadId.x] = 0; + g_OutputCullBits[vThreadId.x] = g_ByteBuffer.Load(0); }
\ No newline at end of file diff --git a/tests/bugs/vk-shift-uniform-issue.slang b/tests/bugs/vk-shift-uniform-issue.slang index 950a01c6f..fa49c3561 100644 --- a/tests/bugs/vk-shift-uniform-issue.slang +++ b/tests/bugs/vk-shift-uniform-issue.slang @@ -24,7 +24,7 @@ // CHECK:layout(binding = 1001) // CHECK:layout(std140) uniform _S4 -// CHECK:layout(binding = 0) +// CHECK:layout(binding = 1000) // CHECK:layout(std140) uniform _S5 Texture2D texture0; |
