tint: Remove use of inf / nans from e2e tests

We're not supporting these, even as hex-floats. Replace them with finite
float values.

Bug: tint:1504
Change-Id: Id5e304d2bdd79576b68b43a1afb5cce2cd6ad01a
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/91967
Reviewed-by: James Price <jrprice@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
This commit is contained in:
Ben Clayton 2022-05-31 21:35:00 +00:00 committed by Dawn LUCI CQ
parent bfb5fd794c
commit 16175ac2df
12 changed files with 651 additions and 652 deletions

View File

@ -1,105 +1,105 @@
OpCapability Shader
%1 = OpExtInstImport "GLSL.std.450"
OpMemoryModel Logical GLSL450
OpEntryPoint Fragment %main "main" %_GLF_color
OpExecutionMode %main OriginUpperLeft
OpSource ESSL 310
OpName %main "main"
OpName %undefined "undefined"
OpName %buf0 "buf0"
OpMemberName %buf0 0 "_GLF_uniform_int_values"
OpName %_ ""
OpName %buf1 "buf1"
OpMemberName %buf1 0 "_GLF_uniform_float_values"
OpName %__0 ""
OpName %_GLF_color "_GLF_color"
OpDecorate %_arr_int_uint_2 ArrayStride 16
OpMemberDecorate %buf0 0 RelaxedPrecision
OpMemberDecorate %buf0 0 Offset 0
OpDecorate %buf0 Block
OpDecorate %_ DescriptorSet 0
OpDecorate %_ Binding 0
OpDecorate %10 RelaxedPrecision
OpDecorate %_arr_float_uint_1 ArrayStride 16
OpMemberDecorate %buf1 0 Offset 0
OpDecorate %buf1 Block
OpDecorate %__0 DescriptorSet 0
OpDecorate %__0 Binding 1
OpDecorate %_GLF_color Location 0
OpDecorate %12 RelaxedPrecision
OpDecorate %13 RelaxedPrecision
OpDecorate %14 RelaxedPrecision
OpDecorate %15 RelaxedPrecision
OpDecorate %16 RelaxedPrecision
%void = OpTypeVoid
%18 = OpTypeFunction %void
%float = OpTypeFloat 32
OpCapability Shader
%1 = OpExtInstImport "GLSL.std.450"
OpMemoryModel Logical GLSL450
OpEntryPoint Fragment %main "main" %_GLF_color
OpExecutionMode %main OriginUpperLeft
OpSource ESSL 310
OpName %main "main"
OpName %undefined "undefined"
OpName %buf0 "buf0"
OpMemberName %buf0 0 "_GLF_uniform_int_values"
OpName %_ ""
OpName %buf1 "buf1"
OpMemberName %buf1 0 "_GLF_uniform_float_values"
OpName %__0 ""
OpName %_GLF_color "_GLF_color"
OpDecorate %_arr_int_uint_2 ArrayStride 16
OpMemberDecorate %buf0 0 RelaxedPrecision
OpMemberDecorate %buf0 0 Offset 0
OpDecorate %buf0 Block
OpDecorate %_ DescriptorSet 0
OpDecorate %_ Binding 0
OpDecorate %10 RelaxedPrecision
OpDecorate %_arr_float_uint_1 ArrayStride 16
OpMemberDecorate %buf1 0 Offset 0
OpDecorate %buf1 Block
OpDecorate %__0 DescriptorSet 0
OpDecorate %__0 Binding 1
OpDecorate %_GLF_color Location 0
OpDecorate %12 RelaxedPrecision
OpDecorate %13 RelaxedPrecision
OpDecorate %14 RelaxedPrecision
OpDecorate %15 RelaxedPrecision
OpDecorate %16 RelaxedPrecision
%void = OpTypeVoid
%18 = OpTypeFunction %void
%float = OpTypeFloat 32
%_ptr_Function_float = OpTypePointer Function %float
%float_0x1_8p_128 = OpConstant %float 0x1.8p+128
%bool = OpTypeBool
%int = OpTypeInt 32 1
%int_1 = OpConstant %int 1
%uint = OpTypeInt 32 0
%uint_2 = OpConstant %uint 2
%_arr_int_uint_2 = OpTypeArray %int %uint_2
%buf0 = OpTypeStruct %_arr_int_uint_2
%_ptr_Uniform_buf0 = OpTypePointer Uniform %buf0
%_ = OpVariable %_ptr_Uniform_buf0 Uniform
%int_0 = OpConstant %int 0
%_ptr_Uniform_int = OpTypePointer Uniform %int
%uint_1 = OpConstant %uint 1
%_arr_float_uint_1 = OpTypeArray %float %uint_1
%buf1 = OpTypeStruct %_arr_float_uint_1
%_ptr_Uniform_buf1 = OpTypePointer Uniform %buf1
%__0 = OpVariable %_ptr_Uniform_buf1 Uniform
%_ptr_Uniform_float = OpTypePointer Uniform %float
%v4float = OpTypeVector %float 4
%float_1 = OpConstant %float 1.0
%bool = OpTypeBool
%int = OpTypeInt 32 1
%int_1 = OpConstant %int 1
%uint = OpTypeInt 32 0
%uint_2 = OpConstant %uint 2
%_arr_int_uint_2 = OpTypeArray %int %uint_2
%buf0 = OpTypeStruct %_arr_int_uint_2
%_ptr_Uniform_buf0 = OpTypePointer Uniform %buf0
%_ = OpVariable %_ptr_Uniform_buf0 Uniform
%int_0 = OpConstant %int 0
%_ptr_Uniform_int = OpTypePointer Uniform %int
%uint_1 = OpConstant %uint 1
%_arr_float_uint_1 = OpTypeArray %float %uint_1
%buf1 = OpTypeStruct %_arr_float_uint_1
%_ptr_Uniform_buf1 = OpTypePointer Uniform %buf1
%__0 = OpVariable %_ptr_Uniform_buf1 Uniform
%_ptr_Uniform_float = OpTypePointer Uniform %float
%v4float = OpTypeVector %float 4
%_ptr_Output_v4float = OpTypePointer Output %v4float
%_GLF_color = OpVariable %_ptr_Output_v4float Output
%main = OpFunction %void None %18
%35 = OpLabel
%undefined = OpVariable %_ptr_Function_float Function
%36 = OpExtInst %float %1 Sinh %float_0x1_8p_128
OpStore %undefined %36
%37 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_0
%10 = OpLoad %int %37
%38 = OpIEqual %bool %int_1 %10
%39 = OpLogicalNot %bool %38
OpSelectionMerge %40 None
OpBranchConditional %39 %41 %40
%41 = OpLabel
%42 = OpLoad %float %undefined
%43 = OpAccessChain %_ptr_Uniform_float %__0 %int_0 %int_0
%44 = OpLoad %float %43
%45 = OpFOrdGreaterThan %bool %42 %44
OpBranch %40
%40 = OpLabel
%46 = OpPhi %bool %38 %35 %45 %41
OpSelectionMerge %47 None
OpBranchConditional %46 %48 %49
%48 = OpLabel
%50 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_0
%12 = OpLoad %int %50
%51 = OpConvertSToF %float %12
%52 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_1
%13 = OpLoad %int %52
%53 = OpConvertSToF %float %13
%54 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_1
%14 = OpLoad %int %54
%55 = OpConvertSToF %float %14
%56 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_0
%15 = OpLoad %int %56
%57 = OpConvertSToF %float %15
%58 = OpCompositeConstruct %v4float %51 %53 %55 %57
OpStore %_GLF_color %58
OpBranch %47
%49 = OpLabel
%59 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_1
%16 = OpLoad %int %59
%60 = OpConvertSToF %float %16
%61 = OpCompositeConstruct %v4float %60 %60 %60 %60
OpStore %_GLF_color %61
OpBranch %47
%47 = OpLabel
OpReturn
OpFunctionEnd
%_GLF_color = OpVariable %_ptr_Output_v4float Output
%main = OpFunction %void None %18
%35 = OpLabel
%undefined = OpVariable %_ptr_Function_float Function
%36 = OpExtInst %float %1 Sinh %float_1
OpStore %undefined %36
%37 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_0
%10 = OpLoad %int %37
%38 = OpIEqual %bool %int_1 %10
%39 = OpLogicalNot %bool %38
OpSelectionMerge %40 None
OpBranchConditional %39 %41 %40
%41 = OpLabel
%42 = OpLoad %float %undefined
%43 = OpAccessChain %_ptr_Uniform_float %__0 %int_0 %int_0
%44 = OpLoad %float %43
%45 = OpFOrdGreaterThan %bool %42 %44
OpBranch %40
%40 = OpLabel
%46 = OpPhi %bool %38 %35 %45 %41
OpSelectionMerge %47 None
OpBranchConditional %46 %48 %49
%48 = OpLabel
%50 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_0
%12 = OpLoad %int %50
%51 = OpConvertSToF %float %12
%52 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_1
%13 = OpLoad %int %52
%53 = OpConvertSToF %float %13
%54 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_1
%14 = OpLoad %int %54
%55 = OpConvertSToF %float %14
%56 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_0
%15 = OpLoad %int %56
%57 = OpConvertSToF %float %15
%58 = OpCompositeConstruct %v4float %51 %53 %55 %57
OpStore %_GLF_color %58
OpBranch %47
%49 = OpLabel
%59 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_1
%16 = OpLoad %int %59
%60 = OpConvertSToF %float %16
%61 = OpCompositeConstruct %v4float %60 %60 %60 %60
OpStore %_GLF_color %61
OpBranch %47
%47 = OpLabel
OpReturn
OpFunctionEnd

View File

@ -30,7 +30,7 @@ fn main_1() {
var undefined : f32;
var x_45 : bool;
var x_46_phi : bool;
undefined = sinh(0x1.8p+128);
undefined = sinh(1.0);
let x_10 : i32 = x_6.x_GLF_uniform_int_values[0].el;
let x_38 : bool = (1 == x_10);
x_46_phi = x_38;

View File

@ -1,154 +1,154 @@
OpCapability Shader
%1 = OpExtInstImport "GLSL.std.450"
OpMemoryModel Logical GLSL450
OpEntryPoint Fragment %main "main" %_GLF_color
OpExecutionMode %main OriginUpperLeft
OpSource ESSL 310
OpName %main "main"
OpName %v1 "v1"
OpName %buf0 "buf0"
OpMemberName %buf0 0 "_GLF_uniform_float_values"
OpName %_ ""
OpName %v2 "v2"
OpName %v3 "v3"
OpName %v4 "v4"
OpName %_GLF_color "_GLF_color"
OpDecorate %_arr_float_uint_7 ArrayStride 16
OpMemberDecorate %buf0 0 Offset 0
OpDecorate %buf0 Block
OpDecorate %_ DescriptorSet 0
OpDecorate %_ Binding 0
OpDecorate %_GLF_color Location 0
%void = OpTypeVoid
%12 = OpTypeFunction %void
%float = OpTypeFloat 32
%v4float = OpTypeVector %float 4
OpCapability Shader
%1 = OpExtInstImport "GLSL.std.450"
OpMemoryModel Logical GLSL450
OpEntryPoint Fragment %main "main" %_GLF_color
OpExecutionMode %main OriginUpperLeft
OpSource ESSL 310
OpName %main "main"
OpName %v1 "v1"
OpName %buf0 "buf0"
OpMemberName %buf0 0 "_GLF_uniform_float_values"
OpName %_ ""
OpName %v2 "v2"
OpName %v3 "v3"
OpName %v4 "v4"
OpName %_GLF_color "_GLF_color"
OpDecorate %_arr_float_uint_7 ArrayStride 16
OpMemberDecorate %buf0 0 Offset 0
OpDecorate %buf0 Block
OpDecorate %_ DescriptorSet 0
OpDecorate %_ Binding 0
OpDecorate %_GLF_color Location 0
%void = OpTypeVoid
%12 = OpTypeFunction %void
%float = OpTypeFloat 32
%v4float = OpTypeVector %float 4
%_ptr_Function_v4float = OpTypePointer Function %v4float
%uint = OpTypeInt 32 0
%uint_7 = OpConstant %uint 7
%_arr_float_uint_7 = OpTypeArray %float %uint_7
%buf0 = OpTypeStruct %_arr_float_uint_7
%_ptr_Uniform_buf0 = OpTypePointer Uniform %buf0
%_ = OpVariable %_ptr_Uniform_buf0 Uniform
%int = OpTypeInt 32 1
%int_0 = OpConstant %int 0
%int_2 = OpConstant %int 2
%_ptr_Uniform_float = OpTypePointer Uniform %float
%float_1_57079637 = OpConstant %float 1.57079637
%float_1_11976957 = OpConstant %float 1.11976957
%float_0x1_8p_128 = OpConstant %float 0x1.8p+128
%float_0_927295208 = OpConstant %float 0.927295208
%27 = OpConstantComposite %v4float %float_1_57079637 %float_1_11976957 %float_0x1_8p_128 %float_0_927295208
%_ptr_Output_v4float = OpTypePointer Output %v4float
%_GLF_color = OpVariable %_ptr_Output_v4float Output
%bool = OpTypeBool
%uint_0 = OpConstant %uint 0
%_ptr_Function_float = OpTypePointer Function %float
%int_4 = OpConstant %int 4
%int_5 = OpConstant %int 5
%uint_1 = OpConstant %uint 1
%int_3 = OpConstant %int 3
%int_6 = OpConstant %int 6
%uint_3 = OpConstant %uint 3
%int_1 = OpConstant %int 1
%main = OpFunction %void None %12
%39 = OpLabel
%v1 = OpVariable %_ptr_Function_v4float Function
%v2 = OpVariable %_ptr_Function_v4float Function
%v3 = OpVariable %_ptr_Function_v4float Function
%v4 = OpVariable %_ptr_Function_v4float Function
%40 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %int_2
%41 = OpLoad %float %40
%42 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %int_2
%43 = OpLoad %float %42
%44 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %int_0
%45 = OpLoad %float %44
%46 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %int_2
%47 = OpLoad %float %46
%48 = OpCompositeConstruct %v4float %41 %43 %45 %47
OpStore %v1 %48
OpStore %v2 %27
%49 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %int_0
%50 = OpLoad %float %49
%51 = OpCompositeConstruct %v4float %50 %50 %50 %50
OpStore %v3 %51
%52 = OpLoad %v4float %v1
%53 = OpLoad %v4float %v2
%54 = OpLoad %v4float %v3
%55 = OpExtInst %v4float %1 SmoothStep %52 %53 %54
OpStore %v4 %55
%56 = OpLoad %v4float %v4
%57 = OpVectorShuffle %v4float %56 %56 0 1 3 0
OpStore %_GLF_color %57
%58 = OpAccessChain %_ptr_Function_float %v4 %uint_0
%59 = OpLoad %float %58
%60 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %int_4
%61 = OpLoad %float %60
%62 = OpFOrdGreaterThan %bool %59 %61
OpSelectionMerge %63 None
OpBranchConditional %62 %64 %63
%64 = OpLabel
%65 = OpAccessChain %_ptr_Function_float %v4 %uint_0
%66 = OpLoad %float %65
%67 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %int_5
%68 = OpLoad %float %67
%69 = OpFOrdLessThan %bool %66 %68
OpBranch %63
%63 = OpLabel
%70 = OpPhi %bool %62 %39 %69 %64
OpSelectionMerge %71 None
OpBranchConditional %70 %72 %71
%72 = OpLabel
%73 = OpAccessChain %_ptr_Function_float %v4 %uint_1
%74 = OpLoad %float %73
%75 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %int_3
%76 = OpLoad %float %75
%77 = OpFOrdGreaterThan %bool %74 %76
OpBranch %71
%71 = OpLabel
%78 = OpPhi %bool %70 %63 %77 %72
OpSelectionMerge %79 None
OpBranchConditional %78 %80 %79
%80 = OpLabel
%81 = OpAccessChain %_ptr_Function_float %v4 %uint_1
%82 = OpLoad %float %81
%83 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %int_6
%84 = OpLoad %float %83
%85 = OpFOrdLessThan %bool %82 %84
OpBranch %79
%79 = OpLabel
%86 = OpPhi %bool %78 %71 %85 %80
OpSelectionMerge %87 None
OpBranchConditional %86 %88 %87
%88 = OpLabel
%89 = OpAccessChain %_ptr_Function_float %v4 %uint_3
%90 = OpLoad %float %89
%91 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %int_0
%92 = OpLoad %float %91
%93 = OpFOrdEqual %bool %90 %92
OpBranch %87
%87 = OpLabel
%94 = OpPhi %bool %86 %79 %93 %88
OpSelectionMerge %95 None
OpBranchConditional %94 %96 %97
%96 = OpLabel
%98 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %int_0
%99 = OpLoad %float %98
%100 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %int_1
%101 = OpLoad %float %100
%102 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %int_1
%103 = OpLoad %float %102
%104 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %int_0
%105 = OpLoad %float %104
%106 = OpCompositeConstruct %v4float %99 %101 %103 %105
OpStore %_GLF_color %106
OpBranch %95
%97 = OpLabel
%107 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %int_1
%108 = OpLoad %float %107
%109 = OpCompositeConstruct %v4float %108 %108 %108 %108
OpStore %_GLF_color %109
OpBranch %95
%95 = OpLabel
OpReturn
OpFunctionEnd
%uint = OpTypeInt 32 0
%uint_7 = OpConstant %uint 7
%_arr_float_uint_7 = OpTypeArray %float %uint_7
%buf0 = OpTypeStruct %_arr_float_uint_7
%_ptr_Uniform_buf0 = OpTypePointer Uniform %buf0
%_ = OpVariable %_ptr_Uniform_buf0 Uniform
%int = OpTypeInt 32 1
%int_0 = OpConstant %int 0
%int_2 = OpConstant %int 2
%_ptr_Uniform_float = OpTypePointer Uniform %float
%float_1_57079637 = OpConstant %float 1.57079637
%float_1_11976957 = OpConstant %float 1.11976957
%float_1 = OpConstant %float 1.0
%float_0_927295208 = OpConstant %float 0.927295208
%27 = OpConstantComposite %v4float %float_1_57079637 %float_1_11976957 %float_1 %float_0_927295208
%_ptr_Output_v4float = OpTypePointer Output %v4float
%_GLF_color = OpVariable %_ptr_Output_v4float Output
%bool = OpTypeBool
%uint_0 = OpConstant %uint 0
%_ptr_Function_float = OpTypePointer Function %float
%int_4 = OpConstant %int 4
%int_5 = OpConstant %int 5
%uint_1 = OpConstant %uint 1
%int_3 = OpConstant %int 3
%int_6 = OpConstant %int 6
%uint_3 = OpConstant %uint 3
%int_1 = OpConstant %int 1
%main = OpFunction %void None %12
%39 = OpLabel
%v1 = OpVariable %_ptr_Function_v4float Function
%v2 = OpVariable %_ptr_Function_v4float Function
%v3 = OpVariable %_ptr_Function_v4float Function
%v4 = OpVariable %_ptr_Function_v4float Function
%40 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %int_2
%41 = OpLoad %float %40
%42 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %int_2
%43 = OpLoad %float %42
%44 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %int_0
%45 = OpLoad %float %44
%46 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %int_2
%47 = OpLoad %float %46
%48 = OpCompositeConstruct %v4float %41 %43 %45 %47
OpStore %v1 %48
OpStore %v2 %27
%49 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %int_0
%50 = OpLoad %float %49
%51 = OpCompositeConstruct %v4float %50 %50 %50 %50
OpStore %v3 %51
%52 = OpLoad %v4float %v1
%53 = OpLoad %v4float %v2
%54 = OpLoad %v4float %v3
%55 = OpExtInst %v4float %1 SmoothStep %52 %53 %54
OpStore %v4 %55
%56 = OpLoad %v4float %v4
%57 = OpVectorShuffle %v4float %56 %56 0 1 3 0
OpStore %_GLF_color %57
%58 = OpAccessChain %_ptr_Function_float %v4 %uint_0
%59 = OpLoad %float %58
%60 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %int_4
%61 = OpLoad %float %60
%62 = OpFOrdGreaterThan %bool %59 %61
OpSelectionMerge %63 None
OpBranchConditional %62 %64 %63
%64 = OpLabel
%65 = OpAccessChain %_ptr_Function_float %v4 %uint_0
%66 = OpLoad %float %65
%67 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %int_5
%68 = OpLoad %float %67
%69 = OpFOrdLessThan %bool %66 %68
OpBranch %63
%63 = OpLabel
%70 = OpPhi %bool %62 %39 %69 %64
OpSelectionMerge %71 None
OpBranchConditional %70 %72 %71
%72 = OpLabel
%73 = OpAccessChain %_ptr_Function_float %v4 %uint_1
%74 = OpLoad %float %73
%75 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %int_3
%76 = OpLoad %float %75
%77 = OpFOrdGreaterThan %bool %74 %76
OpBranch %71
%71 = OpLabel
%78 = OpPhi %bool %70 %63 %77 %72
OpSelectionMerge %79 None
OpBranchConditional %78 %80 %79
%80 = OpLabel
%81 = OpAccessChain %_ptr_Function_float %v4 %uint_1
%82 = OpLoad %float %81
%83 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %int_6
%84 = OpLoad %float %83
%85 = OpFOrdLessThan %bool %82 %84
OpBranch %79
%79 = OpLabel
%86 = OpPhi %bool %78 %71 %85 %80
OpSelectionMerge %87 None
OpBranchConditional %86 %88 %87
%88 = OpLabel
%89 = OpAccessChain %_ptr_Function_float %v4 %uint_3
%90 = OpLoad %float %89
%91 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %int_0
%92 = OpLoad %float %91
%93 = OpFOrdEqual %bool %90 %92
OpBranch %87
%87 = OpLabel
%94 = OpPhi %bool %86 %79 %93 %88
OpSelectionMerge %95 None
OpBranchConditional %94 %96 %97
%96 = OpLabel
%98 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %int_0
%99 = OpLoad %float %98
%100 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %int_1
%101 = OpLoad %float %100
%102 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %int_1
%103 = OpLoad %float %102
%104 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %int_0
%105 = OpLoad %float %104
%106 = OpCompositeConstruct %v4float %99 %101 %103 %105
OpStore %_GLF_color %106
OpBranch %95
%97 = OpLabel
%107 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %int_1
%108 = OpLoad %float %107
%109 = OpCompositeConstruct %v4float %108 %108 %108 %108
OpStore %_GLF_color %109
OpBranch %95
%95 = OpLabel
OpReturn
OpFunctionEnd

View File

@ -31,7 +31,7 @@ fn main_1() {
let x_45 : f32 = x_6.x_GLF_uniform_float_values[0].el;
let x_47 : f32 = x_6.x_GLF_uniform_float_values[2].el;
v1 = vec4<f32>(x_41, x_43, x_45, x_47);
v2 = vec4<f32>(1.570796371, 1.119769573, 0x1.8p+128, 0.927295208);
v2 = vec4<f32>(1.570796371, 1.119769573, 1.0, 0.927295208);
let x_50 : f32 = x_6.x_GLF_uniform_float_values[0].el;
v3 = vec4<f32>(x_50, x_50, x_50, x_50);
let x_52 : vec4<f32> = v1;

View File

@ -1,97 +1,97 @@
OpCapability Shader
%1 = OpExtInstImport "GLSL.std.450"
OpMemoryModel Logical GLSL450
OpEntryPoint Fragment %main "main" %gl_FragCoord %_GLF_color
OpExecutionMode %main OriginUpperLeft
OpSource ESSL 320
OpName %main "main"
OpName %f0 "f0"
OpName %f1 "f1"
OpName %gl_FragCoord "gl_FragCoord"
OpName %buf0 "buf0"
OpMemberName %buf0 0 "_GLF_uniform_float_values"
OpName %_ ""
OpName %_GLF_color "_GLF_color"
OpName %buf1 "buf1"
OpMemberName %buf1 0 "_GLF_uniform_int_values"
OpName %__0 ""
OpDecorate %gl_FragCoord BuiltIn FragCoord
OpDecorate %_arr_float_uint_1 ArrayStride 16
OpMemberDecorate %buf0 0 Offset 0
OpDecorate %buf0 Block
OpDecorate %_ DescriptorSet 0
OpDecorate %_ Binding 0
OpDecorate %_GLF_color Location 0
OpDecorate %_arr_int_uint_2 ArrayStride 16
OpMemberDecorate %buf1 0 Offset 0
OpDecorate %buf1 Block
OpDecorate %__0 DescriptorSet 0
OpDecorate %__0 Binding 1
%void = OpTypeVoid
%14 = OpTypeFunction %void
%float = OpTypeFloat 32
OpCapability Shader
%1 = OpExtInstImport "GLSL.std.450"
OpMemoryModel Logical GLSL450
OpEntryPoint Fragment %main "main" %gl_FragCoord %_GLF_color
OpExecutionMode %main OriginUpperLeft
OpSource ESSL 320
OpName %main "main"
OpName %f0 "f0"
OpName %f1 "f1"
OpName %gl_FragCoord "gl_FragCoord"
OpName %buf0 "buf0"
OpMemberName %buf0 0 "_GLF_uniform_float_values"
OpName %_ ""
OpName %_GLF_color "_GLF_color"
OpName %buf1 "buf1"
OpMemberName %buf1 0 "_GLF_uniform_int_values"
OpName %__0 ""
OpDecorate %gl_FragCoord BuiltIn FragCoord
OpDecorate %_arr_float_uint_1 ArrayStride 16
OpMemberDecorate %buf0 0 Offset 0
OpDecorate %buf0 Block
OpDecorate %_ DescriptorSet 0
OpDecorate %_ Binding 0
OpDecorate %_GLF_color Location 0
OpDecorate %_arr_int_uint_2 ArrayStride 16
OpMemberDecorate %buf1 0 Offset 0
OpDecorate %buf1 Block
OpDecorate %__0 DescriptorSet 0
OpDecorate %__0 Binding 1
%void = OpTypeVoid
%14 = OpTypeFunction %void
%float = OpTypeFloat 32
%_ptr_Function_float = OpTypePointer Function %float
%float_0x1_8p_128 = OpConstant %float 0x1.8p+128
%v4float = OpTypeVector %float 4
%_ptr_Input_v4float = OpTypePointer Input %v4float
%gl_FragCoord = OpVariable %_ptr_Input_v4float Input
%uint = OpTypeInt 32 0
%uint_0 = OpConstant %uint 0
%_ptr_Input_float = OpTypePointer Input %float
%uint_1 = OpConstant %uint 1
%_arr_float_uint_1 = OpTypeArray %float %uint_1
%buf0 = OpTypeStruct %_arr_float_uint_1
%_ptr_Uniform_buf0 = OpTypePointer Uniform %buf0
%_ = OpVariable %_ptr_Uniform_buf0 Uniform
%int = OpTypeInt 32 1
%int_0 = OpConstant %int 0
%_ptr_Uniform_float = OpTypePointer Uniform %float
%bool = OpTypeBool
%float_1 = OpConstant %float 1.0
%v4float = OpTypeVector %float 4
%_ptr_Input_v4float = OpTypePointer Input %v4float
%gl_FragCoord = OpVariable %_ptr_Input_v4float Input
%uint = OpTypeInt 32 0
%uint_0 = OpConstant %uint 0
%_ptr_Input_float = OpTypePointer Input %float
%uint_1 = OpConstant %uint 1
%_arr_float_uint_1 = OpTypeArray %float %uint_1
%buf0 = OpTypeStruct %_arr_float_uint_1
%_ptr_Uniform_buf0 = OpTypePointer Uniform %buf0
%_ = OpVariable %_ptr_Uniform_buf0 Uniform
%int = OpTypeInt 32 1
%int_0 = OpConstant %int 0
%_ptr_Uniform_float = OpTypePointer Uniform %float
%bool = OpTypeBool
%_ptr_Output_v4float = OpTypePointer Output %v4float
%_GLF_color = OpVariable %_ptr_Output_v4float Output
%uint_2 = OpConstant %uint 2
%_arr_int_uint_2 = OpTypeArray %int %uint_2
%buf1 = OpTypeStruct %_arr_int_uint_2
%_ptr_Uniform_buf1 = OpTypePointer Uniform %buf1
%__0 = OpVariable %_ptr_Uniform_buf1 Uniform
%int_1 = OpConstant %int 1
%_ptr_Uniform_int = OpTypePointer Uniform %int
%main = OpFunction %void None %14
%34 = OpLabel
%f0 = OpVariable %_ptr_Function_float Function
%f1 = OpVariable %_ptr_Function_float Function
OpStore %f0 %float_0x1_8p_128
%35 = OpLoad %float %f0
%36 = OpExtInst %float %1 Fract %35
OpStore %f1 %36
%37 = OpAccessChain %_ptr_Input_float %gl_FragCoord %uint_0
%38 = OpLoad %float %37
%39 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %int_0
%40 = OpLoad %float %39
%41 = OpFOrdGreaterThan %bool %38 %40
OpSelectionMerge %42 None
OpBranchConditional %41 %43 %44
%43 = OpLabel
%45 = OpAccessChain %_ptr_Uniform_int %__0 %int_0 %int_1
%46 = OpLoad %int %45
%47 = OpConvertSToF %float %46
%48 = OpAccessChain %_ptr_Uniform_int %__0 %int_0 %int_0
%49 = OpLoad %int %48
%50 = OpConvertSToF %float %49
%51 = OpAccessChain %_ptr_Uniform_int %__0 %int_0 %int_0
%52 = OpLoad %int %51
%53 = OpConvertSToF %float %52
%54 = OpAccessChain %_ptr_Uniform_int %__0 %int_0 %int_1
%55 = OpLoad %int %54
%56 = OpConvertSToF %float %55
%57 = OpCompositeConstruct %v4float %47 %50 %53 %56
OpStore %_GLF_color %57
OpBranch %42
%44 = OpLabel
%58 = OpLoad %float %f1
%59 = OpCompositeConstruct %v4float %58 %58 %58 %58
OpStore %_GLF_color %59
OpBranch %42
%42 = OpLabel
OpReturn
OpFunctionEnd
%_GLF_color = OpVariable %_ptr_Output_v4float Output
%uint_2 = OpConstant %uint 2
%_arr_int_uint_2 = OpTypeArray %int %uint_2
%buf1 = OpTypeStruct %_arr_int_uint_2
%_ptr_Uniform_buf1 = OpTypePointer Uniform %buf1
%__0 = OpVariable %_ptr_Uniform_buf1 Uniform
%int_1 = OpConstant %int 1
%_ptr_Uniform_int = OpTypePointer Uniform %int
%main = OpFunction %void None %14
%34 = OpLabel
%f0 = OpVariable %_ptr_Function_float Function
%f1 = OpVariable %_ptr_Function_float Function
OpStore %f0 %float_1
%35 = OpLoad %float %f0
%36 = OpExtInst %float %1 Fract %35
OpStore %f1 %36
%37 = OpAccessChain %_ptr_Input_float %gl_FragCoord %uint_0
%38 = OpLoad %float %37
%39 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %int_0
%40 = OpLoad %float %39
%41 = OpFOrdGreaterThan %bool %38 %40
OpSelectionMerge %42 None
OpBranchConditional %41 %43 %44
%43 = OpLabel
%45 = OpAccessChain %_ptr_Uniform_int %__0 %int_0 %int_1
%46 = OpLoad %int %45
%47 = OpConvertSToF %float %46
%48 = OpAccessChain %_ptr_Uniform_int %__0 %int_0 %int_0
%49 = OpLoad %int %48
%50 = OpConvertSToF %float %49
%51 = OpAccessChain %_ptr_Uniform_int %__0 %int_0 %int_0
%52 = OpLoad %int %51
%53 = OpConvertSToF %float %52
%54 = OpAccessChain %_ptr_Uniform_int %__0 %int_0 %int_1
%55 = OpLoad %int %54
%56 = OpConvertSToF %float %55
%57 = OpCompositeConstruct %v4float %47 %50 %53 %56
OpStore %_GLF_color %57
OpBranch %42
%44 = OpLabel
%58 = OpLoad %float %f1
%59 = OpCompositeConstruct %v4float %58 %58 %58 %58
OpStore %_GLF_color %59
OpBranch %42
%42 = OpLabel
OpReturn
OpFunctionEnd

View File

@ -31,7 +31,7 @@ var<private> x_GLF_color : vec4<f32>;
fn main_1() {
var f0 : f32;
var f1 : f32;
f0 = 0x1.8p+128;
f0 = 1.0;
let x_35 : f32 = f0;
f1 = fract(x_35);
let x_38 : f32 = gl_FragCoord.x;

View File

@ -1,93 +1,93 @@
OpCapability Shader
%1 = OpExtInstImport "GLSL.std.450"
OpMemoryModel Logical GLSL450
OpEntryPoint Fragment %main "main" %_GLF_color
OpExecutionMode %main OriginUpperLeft
OpSource ESSL 310
OpName %main "main"
OpName %_GLF_color "_GLF_color"
OpName %buf0 "buf0"
OpMemberName %buf0 0 "_GLF_uniform_int_values"
OpName %_ ""
OpName %a "a"
OpName %buf1 "buf1"
OpMemberName %buf1 0 "_GLF_uniform_float_values"
OpName %__0 ""
OpDecorate %_GLF_color Location 0
OpDecorate %_arr_int_uint_2 ArrayStride 16
OpMemberDecorate %buf0 0 RelaxedPrecision
OpMemberDecorate %buf0 0 Offset 0
OpDecorate %buf0 Block
OpDecorate %_ DescriptorSet 0
OpDecorate %_ Binding 0
OpDecorate %10 RelaxedPrecision
OpDecorate %11 RelaxedPrecision
OpDecorate %12 RelaxedPrecision
OpDecorate %13 RelaxedPrecision
OpDecorate %_arr_float_uint_2 ArrayStride 16
OpMemberDecorate %buf1 0 Offset 0
OpDecorate %buf1 Block
OpDecorate %__0 DescriptorSet 0
OpDecorate %__0 Binding 1
%void = OpTypeVoid
%16 = OpTypeFunction %void
%float = OpTypeFloat 32
%v4float = OpTypeVector %float 4
OpCapability Shader
%1 = OpExtInstImport "GLSL.std.450"
OpMemoryModel Logical GLSL450
OpEntryPoint Fragment %main "main" %_GLF_color
OpExecutionMode %main OriginUpperLeft
OpSource ESSL 310
OpName %main "main"
OpName %_GLF_color "_GLF_color"
OpName %buf0 "buf0"
OpMemberName %buf0 0 "_GLF_uniform_int_values"
OpName %_ ""
OpName %a "a"
OpName %buf1 "buf1"
OpMemberName %buf1 0 "_GLF_uniform_float_values"
OpName %__0 ""
OpDecorate %_GLF_color Location 0
OpDecorate %_arr_int_uint_2 ArrayStride 16
OpMemberDecorate %buf0 0 RelaxedPrecision
OpMemberDecorate %buf0 0 Offset 0
OpDecorate %buf0 Block
OpDecorate %_ DescriptorSet 0
OpDecorate %_ Binding 0
OpDecorate %10 RelaxedPrecision
OpDecorate %11 RelaxedPrecision
OpDecorate %12 RelaxedPrecision
OpDecorate %13 RelaxedPrecision
OpDecorate %_arr_float_uint_2 ArrayStride 16
OpMemberDecorate %buf1 0 Offset 0
OpDecorate %buf1 Block
OpDecorate %__0 DescriptorSet 0
OpDecorate %__0 Binding 1
%void = OpTypeVoid
%16 = OpTypeFunction %void
%float = OpTypeFloat 32
%v4float = OpTypeVector %float 4
%_ptr_Output_v4float = OpTypePointer Output %v4float
%_GLF_color = OpVariable %_ptr_Output_v4float Output
%int = OpTypeInt 32 1
%uint = OpTypeInt 32 0
%uint_2 = OpConstant %uint 2
%_arr_int_uint_2 = OpTypeArray %int %uint_2
%buf0 = OpTypeStruct %_arr_int_uint_2
%_ptr_Uniform_buf0 = OpTypePointer Uniform %buf0
%_ = OpVariable %_ptr_Uniform_buf0 Uniform
%int_0 = OpConstant %int 0
%_ptr_Uniform_int = OpTypePointer Uniform %int
%int_1 = OpConstant %int 1
%_GLF_color = OpVariable %_ptr_Output_v4float Output
%int = OpTypeInt 32 1
%uint = OpTypeInt 32 0
%uint_2 = OpConstant %uint 2
%_arr_int_uint_2 = OpTypeArray %int %uint_2
%buf0 = OpTypeStruct %_arr_int_uint_2
%_ptr_Uniform_buf0 = OpTypePointer Uniform %buf0
%_ = OpVariable %_ptr_Uniform_buf0 Uniform
%int_0 = OpConstant %int 0
%_ptr_Uniform_int = OpTypePointer Uniform %int
%int_1 = OpConstant %int 1
%_ptr_Function_float = OpTypePointer Function %float
%_arr_float_uint_2 = OpTypeArray %float %uint_2
%buf1 = OpTypeStruct %_arr_float_uint_2
%_ptr_Uniform_buf1 = OpTypePointer Uniform %buf1
%__0 = OpVariable %_ptr_Uniform_buf1 Uniform
%_ptr_Uniform_float = OpTypePointer Uniform %float
%float_0x1_8p_128 = OpConstant %float 0x1.8p+128
%bool = OpTypeBool
%uint_1 = OpConstant %uint 1
%_ptr_Output_float = OpTypePointer Output %float
%main = OpFunction %void None %16
%34 = OpLabel
%a = OpVariable %_ptr_Function_float Function
%35 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_0
%10 = OpLoad %int %35
%36 = OpConvertSToF %float %10
%37 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_1
%11 = OpLoad %int %37
%38 = OpConvertSToF %float %11
%39 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_1
%12 = OpLoad %int %39
%40 = OpConvertSToF %float %12
%41 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_0
%13 = OpLoad %int %41
%42 = OpConvertSToF %float %13
%43 = OpCompositeConstruct %v4float %36 %38 %40 %42
OpStore %_GLF_color %43
%44 = OpAccessChain %_ptr_Uniform_float %__0 %int_0 %int_1
%45 = OpLoad %float %44
%46 = OpFMod %float %45 %float_0x1_8p_128
OpStore %a %46
%47 = OpLoad %float %a
%48 = OpAccessChain %_ptr_Uniform_float %__0 %int_0 %int_0
%49 = OpLoad %float %48
%50 = OpFOrdNotEqual %bool %47 %49
OpSelectionMerge %51 None
OpBranchConditional %50 %52 %51
%52 = OpLabel
%53 = OpAccessChain %_ptr_Uniform_float %__0 %int_0 %int_0
%54 = OpLoad %float %53
%55 = OpAccessChain %_ptr_Output_float %_GLF_color %uint_1
OpStore %55 %54
OpBranch %51
%51 = OpLabel
OpReturn
OpFunctionEnd
%_arr_float_uint_2 = OpTypeArray %float %uint_2
%buf1 = OpTypeStruct %_arr_float_uint_2
%_ptr_Uniform_buf1 = OpTypePointer Uniform %buf1
%__0 = OpVariable %_ptr_Uniform_buf1 Uniform
%_ptr_Uniform_float = OpTypePointer Uniform %float
%float_1 = OpConstant %float 1.0
%bool = OpTypeBool
%uint_1 = OpConstant %uint 1
%_ptr_Output_float = OpTypePointer Output %float
%main = OpFunction %void None %16
%34 = OpLabel
%a = OpVariable %_ptr_Function_float Function
%35 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_0
%10 = OpLoad %int %35
%36 = OpConvertSToF %float %10
%37 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_1
%11 = OpLoad %int %37
%38 = OpConvertSToF %float %11
%39 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_1
%12 = OpLoad %int %39
%40 = OpConvertSToF %float %12
%41 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_0
%13 = OpLoad %int %41
%42 = OpConvertSToF %float %13
%43 = OpCompositeConstruct %v4float %36 %38 %40 %42
OpStore %_GLF_color %43
%44 = OpAccessChain %_ptr_Uniform_float %__0 %int_0 %int_1
%45 = OpLoad %float %44
%46 = OpFMod %float %45 %float_1
OpStore %a %46
%47 = OpLoad %float %a
%48 = OpAccessChain %_ptr_Uniform_float %__0 %int_0 %int_0
%49 = OpLoad %float %48
%50 = OpFOrdNotEqual %bool %47 %49
OpSelectionMerge %51 None
OpBranchConditional %50 %52 %51
%52 = OpLabel
%53 = OpAccessChain %_ptr_Uniform_float %__0 %int_0 %int_0
%54 = OpLoad %float %53
%55 = OpAccessChain %_ptr_Output_float %_GLF_color %uint_1
OpStore %55 %54
OpBranch %51
%51 = OpLabel
OpReturn
OpFunctionEnd

View File

@ -34,7 +34,7 @@ fn main_1() {
let x_13 : i32 = x_5.x_GLF_uniform_int_values[0].el;
x_GLF_color = vec4<f32>(f32(x_10), f32(x_11), f32(x_12), f32(x_13));
let x_45 : f32 = x_8.x_GLF_uniform_float_values[1].el;
a = (x_45 - (0x1.8p+128 * floor((x_45 / 0x1.8p+128))));
a = (x_45 - (1.0 * floor((x_45 / 1.0))));
let x_47 : f32 = a;
let x_49 : f32 = x_8.x_GLF_uniform_float_values[0].el;
if ((x_47 != x_49)) {

View File

@ -1,93 +1,93 @@
OpCapability Shader
%1 = OpExtInstImport "GLSL.std.450"
OpMemoryModel Logical GLSL450
OpEntryPoint Fragment %main "main" %_GLF_color
OpExecutionMode %main OriginUpperLeft
OpSource ESSL 310
OpName %main "main"
OpName %_GLF_color "_GLF_color"
OpName %buf0 "buf0"
OpMemberName %buf0 0 "_GLF_uniform_int_values"
OpName %_ ""
OpName %a "a"
OpName %buf1 "buf1"
OpMemberName %buf1 0 "_GLF_uniform_float_values"
OpName %__0 ""
OpDecorate %_GLF_color Location 0
OpDecorate %_arr_int_uint_2 ArrayStride 16
OpMemberDecorate %buf0 0 RelaxedPrecision
OpMemberDecorate %buf0 0 Offset 0
OpDecorate %buf0 Block
OpDecorate %_ DescriptorSet 0
OpDecorate %_ Binding 0
OpDecorate %10 RelaxedPrecision
OpDecorate %11 RelaxedPrecision
OpDecorate %12 RelaxedPrecision
OpDecorate %13 RelaxedPrecision
OpDecorate %_arr_float_uint_2 ArrayStride 16
OpMemberDecorate %buf1 0 Offset 0
OpDecorate %buf1 Block
OpDecorate %__0 DescriptorSet 0
OpDecorate %__0 Binding 1
%void = OpTypeVoid
%16 = OpTypeFunction %void
%float = OpTypeFloat 32
%v4float = OpTypeVector %float 4
OpCapability Shader
%1 = OpExtInstImport "GLSL.std.450"
OpMemoryModel Logical GLSL450
OpEntryPoint Fragment %main "main" %_GLF_color
OpExecutionMode %main OriginUpperLeft
OpSource ESSL 310
OpName %main "main"
OpName %_GLF_color "_GLF_color"
OpName %buf0 "buf0"
OpMemberName %buf0 0 "_GLF_uniform_int_values"
OpName %_ ""
OpName %a "a"
OpName %buf1 "buf1"
OpMemberName %buf1 0 "_GLF_uniform_float_values"
OpName %__0 ""
OpDecorate %_GLF_color Location 0
OpDecorate %_arr_int_uint_2 ArrayStride 16
OpMemberDecorate %buf0 0 RelaxedPrecision
OpMemberDecorate %buf0 0 Offset 0
OpDecorate %buf0 Block
OpDecorate %_ DescriptorSet 0
OpDecorate %_ Binding 0
OpDecorate %10 RelaxedPrecision
OpDecorate %11 RelaxedPrecision
OpDecorate %12 RelaxedPrecision
OpDecorate %13 RelaxedPrecision
OpDecorate %_arr_float_uint_2 ArrayStride 16
OpMemberDecorate %buf1 0 Offset 0
OpDecorate %buf1 Block
OpDecorate %__0 DescriptorSet 0
OpDecorate %__0 Binding 1
%void = OpTypeVoid
%16 = OpTypeFunction %void
%float = OpTypeFloat 32
%v4float = OpTypeVector %float 4
%_ptr_Output_v4float = OpTypePointer Output %v4float
%_GLF_color = OpVariable %_ptr_Output_v4float Output
%int = OpTypeInt 32 1
%uint = OpTypeInt 32 0
%uint_2 = OpConstant %uint 2
%_arr_int_uint_2 = OpTypeArray %int %uint_2
%buf0 = OpTypeStruct %_arr_int_uint_2
%_ptr_Uniform_buf0 = OpTypePointer Uniform %buf0
%_ = OpVariable %_ptr_Uniform_buf0 Uniform
%int_0 = OpConstant %int 0
%_ptr_Uniform_int = OpTypePointer Uniform %int
%int_1 = OpConstant %int 1
%_GLF_color = OpVariable %_ptr_Output_v4float Output
%int = OpTypeInt 32 1
%uint = OpTypeInt 32 0
%uint_2 = OpConstant %uint 2
%_arr_int_uint_2 = OpTypeArray %int %uint_2
%buf0 = OpTypeStruct %_arr_int_uint_2
%_ptr_Uniform_buf0 = OpTypePointer Uniform %buf0
%_ = OpVariable %_ptr_Uniform_buf0 Uniform
%int_0 = OpConstant %int 0
%_ptr_Uniform_int = OpTypePointer Uniform %int
%int_1 = OpConstant %int 1
%_ptr_Function_float = OpTypePointer Function %float
%float_n0x1_8p_128 = OpConstant %float -0x1.8p+128
%_arr_float_uint_2 = OpTypeArray %float %uint_2
%buf1 = OpTypeStruct %_arr_float_uint_2
%_ptr_Uniform_buf1 = OpTypePointer Uniform %buf1
%__0 = OpVariable %_ptr_Uniform_buf1 Uniform
%_ptr_Uniform_float = OpTypePointer Uniform %float
%bool = OpTypeBool
%uint_1 = OpConstant %uint 1
%_ptr_Output_float = OpTypePointer Output %float
%main = OpFunction %void None %16
%34 = OpLabel
%a = OpVariable %_ptr_Function_float Function
%35 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_0
%10 = OpLoad %int %35
%36 = OpConvertSToF %float %10
%37 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_1
%11 = OpLoad %int %37
%38 = OpConvertSToF %float %11
%39 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_1
%12 = OpLoad %int %39
%40 = OpConvertSToF %float %12
%41 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_0
%13 = OpLoad %int %41
%42 = OpConvertSToF %float %13
%43 = OpCompositeConstruct %v4float %36 %38 %40 %42
OpStore %_GLF_color %43
%44 = OpAccessChain %_ptr_Uniform_float %__0 %int_0 %int_1
%45 = OpLoad %float %44
%46 = OpFMod %float %float_n0x1_8p_128 %45
OpStore %a %46
%47 = OpLoad %float %a
%48 = OpAccessChain %_ptr_Uniform_float %__0 %int_0 %int_0
%49 = OpLoad %float %48
%50 = OpFOrdNotEqual %bool %47 %49
OpSelectionMerge %51 None
OpBranchConditional %50 %52 %51
%52 = OpLabel
%53 = OpAccessChain %_ptr_Uniform_float %__0 %int_0 %int_0
%54 = OpLoad %float %53
%55 = OpAccessChain %_ptr_Output_float %_GLF_color %uint_1
OpStore %55 %54
OpBranch %51
%51 = OpLabel
OpReturn
OpFunctionEnd
%float_1 = OpConstant %float 1.0
%_arr_float_uint_2 = OpTypeArray %float %uint_2
%buf1 = OpTypeStruct %_arr_float_uint_2
%_ptr_Uniform_buf1 = OpTypePointer Uniform %buf1
%__0 = OpVariable %_ptr_Uniform_buf1 Uniform
%_ptr_Uniform_float = OpTypePointer Uniform %float
%bool = OpTypeBool
%uint_1 = OpConstant %uint 1
%_ptr_Output_float = OpTypePointer Output %float
%main = OpFunction %void None %16
%34 = OpLabel
%a = OpVariable %_ptr_Function_float Function
%35 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_0
%10 = OpLoad %int %35
%36 = OpConvertSToF %float %10
%37 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_1
%11 = OpLoad %int %37
%38 = OpConvertSToF %float %11
%39 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_1
%12 = OpLoad %int %39
%40 = OpConvertSToF %float %12
%41 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_0
%13 = OpLoad %int %41
%42 = OpConvertSToF %float %13
%43 = OpCompositeConstruct %v4float %36 %38 %40 %42
OpStore %_GLF_color %43
%44 = OpAccessChain %_ptr_Uniform_float %__0 %int_0 %int_1
%45 = OpLoad %float %44
%46 = OpFMod %float %float_1 %45
OpStore %a %46
%47 = OpLoad %float %a
%48 = OpAccessChain %_ptr_Uniform_float %__0 %int_0 %int_0
%49 = OpLoad %float %48
%50 = OpFOrdNotEqual %bool %47 %49
OpSelectionMerge %51 None
OpBranchConditional %50 %52 %51
%52 = OpLabel
%53 = OpAccessChain %_ptr_Uniform_float %__0 %int_0 %int_0
%54 = OpLoad %float %53
%55 = OpAccessChain %_ptr_Output_float %_GLF_color %uint_1
OpStore %55 %54
OpBranch %51
%51 = OpLabel
OpReturn
OpFunctionEnd

View File

@ -34,7 +34,7 @@ fn main_1() {
let x_13 : i32 = x_5.x_GLF_uniform_int_values[0].el;
x_GLF_color = vec4<f32>(f32(x_10), f32(x_11), f32(x_12), f32(x_13));
let x_45 : f32 = x_8.x_GLF_uniform_float_values[1].el;
a = (-0x1.8p+128 - (x_45 * floor((-0x1.8p+128 / x_45))));
a = (1.0 - (x_45 * floor((1.0 / x_45))));
let x_47 : f32 = a;
let x_49 : f32 = x_8.x_GLF_uniform_float_values[0].el;
if ((x_47 != x_49)) {

View File

@ -1,114 +1,113 @@
OpCapability Shader
%1 = OpExtInstImport "GLSL.std.450"
OpMemoryModel Logical GLSL450
OpEntryPoint Fragment %main "main" %_GLF_color
OpExecutionMode %main OriginUpperLeft
OpSource ESSL 310
OpName %main "main"
OpName %m24 "m24"
OpName %buf0 "buf0"
OpMemberName %buf0 0 "_GLF_uniform_float_values"
OpName %_ ""
OpName %buf1 "buf1"
OpMemberName %buf1 0 "v1"
OpName %__0 ""
OpName %a "a"
OpName %v2 "v2"
OpName %v3 "v3"
OpName %_GLF_color "_GLF_color"
OpDecorate %_arr_float_uint_1 ArrayStride 16
OpMemberDecorate %buf0 0 Offset 0
OpDecorate %buf0 Block
OpDecorate %_ DescriptorSet 0
OpDecorate %_ Binding 0
OpMemberDecorate %buf1 0 Offset 0
OpDecorate %buf1 Block
OpDecorate %__0 DescriptorSet 0
OpDecorate %__0 Binding 1
OpDecorate %_GLF_color Location 0
%void = OpTypeVoid
%14 = OpTypeFunction %void
%float = OpTypeFloat 32
%v2float = OpTypeVector %float 2
%mat2v2float = OpTypeMatrix %v2float 2
OpCapability Shader
%1 = OpExtInstImport "GLSL.std.450"
OpMemoryModel Logical GLSL450
OpEntryPoint Fragment %main "main" %_GLF_color
OpExecutionMode %main OriginUpperLeft
OpSource ESSL 310
OpName %main "main"
OpName %m24 "m24"
OpName %buf0 "buf0"
OpMemberName %buf0 0 "_GLF_uniform_float_values"
OpName %_ ""
OpName %buf1 "buf1"
OpMemberName %buf1 0 "v1"
OpName %__0 ""
OpName %a "a"
OpName %v2 "v2"
OpName %v3 "v3"
OpName %_GLF_color "_GLF_color"
OpDecorate %_arr_float_uint_1 ArrayStride 16
OpMemberDecorate %buf0 0 Offset 0
OpDecorate %buf0 Block
OpDecorate %_ DescriptorSet 0
OpDecorate %_ Binding 0
OpMemberDecorate %buf1 0 Offset 0
OpDecorate %buf1 Block
OpDecorate %__0 DescriptorSet 0
OpDecorate %__0 Binding 1
OpDecorate %_GLF_color Location 0
%void = OpTypeVoid
%14 = OpTypeFunction %void
%float = OpTypeFloat 32
%v2float = OpTypeVector %float 2
%mat2v2float = OpTypeMatrix %v2float 2
%_ptr_Function_mat2v2float = OpTypePointer Function %mat2v2float
%uint = OpTypeInt 32 0
%uint_1 = OpConstant %uint 1
%_arr_float_uint_1 = OpTypeArray %float %uint_1
%buf0 = OpTypeStruct %_arr_float_uint_1
%_ptr_Uniform_buf0 = OpTypePointer Uniform %buf0
%_ = OpVariable %_ptr_Uniform_buf0 Uniform
%int = OpTypeInt 32 1
%int_0 = OpConstant %int 0
%_ptr_Uniform_float = OpTypePointer Uniform %float
%buf1 = OpTypeStruct %v2float
%_ptr_Uniform_buf1 = OpTypePointer Uniform %buf1
%__0 = OpVariable %_ptr_Uniform_buf1 Uniform
%uint_0 = OpConstant %uint 0
%float_1 = OpConstant %float 1
%float_0 = OpConstant %float 0
%_ptr_Function_float = OpTypePointer Function %float
%_ptr_Function_v2float = OpTypePointer Function %v2float
%float_n0x1_8p_128 = OpConstant %float -0x1.8p+128
%32 = OpConstantComposite %v2float %float_n0x1_8p_128 %float_1
%v4float = OpTypeVector %float 4
%_ptr_Output_v4float = OpTypePointer Output %v4float
%_GLF_color = OpVariable %_ptr_Output_v4float Output
%bool = OpTypeBool
%36 = OpConstantComposite %v2float %float_0 %float_0
%37 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_0
%main = OpFunction %void None %14
%38 = OpLabel
%m24 = OpVariable %_ptr_Function_mat2v2float Function
%a = OpVariable %_ptr_Function_float Function
%v2 = OpVariable %_ptr_Function_v2float Function
%v3 = OpVariable %_ptr_Function_v2float Function
%39 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %int_0
%40 = OpLoad %float %39
%41 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %int_0
%42 = OpLoad %float %41
%43 = OpAccessChain %_ptr_Uniform_float %__0 %int_0 %uint_0
%44 = OpLoad %float %43
%45 = OpFMul %float %44 %float_1
%46 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %int_0
%47 = OpLoad %float %46
%48 = OpCompositeConstruct %v2float %40 %42
%49 = OpCompositeConstruct %v2float %45 %47
%50 = OpCompositeConstruct %mat2v2float %48 %49
OpStore %m24 %50
%51 = OpLoad %mat2v2float %m24
%52 = OpCompositeExtract %float %51 0 0
OpStore %a %52
OpStore %v2 %32
%53 = OpLoad %v2float %v2
%54 = OpLoad %float %a
%55 = OpCompositeConstruct %v2float %54 %float_1
%56 = OpExtInst %v2float %1 Reflect %53 %55
OpStore %v3 %56
%57 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %int_0
%58 = OpLoad %float %57
%59 = OpLoad %v2float %v3
%60 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %int_0
%61 = OpLoad %float %60
%62 = OpCompositeExtract %float %59 0
%63 = OpCompositeExtract %float %59 1
%64 = OpCompositeConstruct %v4float %58 %62 %63 %61
OpStore %_GLF_color %64
%65 = OpAccessChain %_ptr_Uniform_float %__0 %int_0 %uint_1
%66 = OpLoad %float %65
%67 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %int_0
%68 = OpLoad %float %67
%69 = OpFOrdEqual %bool %66 %68
OpSelectionMerge %70 None
OpBranchConditional %69 %71 %72
%71 = OpLabel
%73 = OpLoad %v4float %_GLF_color
%74 = OpVectorShuffle %v4float %73 %36 0 4 5 3
OpStore %_GLF_color %74
OpBranch %70
%72 = OpLabel
OpStore %_GLF_color %37
OpBranch %70
%70 = OpLabel
OpReturn
OpFunctionEnd
%uint = OpTypeInt 32 0
%uint_1 = OpConstant %uint 1
%_arr_float_uint_1 = OpTypeArray %float %uint_1
%buf0 = OpTypeStruct %_arr_float_uint_1
%_ptr_Uniform_buf0 = OpTypePointer Uniform %buf0
%_ = OpVariable %_ptr_Uniform_buf0 Uniform
%int = OpTypeInt 32 1
%int_0 = OpConstant %int 0
%_ptr_Uniform_float = OpTypePointer Uniform %float
%buf1 = OpTypeStruct %v2float
%_ptr_Uniform_buf1 = OpTypePointer Uniform %buf1
%__0 = OpVariable %_ptr_Uniform_buf1 Uniform
%uint_0 = OpConstant %uint 0
%float_1 = OpConstant %float 1
%float_0 = OpConstant %float 0
%_ptr_Function_float = OpTypePointer Function %float
%_ptr_Function_v2float = OpTypePointer Function %v2float
%32 = OpConstantComposite %v2float %float_1 %float_1
%v4float = OpTypeVector %float 4
%_ptr_Output_v4float = OpTypePointer Output %v4float
%_GLF_color = OpVariable %_ptr_Output_v4float Output
%bool = OpTypeBool
%36 = OpConstantComposite %v2float %float_0 %float_0
%37 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_0
%main = OpFunction %void None %14
%38 = OpLabel
%m24 = OpVariable %_ptr_Function_mat2v2float Function
%a = OpVariable %_ptr_Function_float Function
%v2 = OpVariable %_ptr_Function_v2float Function
%v3 = OpVariable %_ptr_Function_v2float Function
%39 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %int_0
%40 = OpLoad %float %39
%41 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %int_0
%42 = OpLoad %float %41
%43 = OpAccessChain %_ptr_Uniform_float %__0 %int_0 %uint_0
%44 = OpLoad %float %43
%45 = OpFMul %float %44 %float_1
%46 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %int_0
%47 = OpLoad %float %46
%48 = OpCompositeConstruct %v2float %40 %42
%49 = OpCompositeConstruct %v2float %45 %47
%50 = OpCompositeConstruct %mat2v2float %48 %49
OpStore %m24 %50
%51 = OpLoad %mat2v2float %m24
%52 = OpCompositeExtract %float %51 0 0
OpStore %a %52
OpStore %v2 %32
%53 = OpLoad %v2float %v2
%54 = OpLoad %float %a
%55 = OpCompositeConstruct %v2float %54 %float_1
%56 = OpExtInst %v2float %1 Reflect %53 %55
OpStore %v3 %56
%57 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %int_0
%58 = OpLoad %float %57
%59 = OpLoad %v2float %v3
%60 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %int_0
%61 = OpLoad %float %60
%62 = OpCompositeExtract %float %59 0
%63 = OpCompositeExtract %float %59 1
%64 = OpCompositeConstruct %v4float %58 %62 %63 %61
OpStore %_GLF_color %64
%65 = OpAccessChain %_ptr_Uniform_float %__0 %int_0 %uint_1
%66 = OpLoad %float %65
%67 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %int_0
%68 = OpLoad %float %67
%69 = OpFOrdEqual %bool %66 %68
OpSelectionMerge %70 None
OpBranchConditional %69 %71 %72
%71 = OpLabel
%73 = OpLoad %v4float %_GLF_color
%74 = OpVectorShuffle %v4float %73 %36 0 4 5 3
OpStore %_GLF_color %74
OpBranch %70
%72 = OpLabel
OpStore %_GLF_color %37
OpBranch %70
%70 = OpLabel
OpReturn
OpFunctionEnd

View File

@ -31,7 +31,7 @@ fn main_1() {
m24 = mat2x2<f32>(vec2<f32>(x_40, x_42), vec2<f32>((x_44 * 1.0), x_47));
let x_51 : mat2x2<f32> = m24;
a = x_51[0u].x;
v2 = vec2<f32>(-0x1.8p+128, 1.0);
v2 = vec2<f32>(1.0, 1.0);
let x_53 : vec2<f32> = v2;
let x_54 : f32 = a;
let x_55 : vec2<f32> = vec2<f32>(x_54, 1.0);