mirror of
https://github.com/encounter/dawn-cmake.git
synced 2025-06-26 16:33:33 +00:00
The UBO must have a stride that is a multiple of 16 bytes. Note that this change was part of https://dawn-review.googlesource.com/c/tint/+/56780 but the CL was reverted because it broke Dawn. This CL relands part of the change, and adds the macro TINT_EXPECTS_UBOS_TO_BE_MULTIPLE_OF_16 so that Dawn can conditionally compile against it. Bug: tint:984 Bug: tint:643 Change-Id: I303b3fe81ff97c4933c489736d5d5432a59ce9b7 Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/57921 Kokoro: Kokoro <noreply+kokoro@google.com> Commit-Queue: Antonio Maiorano <amaiorano@google.com> Reviewed-by: Ben Clayton <bclayton@google.com>
34 lines
815 B
Plaintext
34 lines
815 B
Plaintext
#include <metal_stdlib>
|
|
|
|
using namespace metal;
|
|
struct tint_symbol_2 {
|
|
/* 0x0000 */ uint4 buffer_size[1];
|
|
};
|
|
struct SB_RW {
|
|
/* 0x0000 */ float arg_0[1];
|
|
};
|
|
struct tint_symbol {
|
|
float4 value [[position]];
|
|
};
|
|
|
|
void arrayLength_cdd123(constant tint_symbol_2& tint_symbol_3) {
|
|
uint res = ((tint_symbol_3.buffer_size[0u][0u] - 0u) / 4u);
|
|
}
|
|
|
|
vertex tint_symbol vertex_main(constant tint_symbol_2& tint_symbol_3 [[buffer(30)]]) {
|
|
arrayLength_cdd123(tint_symbol_3);
|
|
tint_symbol const tint_symbol_1 = {.value=float4()};
|
|
return tint_symbol_1;
|
|
}
|
|
|
|
fragment void fragment_main(constant tint_symbol_2& tint_symbol_3 [[buffer(30)]]) {
|
|
arrayLength_cdd123(tint_symbol_3);
|
|
return;
|
|
}
|
|
|
|
kernel void compute_main(constant tint_symbol_2& tint_symbol_3 [[buffer(30)]]) {
|
|
arrayLength_cdd123(tint_symbol_3);
|
|
return;
|
|
}
|
|
|