From bd6dbaf7c3ea720b4ed39904fe08878f9dcbd947 Mon Sep 17 00:00:00 2001 From: Yong He Date: Mon, 21 Aug 2023 17:07:34 -0700 Subject: Compile append and consume structured buffers to glsl. (#3142) * Compile append and consume structured buffers to glsl. * Fix. * Update CI config. --------- Co-authored-by: Yong He --- tests/compute/comma-operator.slang.glsl | 2 +- tests/compute/half-texture.slang.glsl | 2 +- tests/compute/unbounded-array-of-array-syntax.slang.glsl | 15 +++++---------- 3 files changed, 7 insertions(+), 12 deletions(-) (limited to 'tests/compute') diff --git a/tests/compute/comma-operator.slang.glsl b/tests/compute/comma-operator.slang.glsl index af7120704..236029b47 100644 --- a/tests/compute/comma-operator.slang.glsl +++ b/tests/compute/comma-operator.slang.glsl @@ -3,7 +3,7 @@ //TEST_IGNORE_FILE: -layout(std430, binding = 0) buffer _S1 { +layout(std430, binding = 0) buffer StructuredBuffer_int_t_0 { int _data[]; } outputBuffer_0; diff --git a/tests/compute/half-texture.slang.glsl b/tests/compute/half-texture.slang.glsl index 27f63620d..16ff4d6e1 100644 --- a/tests/compute/half-texture.slang.glsl +++ b/tests/compute/half-texture.slang.glsl @@ -17,7 +17,7 @@ layout(rgba16f) layout(binding = 3) uniform image2D halfTexture4_0; -layout(std430, binding = 0) buffer _S1 { +layout(std430, binding = 0) buffer StructuredBuffer_int_t_0 { int _data[]; } outputBuffer_0; diff --git a/tests/compute/unbounded-array-of-array-syntax.slang.glsl b/tests/compute/unbounded-array-of-array-syntax.slang.glsl index 73148ae10..2ea90e4a6 100644 --- a/tests/compute/unbounded-array-of-array-syntax.slang.glsl +++ b/tests/compute/unbounded-array-of-array-syntax.slang.glsl @@ -1,28 +1,23 @@ //TEST_IGNORE_FILE: - #version 450 #extension GL_EXT_nonuniform_qualifier : require layout(row_major) uniform; layout(row_major) buffer; - -layout(std430, binding = 1) buffer _S1 { +layout(std430, binding = 1) buffer StructuredBuffer_int_t_0 { int _data[]; } g_aoa_0[]; -layout(std430, binding = 0) buffer _S2 { +layout(std430, binding = 0) buffer StructuredBuffer_int_t_1 { int _data[]; } outputBuffer_0; - layout(local_size_x = 8, local_size_y = 1, local_size_z = 1) in; void main() { int index_0 = int(gl_GlobalInvocationID.x); int innerIndex_0 = index_0 & 3; - - int _S3 = nonuniformEXT(index_0 >> 2); + int _S1 = nonuniformEXT(index_0 >> 2); uint bufferCount_0; uint bufferStride_0; - (bufferCount_0) = (g_aoa_0[_S3])._data.length(); (bufferStride_0) = 0; - + (bufferCount_0) = (g_aoa_0[_S1])._data.length(); (bufferStride_0) = 0; int innerIndex_1; if(innerIndex_0 >= int(bufferCount_0)) { @@ -32,6 +27,6 @@ void main() { innerIndex_1 = innerIndex_0; } - outputBuffer_0._data[uint(index_0)] = g_aoa_0[_S3]._data[uint(innerIndex_1)]; + outputBuffer_0._data[uint(index_0)] = g_aoa_0[_S1]._data[uint(innerIndex_1)]; return; } -- cgit v1.2.3