blob: bfe39bbc14d6661d9e882ed13e5b9ea1fb1cc42d [file] [log] [blame]
<dawn>/test/tint/diagnostic_filtering/switch_statement_attribute.wgsl:7:27 warning: 'dpdx' must only be called from uniform control flow
switch (i32(x == 0.0 && dpdx(1.0) == 0.0)) {
^^^^^^^^^
<dawn>/test/tint/diagnostic_filtering/switch_statement_attribute.wgsl:7:15 note: control flow depends on possibly non-uniform value
switch (i32(x == 0.0 && dpdx(1.0) == 0.0)) {
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
<dawn>/test/tint/diagnostic_filtering/switch_statement_attribute.wgsl:7:15 note: user-defined input 'x' of 'main' may be non-uniform
switch (i32(x == 0.0 && dpdx(1.0) == 0.0)) {
^
#include <metal_stdlib>
using namespace metal;
struct tint_symbol_4 {
float x [[user(locn0)]];
};
void tint_symbol_inner(float x) {
bool tint_symbol_1 = (x == 0.0f);
if (tint_symbol_1) {
float const tint_symbol_2 = dfdx(1.0f);
tint_symbol_1 = (tint_symbol_2 == 0.0f);
}
switch(int(tint_symbol_1)) {
default: {
break;
}
}
}
fragment void tint_symbol(tint_symbol_4 tint_symbol_3 [[stage_in]]) {
tint_symbol_inner(tint_symbol_3.x);
return;
}