mirror of
https://github.com/encounter/dawn-cmake.git
synced 2025-08-03 18:55:39 +00:00
These work on scalar and vector of bool, and map to ast::BinaryOp::kOr and kAnd. Bug: tint:1043 Change-Id: I009edf8e43c21cb75ccfdcde1106ec177d2fe50e Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/59561 Kokoro: Kokoro <noreply+kokoro@google.com> Reviewed-by: James Price <jrprice@google.com> Commit-Queue: James Price <jrprice@google.com> Auto-Submit: David Neto <dneto@google.com>
36 lines
1001 B
Plaintext
36 lines
1001 B
Plaintext
#include <metal_stdlib>
|
|
|
|
using namespace metal;
|
|
struct main_out {
|
|
float4 x_GLF_color_1;
|
|
};
|
|
struct tint_symbol_1 {
|
|
float4 x_GLF_color_1 [[color(0)]];
|
|
};
|
|
|
|
void main_1(thread float4* const tint_symbol_4) {
|
|
float2x2 m = float2x2(0.0f);
|
|
m = float2x2(float2(1.0f, 2.0f), float2(3.0f, 4.0f));
|
|
float2x2 const x_26 = m;
|
|
float2x2 const x_28 = m;
|
|
float2x2 const x_30 = (transpose(x_26) * transpose(x_28));
|
|
float2x2 const x_31 = m;
|
|
float2x2 const x_32 = m;
|
|
float2x2 const x_34 = transpose((x_31 * x_32));
|
|
if ((all((x_30[0u] == x_34[0u])) & all((x_30[1u] == x_34[1u])))) {
|
|
*(tint_symbol_4) = float4(1.0f, 0.0f, 0.0f, 1.0f);
|
|
} else {
|
|
*(tint_symbol_4) = float4(0.0f, 0.0f, 0.0f, 0.0f);
|
|
}
|
|
return;
|
|
}
|
|
|
|
fragment tint_symbol_1 tint_symbol() {
|
|
thread float4 tint_symbol_5 = 0.0f;
|
|
main_1(&(tint_symbol_5));
|
|
main_out const tint_symbol_2 = {.x_GLF_color_1=tint_symbol_5};
|
|
tint_symbol_1 const tint_symbol_3 = {.x_GLF_color_1=tint_symbol_2.x_GLF_color_1};
|
|
return tint_symbol_3;
|
|
}
|
|
|