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>
diff --git a/test/intrinsics/gen/cos/16dc15.wgsl.expected.glsl b/test/intrinsics/gen/cos/16dc15.wgsl.expected.glsl
index 68bc55b..9f3d3d9 100644
--- a/test/intrinsics/gen/cos/16dc15.wgsl.expected.glsl
+++ b/test/intrinsics/gen/cos/16dc15.wgsl.expected.glsl
@@ -5,31 +5,18 @@
vec3 res = cos(vec3(0.0f, 0.0f, 0.0f));
}
-struct tint_symbol {
- vec4 value;
-};
-
-vec4 vertex_main_inner() {
+vec4 vertex_main() {
cos_16dc15();
return vec4(0.0f, 0.0f, 0.0f, 0.0f);
}
-tint_symbol vertex_main() {
- vec4 inner_result = vertex_main_inner();
- tint_symbol wrapper_result = tint_symbol(vec4(0.0f, 0.0f, 0.0f, 0.0f));
- wrapper_result.value = inner_result;
- return wrapper_result;
-}
-
-
void main() {
- tint_symbol outputs;
- outputs = vertex_main();
- gl_Position = outputs.value;
- gl_Position.z = 2.0 * gl_Position.z - gl_Position.w;
- gl_Position.y = -gl_Position.y;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
}
-
#version 310 es
precision mediump float;
@@ -37,19 +24,14 @@
vec3 res = cos(vec3(0.0f, 0.0f, 0.0f));
}
-struct tint_symbol {
- vec4 value;
-};
-
void fragment_main() {
cos_16dc15();
- return;
}
void main() {
fragment_main();
+ return;
}
-
#version 310 es
precision mediump float;
@@ -57,17 +39,12 @@
vec3 res = cos(vec3(0.0f, 0.0f, 0.0f));
}
-struct tint_symbol {
- vec4 value;
-};
-
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
void compute_main() {
cos_16dc15();
- return;
}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
void main() {
compute_main();
+ return;
}
-