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

@@ -16,11 +16,7 @@ struct Inner {
layout(binding = 0) buffer S_1 {
Inner arr[];
} s;
struct tint_symbol_2 {
uint idx;
};
void tint_symbol_inner(uint idx) {
void tint_symbol(uint idx) {
ivec3 a = s.arr[idx].a;
int b = s.arr[idx].b;
uvec3 c = s.arr[idx].c;
@@ -33,15 +29,7 @@ void tint_symbol_inner(uint idx) {
}
layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
void tint_symbol(tint_symbol_2 tint_symbol_1) {
tint_symbol_inner(tint_symbol_1.idx);
void main() {
tint_symbol(gl_LocalInvocationIndex);
return;
}
void main() {
tint_symbol_2 inputs;
inputs.idx = uint(gl_LocalInvocationIndex);
tint_symbol(inputs);
}

View File

@@ -16,11 +16,7 @@ struct Inner {
layout(binding = 0) buffer S_1 {
Inner arr[];
} s;
struct tint_symbol_2 {
uint idx;
};
void tint_symbol_inner(uint idx) {
void tint_symbol(uint idx) {
s.arr[idx].a = ivec3(0, 0, 0);
s.arr[idx].b = 0;
s.arr[idx].c = uvec3(0u, 0u, 0u);
@@ -29,20 +25,12 @@ void tint_symbol_inner(uint idx) {
s.arr[idx].f = 0.0f;
s.arr[idx].g = mat2x3(0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f);
s.arr[idx].h = mat3x2(0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f);
ivec4 tint_symbol_3[4] = ivec4[4](ivec4(0, 0, 0, 0), ivec4(0, 0, 0, 0), ivec4(0, 0, 0, 0), ivec4(0, 0, 0, 0));
s.arr[idx].i = tint_symbol_3;
ivec4 tint_symbol_1[4] = ivec4[4](ivec4(0, 0, 0, 0), ivec4(0, 0, 0, 0), ivec4(0, 0, 0, 0), ivec4(0, 0, 0, 0));
s.arr[idx].i = tint_symbol_1;
}
layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
void tint_symbol(tint_symbol_2 tint_symbol_1) {
tint_symbol_inner(tint_symbol_1.idx);
void main() {
tint_symbol(gl_LocalInvocationIndex);
return;
}
void main() {
tint_symbol_2 inputs;
inputs.idx = uint(gl_LocalInvocationIndex);
tint_symbol(inputs);
}