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>
This commit is contained in:
Stephen White
2022-01-28 22:36:58 +00:00
committed by Tint LUCI CQ
parent f34038b1a0
commit 0b39270e01
1735 changed files with 9397 additions and 30642 deletions

View File

@@ -3,6 +3,7 @@ SKIP: FAILED
#version 310 es
precision mediump float;
layout(location = 0) out vec4 x_GLF_color_1_1;
struct buf0 {
vec2 resolution;
};
@@ -136,41 +137,21 @@ struct main_out {
vec4 x_GLF_color_1;
};
struct tint_symbol_4 {
vec4 tint_symbol_2;
};
struct tint_symbol_5 {
vec4 x_GLF_color_1;
};
main_out tint_symbol_1_inner(vec4 tint_symbol_2) {
main_out tint_symbol_1(vec4 tint_symbol_2) {
tint_symbol = tint_symbol_2;
main_1();
main_out tint_symbol_6 = main_out(x_GLF_color);
return tint_symbol_6;
main_out tint_symbol_3 = main_out(x_GLF_color);
return tint_symbol_3;
}
tint_symbol_5 tint_symbol_1(tint_symbol_4 tint_symbol_3) {
main_out inner_result = tint_symbol_1_inner(tint_symbol_3.tint_symbol_2);
tint_symbol_5 wrapper_result = tint_symbol_5(vec4(0.0f, 0.0f, 0.0f, 0.0f));
wrapper_result.x_GLF_color_1 = inner_result.x_GLF_color_1;
return wrapper_result;
}
layout(location = 0) out vec4 x_GLF_color_1;
void main() {
tint_symbol_4 inputs;
inputs.tint_symbol_2 = gl_FragCoord;
tint_symbol_5 outputs;
outputs = tint_symbol_1(inputs);
x_GLF_color_1 = outputs.x_GLF_color_1;
main_out inner_result = tint_symbol_1(gl_FragCoord);
x_GLF_color_1_1 = inner_result.x_GLF_color_1;
return;
}
Error parsing GLSL shader:
ERROR: 0:65: '&' : 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:65: '' : compilation terminated
ERROR: 0:66: '&' : 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:66: '' : compilation terminated
ERROR: 2 compilation errors. No code generated.

View File

@@ -3,6 +3,7 @@ SKIP: FAILED
#version 310 es
precision mediump float;
layout(location = 0) out vec4 x_GLF_color_1_1;
struct buf0 {
vec2 resolution;
};
@@ -136,41 +137,21 @@ struct main_out {
vec4 x_GLF_color_1;
};
struct tint_symbol_4 {
vec4 tint_symbol_2;
};
struct tint_symbol_5 {
vec4 x_GLF_color_1;
};
main_out tint_symbol_1_inner(vec4 tint_symbol_2) {
main_out tint_symbol_1(vec4 tint_symbol_2) {
tint_symbol = tint_symbol_2;
main_1();
main_out tint_symbol_6 = main_out(x_GLF_color);
return tint_symbol_6;
main_out tint_symbol_3 = main_out(x_GLF_color);
return tint_symbol_3;
}
tint_symbol_5 tint_symbol_1(tint_symbol_4 tint_symbol_3) {
main_out inner_result = tint_symbol_1_inner(tint_symbol_3.tint_symbol_2);
tint_symbol_5 wrapper_result = tint_symbol_5(vec4(0.0f, 0.0f, 0.0f, 0.0f));
wrapper_result.x_GLF_color_1 = inner_result.x_GLF_color_1;
return wrapper_result;
}
layout(location = 0) out vec4 x_GLF_color_1;
void main() {
tint_symbol_4 inputs;
inputs.tint_symbol_2 = gl_FragCoord;
tint_symbol_5 outputs;
outputs = tint_symbol_1(inputs);
x_GLF_color_1 = outputs.x_GLF_color_1;
main_out inner_result = tint_symbol_1(gl_FragCoord);
x_GLF_color_1_1 = inner_result.x_GLF_color_1;
return;
}
Error parsing GLSL shader:
ERROR: 0:65: '&' : 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:65: '' : compilation terminated
ERROR: 0:66: '&' : 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:66: '' : compilation terminated
ERROR: 2 compilation errors. No code generated.