Stephen White 0b39270e01 GLSL: move entry point handling to CanonicalizeEntryPointIO transform.
Move builtin_to_string() and builtin_type() to
the CanonicalizeEntryPointIO transform. Use the former to
rename entry point IO variables to the gl_ names, and the latter
to cast values to the correct type.

Change-Id: Iddfad574ddd660ff1bfd89a399a001b967b6b67e
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/78380
Reviewed-by: James Price <jrprice@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Stephen White <senorblanco@chromium.org>
2022-01-28 22:36:58 +00:00

69 lines
1.2 KiB
GLSL

SKIP: FAILED
#version 310 es
precision mediump float;
struct doesNotMatter {
int global_seed;
int data[];
};
struct buf1 {
vec2 injectionSwitch;
};
uvec3 tint_symbol = uvec3(0u, 0u, 0u);
layout(binding = 0) buffer doesNotMatter_1 {
int global_seed;
int data[];
} x_7;
layout(binding = 1) uniform buf1_1 {
vec2 injectionSwitch;
} x_10;
void main_1() {
int lid = 0;
int val = 0;
int i = 0;
uint x_40 = tint_symbol.x;
lid = int(x_40);
int x_43 = x_7.global_seed;
val = x_43;
i = 0;
{
for(; (i < 2); i = (i + 1)) {
if ((lid > 0)) {
int x_58 = x_7.data[(lid - 1)];
val = (val + x_58);
float x_62 = x_10.injectionSwitch.x;
if ((x_62 > 100.0f)) {
break;
}
}
memoryBarrierShared();
}
}
if ((lid == 0)) {
x_7.data[0] = 42;
}
return;
}
void tint_symbol_1(uvec3 tint_symbol_2) {
tint_symbol = tint_symbol_2;
main_1();
}
layout(local_size_x = 16, local_size_y = 1, local_size_z = 1) in;
void main() {
tint_symbol_1(gl_LocalInvocationID);
return;
}
Error parsing GLSL shader:
ERROR: 0:6: '' : array size required
ERROR: 0:7: '' : compilation terminated
ERROR: 2 compilation errors. No code generated.