blob: 1a6b5114a2d5a2f0bbc761cf5d277f70b2657d23 [file] [log] [blame]
<dawn>/test/tint/diagnostic_filtering/switch_body_attribute.wgsl:5:11 warning: 'dpdx' must only be called from uniform control flow
_ = dpdx(1.0);
^^^^^^^^^
<dawn>/test/tint/diagnostic_filtering/switch_body_attribute.wgsl:3:3 note: control flow depends on possibly non-uniform value
switch (i32(x)) @diagnostic(warning, derivative_uniformity) {
^^^^^^
<dawn>/test/tint/diagnostic_filtering/switch_body_attribute.wgsl:3:15 note: user-defined input 'x' of 'main' may be non-uniform
switch (i32(x)) @diagnostic(warning, derivative_uniformity) {
^
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 34
; Schema: 0
OpCapability Shader
OpMemoryModel Logical GLSL450
OpEntryPoint Fragment %main "main" %x_1
OpExecutionMode %main OriginUpperLeft
OpName %x_1 "x_1"
OpName %tint_ftoi "tint_ftoi"
OpName %v "v"
OpName %main_inner "main_inner"
OpName %x "x"
OpName %main "main"
OpDecorate %x_1 Location 0
%float = OpTypeFloat 32
%_ptr_Input_float = OpTypePointer Input %float
%x_1 = OpVariable %_ptr_Input_float Input
%int = OpTypeInt 32 1
%4 = OpTypeFunction %int %float
%float_2_14748352e_09 = OpConstant %float 2.14748352e+09
%bool = OpTypeBool
%float_n2_14748365e_09 = OpConstant %float -2.14748365e+09
%int_n2147483648 = OpConstant %int -2147483648
%int_2147483647 = OpConstant %int 2147483647
%void = OpTypeVoid
%19 = OpTypeFunction %void %float
%float_1 = OpConstant %float 1
%29 = OpTypeFunction %void
%tint_ftoi = OpFunction %int None %4
%v = OpFunctionParameter %float
%8 = OpLabel
%11 = OpFOrdLessThan %bool %v %float_2_14748352e_09
%15 = OpFOrdLessThan %bool %v %float_n2_14748365e_09
%17 = OpConvertFToS %int %v
%13 = OpSelect %int %15 %int_n2147483648 %17
%9 = OpSelect %int %11 %13 %int_2147483647
OpReturnValue %9
OpFunctionEnd
%main_inner = OpFunction %void None %19
%x = OpFunctionParameter %float
%23 = OpLabel
%25 = OpFunctionCall %int %tint_ftoi %x
OpSelectionMerge %24 None
OpSwitch %25 %26
%26 = OpLabel
%27 = OpDPdx %float %float_1
OpBranch %24
%24 = OpLabel
OpReturn
OpFunctionEnd
%main = OpFunction %void None %29
%31 = OpLabel
%33 = OpLoad %float %x_1
%32 = OpFunctionCall %void %main_inner %33
OpReturn
OpFunctionEnd