dawn-cmake/test/var/inferred/function-var.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.1 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 var_decls() {
int v1 = 1;
uint v2 = 1u;
float v3 = 1.0f;
int3 v4 = int3(1, 1, 1);
uint3 v5 = uint3(1u, 1u, 1u);
float3 v6 = float3(1.0f, 1.0f, 1.0f);
float3x3 v7 = float3x3(v6, v6, v6);
MyStruct v8 = {.f1=1.0f};
tint_array_wrapper v9 = {.arr={}};
int v10 = ret_i32();
uint v11 = ret_u32();
float v12 = ret_f32();
MyStruct v13 = ret_MyStruct();
MyStruct v14 = ret_MyStruct();
tint_array_wrapper 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;
}