mirror of
https://github.com/encounter/dawn-cmake.git
synced 2025-05-14 19:31:25 +00:00
Add a config parameter for the CanonicalizeEntryPoint transform that selects between emitting builtins as parameters (for MSL) or struct members (for HLSL). This fixes all of the shader IO issues in Tint's E2E tests for MSL. Fixed: tint:817 Change-Id: Ieb31cdbd2e4d96ac41f8d8515fd07ead8241d770 Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/53282 Kokoro: Kokoro <noreply+kokoro@google.com> Reviewed-by: Ben Clayton <bclayton@google.com> Commit-Queue: James Price <jrprice@google.com>
18 lines
686 B
Plaintext
18 lines
686 B
Plaintext
#include <metal_stdlib>
|
|
|
|
using namespace metal;
|
|
struct ComputeInputs0 {
|
|
uint3 local_invocation_id;
|
|
};
|
|
struct ComputeInputs1 {
|
|
uint3 workgroup_id;
|
|
};
|
|
|
|
kernel void tint_symbol(uint3 tint_symbol_2 [[thread_position_in_threadgroup]], uint local_invocation_index [[thread_index_in_threadgroup]], uint3 global_invocation_id [[thread_position_in_grid]], uint3 tint_symbol_3 [[threadgroup_position_in_grid]]) {
|
|
ComputeInputs0 const inputs0 = {.local_invocation_id=tint_symbol_2};
|
|
ComputeInputs1 const inputs1 = {.workgroup_id=tint_symbol_3};
|
|
uint const foo = (((inputs0.local_invocation_id.x + local_invocation_index) + global_invocation_id.x) + inputs1.workgroup_id.x);
|
|
return;
|
|
}
|
|
|