From ec35febb7f1dcc981e83c7ee3e52ab516b50be8a Mon Sep 17 00:00:00 2001 From: Yong He Date: Wed, 12 Jun 2024 09:40:53 -0700 Subject: Fix incorrect drop of decoration when translating glsl global var to entrypoint param. (#4353) --- tests/bugs/gh-4345.slang | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 tests/bugs/gh-4345.slang (limited to 'tests') diff --git a/tests/bugs/gh-4345.slang b/tests/bugs/gh-4345.slang new file mode 100644 index 000000000..8761610a0 --- /dev/null +++ b/tests/bugs/gh-4345.slang @@ -0,0 +1,32 @@ +//TEST:SIMPLE(filecheck=CHECK):-target spirv-asm -entry main -stage vertex -allow-glsl + +// CHECK: OpDecorate %{{.*}} Flat + +#version 450 +layout(set = 1, binding = 0) uniform highp isampler1D texSampler[8]; + +layout(location = 0) in highp vec4 a_position; +layout(location = 1) in highp float a_coords; +layout(location = 0) flat out highp ivec4 vtx_out_result0; +layout(location = 1) flat out highp ivec4 vtx_out_result1; +layout(location = 2) flat out highp ivec4 vtx_out_result2; +layout(location = 3) flat out highp ivec4 vtx_out_result3; + +void main (void) +{ + gl_Position = a_position; + gl_PointSize = 1.0; + highp float coords = a_coords; + highp ivec4 result0; + highp ivec4 result1; + highp ivec4 result2; + highp ivec4 result3; + result0 = textureLod(texSampler[3], coords, 0.0); + result1 = textureLod(texSampler[2], coords, 0.0); + result2 = textureLod(texSampler[7], coords, 0.0); + result3 = textureLod(texSampler[2], coords, 0.0); + vtx_out_result0 = result0; + vtx_out_result1 = result1; + vtx_out_result2 = result2; + vtx_out_result3 = result3; +} \ No newline at end of file -- cgit v1.2.3