dawn-cmake/test/shader_io/fragment_output_locations.wgsl.expected.msl
James Price 851b18b2f2 writer/msl: Emit field designators for structures
This fixes constructors for structures that contain padding members
due to explicit layout attributes.

Also fix one test that was wrongly using an identity type constructor
for a structure.

Fixed: tint:853
Change-Id: I0a3e84fcd7c6a7f2ad92a4970ed11378e6ce2465
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/53240
Auto-Submit: James Price <jrprice@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: James Price <jrprice@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
2021-06-03 18:12:15 +00:00

37 lines
730 B
Plaintext

#include <metal_stdlib>
using namespace metal;
struct tint_symbol {
int value [[color(0)]];
};
struct tint_symbol_1 {
uint value [[color(1)]];
};
struct tint_symbol_2 {
float value [[color(2)]];
};
struct tint_symbol_3 {
float4 value [[color(3)]];
};
fragment tint_symbol main0() {
tint_symbol const tint_symbol_4 = {.value=1};
return tint_symbol_4;
}
fragment tint_symbol_1 main1() {
tint_symbol_1 const tint_symbol_5 = {.value=1u};
return tint_symbol_5;
}
fragment tint_symbol_2 main2() {
tint_symbol_2 const tint_symbol_6 = {.value=1.0f};
return tint_symbol_6;
}
fragment tint_symbol_3 main3() {
tint_symbol_3 const tint_symbol_7 = {.value=float4(1.0f, 2.0f, 3.0f, 4.0f)};
return tint_symbol_7;
}