dawn-cmake/test/var/inferred/function-let.wgsl.expected.msl
Ben Clayton 0597a2b51b Add transform/WrapArraysInStructs
And replace the MSL writer's logic to do this with the transform.

We need to do the same thing in HLSL, and in the future GLSL too.

Partially reverts fbfde720

Change-Id: Ie280e011bc3ded8e15ccacc0aeb12da3c2407389
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/54242
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: James Price <jrprice@google.com>
2021-06-16 09:19:36 +00:00

59 lines
1.2 KiB
Plaintext

#include <metal_stdlib>
using namespace metal;
struct MyStruct {
float f1;
};
struct tint_array_wrapper {
float arr[10];
};
struct tint_symbol_1 {
float4 value [[color(0)]];
};
int ret_i32() {
return 1;
}
uint ret_u32() {
return 1u;
}
float ret_f32() {
return 1.0f;
}
MyStruct ret_MyStruct() {
MyStruct const tint_symbol_2 = {};
return tint_symbol_2;
}
tint_array_wrapper ret_MyArray() {
tint_array_wrapper const tint_symbol_3 = {.arr={}};
return tint_symbol_3;
}
void let_decls() {
int const v1 = 1;
uint const v2 = 1u;
float const v3 = 1.0f;
int3 const v4 = int3(1, 1, 1);
uint3 const v5 = uint3(1u, 1u, 1u);
float3 const v6 = float3(1.0f, 1.0f, 1.0f);
float3x3 const v7 = float3x3(v6, v6, v6);
MyStruct const v8 = {.f1=1.0f};
tint_array_wrapper const v9 = {.arr={}};
int const v10 = ret_i32();
uint const v11 = ret_u32();
float const v12 = ret_f32();
MyStruct const v13 = ret_MyStruct();
MyStruct const v14 = ret_MyStruct();
tint_array_wrapper const v15 = ret_MyArray();
}
fragment tint_symbol_1 tint_symbol() {
tint_symbol_1 const tint_symbol_4 = {.value=float4(0.0f, 0.0f, 0.0f, 0.0f)};
return tint_symbol_4;
}