Antonio Maiorano fa00fe9d41 tint/hlsl+glsl: fix workgroupUniformLoad polyfills
The BuiltinPolyfill transform expects the DirectVariableAccess transform
to run after it, but this regressed as part of
https://dawn-review.googlesource.com/c/dawn/+/122203

Add unit test along with e2e 1926.wgsl test.

Bug: tint:1926
Change-Id: I5107453ce152b12e6f2f36930846e1fffa775708
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/131020
Reviewed-by: James Price <jrprice@google.com>
Commit-Queue: Antonio Maiorano <amaiorano@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
2023-05-03 15:30:54 +00:00

34 lines
683 B
GLSL

#version 310 es
#extension GL_AMD_gpu_shader_half_float : require
shared float16_t arg_0;
float16_t tint_workgroupUniformLoad_arg_0() {
barrier();
float16_t result = arg_0;
barrier();
return result;
}
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
float16_t inner;
} prevent_dce;
void workgroupUniformLoad_e07d08() {
float16_t res = tint_workgroupUniformLoad_arg_0();
prevent_dce.inner = res;
}
void compute_main(uint local_invocation_index) {
{
arg_0 = 0.0hf;
}
barrier();
workgroupUniformLoad_e07d08();
}
layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
void main() {
compute_main(gl_LocalInvocationIndex);
return;
}