tint/writer/msl: Inline constant expressions

This is required to handle materialized values, and for constant
expressions.

Bug: tint:1504
Change-Id: Ic3ac62317241fa6f7009360128f222aeb56f62e4
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/92083
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Ben Clayton <bclayton@google.com>
This commit is contained in:
Ben Clayton
2022-06-01 10:08:29 +00:00
committed by Dawn LUCI CQ
parent 2e22d9285c
commit cb6ddd2aa6
1012 changed files with 1950 additions and 1852 deletions

View File

@@ -34,14 +34,14 @@ struct S {
};
void tint_symbol_inner(uint idx, device S* const tint_symbol_2) {
(*(tint_symbol_2)).arr[idx].a = int3();
(*(tint_symbol_2)).arr[idx].b = int();
(*(tint_symbol_2)).arr[idx].c = uint3();
(*(tint_symbol_2)).arr[idx].d = uint();
(*(tint_symbol_2)).arr[idx].e = float3();
(*(tint_symbol_2)).arr[idx].f = float();
(*(tint_symbol_2)).arr[idx].g = float2x3();
(*(tint_symbol_2)).arr[idx].h = float3x2();
(*(tint_symbol_2)).arr[idx].a = int3(0);
(*(tint_symbol_2)).arr[idx].b = 0;
(*(tint_symbol_2)).arr[idx].c = uint3(0u);
(*(tint_symbol_2)).arr[idx].d = 0u;
(*(tint_symbol_2)).arr[idx].e = float3(0.0f);
(*(tint_symbol_2)).arr[idx].f = 0.0f;
(*(tint_symbol_2)).arr[idx].g = float2x3(float3(0.0f), float3(0.0f));
(*(tint_symbol_2)).arr[idx].h = float3x2(float2(0.0f), float2(0.0f), float2(0.0f));
tint_array_wrapper const tint_symbol_1 = {.arr={}};
(*(tint_symbol_2)).arr[idx].i = tint_symbol_1;
}

View File

@@ -35,14 +35,14 @@ struct S {
};
kernel void tint_symbol(device S* tint_symbol_3 [[buffer(0)]]) {
(*(tint_symbol_3)).a = int3();
(*(tint_symbol_3)).b = int();
(*(tint_symbol_3)).c = uint3();
(*(tint_symbol_3)).d = uint();
(*(tint_symbol_3)).e = float3();
(*(tint_symbol_3)).f = float();
(*(tint_symbol_3)).g = float2x3();
(*(tint_symbol_3)).h = float3x2();
(*(tint_symbol_3)).a = int3(0);
(*(tint_symbol_3)).b = 0;
(*(tint_symbol_3)).c = uint3(0u);
(*(tint_symbol_3)).d = 0u;
(*(tint_symbol_3)).e = float3(0.0f);
(*(tint_symbol_3)).f = 0.0f;
(*(tint_symbol_3)).g = float2x3(float3(0.0f), float3(0.0f));
(*(tint_symbol_3)).h = float3x2(float2(0.0f), float2(0.0f), float2(0.0f));
Inner const tint_symbol_1 = {};
(*(tint_symbol_3)).i = tint_symbol_1;
tint_array_wrapper const tint_symbol_2 = {.arr={}};