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

62 lines
1.3 KiB
GLSL

SKIP: FAILED
#version 310 es
precision mediump float;
layout(location = 0) out vec4 x_GLF_color_1_1;
struct buf0 {
int zero;
};
vec4 x_GLF_color = vec4(0.0f, 0.0f, 0.0f, 0.0f);
layout(binding = 0) uniform buf0_1 {
int zero;
} x_5;
void main_1() {
int x_9[1] = int[1](0);
int x_10_phi = 0;
int x_6 = x_9[0u];
while (true) {
x_GLF_color = vec4(0.0f, 0.0f, 0.0f, 0.0f);
int x_7 = x_5.zero;
int x_8 = x_9[x_7];
if ((x_8 == x_6)) {
x_10_phi = 1;
break;
}
x_10_phi = 2;
break;
}
int x_10 = x_10_phi;
if (((x_10 == 1) | (x_10 == 2))) {
x_GLF_color = vec4(1.0f, 0.0f, 0.0f, 1.0f);
} else {
x_GLF_color = vec4(0.0f, 0.0f, 0.0f, 0.0f);
}
return;
}
struct main_out {
vec4 x_GLF_color_1;
};
main_out tint_symbol() {
main_1();
main_out tint_symbol_1 = main_out(x_GLF_color);
return tint_symbol_1;
}
void main() {
main_out inner_result = tint_symbol();
x_GLF_color_1_1 = inner_result.x_GLF_color_1;
return;
}
Error parsing GLSL shader:
ERROR: 0:30: '|' : wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
ERROR: 0:30: '' : compilation terminated
ERROR: 2 compilation errors. No code generated.