mirror of
https://github.com/encounter/dawn-cmake.git
synced 2025-07-12 16:15:55 +00:00
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>
26 lines
737 B
Plaintext
26 lines
737 B
Plaintext
#include <metal_stdlib>
|
|
|
|
using namespace metal;
|
|
struct FragmentInputs {
|
|
float4 position;
|
|
bool front_facing;
|
|
uint sample_index;
|
|
uint sample_mask;
|
|
};
|
|
struct tint_symbol_2 {
|
|
float4 position [[position]];
|
|
bool front_facing [[front_facing]];
|
|
uint sample_index [[sample_id]];
|
|
uint sample_mask [[sample_mask]];
|
|
};
|
|
|
|
fragment void tint_symbol(tint_symbol_2 tint_symbol_1 [[stage_in]]) {
|
|
FragmentInputs const inputs = {.position=tint_symbol_1.position, .front_facing=tint_symbol_1.front_facing, .sample_index=tint_symbol_1.sample_index, .sample_mask=tint_symbol_1.sample_mask};
|
|
if (inputs.front_facing) {
|
|
float4 const foo = inputs.position;
|
|
uint const bar = (inputs.sample_index + inputs.sample_mask);
|
|
}
|
|
return;
|
|
}
|
|
|