dawn-cmake/test/shader_io/fragment_input_locations_struct.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

26 lines
617 B
Plaintext

#include <metal_stdlib>
using namespace metal;
struct FragmentInputs {
int loc0;
uint loc1;
float loc2;
float4 loc3;
};
struct tint_symbol_2 {
int loc0 [[user(locn0)]];
uint loc1 [[user(locn1)]];
float loc2 [[user(locn2)]];
float4 loc3 [[user(locn3)]];
};
fragment void tint_symbol(tint_symbol_2 tint_symbol_1 [[stage_in]]) {
FragmentInputs const inputs = {.loc0=tint_symbol_1.loc0, .loc1=tint_symbol_1.loc1, .loc2=tint_symbol_1.loc2, .loc3=tint_symbol_1.loc3};
int const i = inputs.loc0;
uint const u = inputs.loc1;
float const f = inputs.loc2;
float4 const v = inputs.loc3;
return;
}