summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorYong He <yonghe@outlook.com>2023-07-27 14:15:16 -0700
committerGitHub <noreply@github.com>2023-07-27 14:15:16 -0700
commit04f72443d717ca7b8304f893452c471fc6b6dc8f (patch)
treec70498d149eeed09cc0f438e68ca5da212f203df /tests
parentc1216cae34a5e8ef912091fcaaf25b6633ac1db6 (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.slang35
-rw-r--r--tests/bindings/hlsl-to-vulkan-shift-rw-structured.hlsl8
-rw-r--r--tests/bugs/vk-shift-uniform-issue.slang2
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;