tint: Use MergeReturn transform in SPIR-V backend
Bug: tint:1627 Change-Id: I5a3639543b076e6f666bfcca8c61b22db7f2630e Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/107363 Commit-Queue: James Price <jrprice@google.com> Kokoro: Kokoro <noreply+kokoro@google.com> Reviewed-by: Ben Clayton <bclayton@google.com>
This commit is contained in:
parent
a3343d92d3
commit
3e1bc0a6da
|
@ -25,6 +25,7 @@
|
|||
#include "src/tint/transform/expand_compound_assignment.h"
|
||||
#include "src/tint/transform/for_loop_to_loop.h"
|
||||
#include "src/tint/transform/manager.h"
|
||||
#include "src/tint/transform/merge_return.h"
|
||||
#include "src/tint/transform/promote_side_effects_to_decl.h"
|
||||
#include "src/tint/transform/remove_phonies.h"
|
||||
#include "src/tint/transform/remove_unreachable_statements.h"
|
||||
|
@ -84,6 +85,7 @@ SanitizedResult Sanitize(const Program* in, const Options& options) {
|
|||
manager.Add<transform::VectorizeScalarMatrixInitializers>();
|
||||
manager.Add<transform::VectorizeMatrixConversions>();
|
||||
manager.Add<transform::WhileToLoop>(); // ZeroInitWorkgroupMemory
|
||||
manager.Add<transform::MergeReturn>();
|
||||
manager.Add<transform::CanonicalizeEntryPointIO>();
|
||||
manager.Add<transform::AddEmptyEntryPoint>();
|
||||
manager.Add<transform::AddBlockAttribute>();
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
; SPIR-V
|
||||
; Version: 1.3
|
||||
; Generator: Google Tint Compiler; 0
|
||||
; Bound: 50
|
||||
; Bound: 58
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
OpMemoryModel Logical GLSL450
|
||||
|
@ -12,6 +12,8 @@
|
|||
OpName %tint_discard "tint_discard"
|
||||
OpName %f "f"
|
||||
OpName %x "x"
|
||||
OpName %tint_return_flag "tint_return_flag"
|
||||
OpName %tint_return_value "tint_return_value"
|
||||
OpName %tint_discard_func "tint_discard_func"
|
||||
OpName %main_inner "main_inner"
|
||||
OpName %x_0 "x"
|
||||
|
@ -32,65 +34,80 @@
|
|||
%_ptr_Private_bool = OpTypePointer Private %bool
|
||||
%tint_discard = OpVariable %_ptr_Private_bool Private %9
|
||||
%12 = OpTypeFunction %int %int
|
||||
%_ptr_Function_bool = OpTypePointer Function %bool
|
||||
%_ptr_Function_int = OpTypePointer Function %int
|
||||
%int_10 = OpConstant %int 10
|
||||
%true = OpConstantTrue %bool
|
||||
%void = OpTypeVoid
|
||||
%21 = OpTypeFunction %void
|
||||
%25 = OpTypeFunction %int %v3int
|
||||
%_ptr_Function_int = OpTypePointer Function %int
|
||||
%30 = OpTypeFunction %void
|
||||
%34 = OpTypeFunction %int %v3int
|
||||
%f = OpFunction %int None %12
|
||||
%x = OpFunctionParameter %int
|
||||
%15 = OpLabel
|
||||
%17 = OpIEqual %bool %x %int_10
|
||||
OpSelectionMerge %18 None
|
||||
OpBranchConditional %17 %19 %18
|
||||
%19 = OpLabel
|
||||
%tint_return_flag = OpVariable %_ptr_Function_bool Function %9
|
||||
%tint_return_value = OpVariable %_ptr_Function_int Function %7
|
||||
%21 = OpIEqual %bool %x %int_10
|
||||
OpSelectionMerge %22 None
|
||||
OpBranchConditional %21 %23 %22
|
||||
%23 = OpLabel
|
||||
OpStore %tint_discard %true
|
||||
OpReturnValue %7
|
||||
%18 = OpLabel
|
||||
OpReturnValue %x
|
||||
OpStore %tint_return_flag %true
|
||||
OpStore %tint_return_value %7
|
||||
OpBranch %22
|
||||
%22 = OpLabel
|
||||
%26 = OpLoad %bool %tint_return_flag
|
||||
%25 = OpLogicalNot %bool %26
|
||||
OpSelectionMerge %27 None
|
||||
OpBranchConditional %25 %28 %27
|
||||
%28 = OpLabel
|
||||
OpStore %tint_return_flag %true
|
||||
OpStore %tint_return_value %x
|
||||
OpBranch %27
|
||||
%27 = OpLabel
|
||||
%29 = OpLoad %int %tint_return_value
|
||||
OpReturnValue %29
|
||||
OpFunctionEnd
|
||||
%tint_discard_func = OpFunction %void None %21
|
||||
%24 = OpLabel
|
||||
%tint_discard_func = OpFunction %void None %30
|
||||
%33 = OpLabel
|
||||
OpKill
|
||||
OpFunctionEnd
|
||||
%main_inner = OpFunction %int None %25
|
||||
%main_inner = OpFunction %int None %34
|
||||
%x_0 = OpFunctionParameter %v3int
|
||||
%28 = OpLabel
|
||||
%37 = OpLabel
|
||||
%y = OpVariable %_ptr_Function_int Function %7
|
||||
%29 = OpCompositeExtract %int %x_0 0
|
||||
OpStore %y %29
|
||||
OpBranch %32
|
||||
%32 = OpLabel
|
||||
OpLoopMerge %33 %34 None
|
||||
OpBranch %35
|
||||
%35 = OpLabel
|
||||
%37 = OpLoad %int %y
|
||||
%36 = OpFunctionCall %int %f %37
|
||||
%38 = OpLoad %bool %tint_discard
|
||||
OpSelectionMerge %39 None
|
||||
OpBranchConditional %38 %40 %39
|
||||
%38 = OpCompositeExtract %int %x_0 0
|
||||
OpStore %y %38
|
||||
OpBranch %40
|
||||
%40 = OpLabel
|
||||
%41 = OpFunctionCall %void %tint_discard_func
|
||||
OpReturnValue %7
|
||||
%39 = OpLabel
|
||||
%42 = OpIEqual %bool %36 %7
|
||||
OpSelectionMerge %43 None
|
||||
OpBranchConditional %42 %44 %43
|
||||
%44 = OpLabel
|
||||
OpBranch %33
|
||||
OpLoopMerge %41 %42 None
|
||||
OpBranch %43
|
||||
%43 = OpLabel
|
||||
OpBranch %34
|
||||
%34 = OpLabel
|
||||
OpBranch %32
|
||||
%33 = OpLabel
|
||||
%45 = OpLoad %int %y
|
||||
OpReturnValue %45
|
||||
OpFunctionEnd
|
||||
%main = OpFunction %void None %21
|
||||
%44 = OpFunctionCall %int %f %45
|
||||
%46 = OpLoad %bool %tint_discard
|
||||
OpSelectionMerge %47 None
|
||||
OpBranchConditional %46 %48 %47
|
||||
%48 = OpLabel
|
||||
%49 = OpFunctionCall %void %tint_discard_func
|
||||
OpReturnValue %7
|
||||
%47 = OpLabel
|
||||
%49 = OpLoad %v3int %x_1
|
||||
%48 = OpFunctionCall %int %main_inner %49
|
||||
OpStore %value %48
|
||||
%50 = OpIEqual %bool %44 %7
|
||||
OpSelectionMerge %51 None
|
||||
OpBranchConditional %50 %52 %51
|
||||
%52 = OpLabel
|
||||
OpBranch %41
|
||||
%51 = OpLabel
|
||||
OpBranch %42
|
||||
%42 = OpLabel
|
||||
OpBranch %40
|
||||
%41 = OpLabel
|
||||
%53 = OpLoad %int %y
|
||||
OpReturnValue %53
|
||||
OpFunctionEnd
|
||||
%main = OpFunction %void None %30
|
||||
%55 = OpLabel
|
||||
%57 = OpLoad %v3int %x_1
|
||||
%56 = OpFunctionCall %int %main_inner %57
|
||||
OpStore %value %56
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
; SPIR-V
|
||||
; Version: 1.3
|
||||
; Generator: Google Tint Compiler; 0
|
||||
; Bound: 189
|
||||
; Bound: 199
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
%71 = OpExtInstImport "GLSL.std.450"
|
||||
%81 = OpExtInstImport "GLSL.std.450"
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint Fragment %main "main" %fClipDistance3_param_1 %fClipDistance4_param_1 %glFragColor_1_1
|
||||
OpExecutionMode %main OriginUpperLeft
|
||||
|
@ -29,6 +29,7 @@
|
|||
OpName %glFragColor "glFragColor"
|
||||
OpName %tint_discard "tint_discard"
|
||||
OpName %main_1 "main_1"
|
||||
OpName %tint_return_flag "tint_return_flag"
|
||||
OpName %viewDirectionW "viewDirectionW"
|
||||
OpName %baseColor "baseColor"
|
||||
OpName %diffuseColor "diffuseColor"
|
||||
|
@ -105,201 +106,220 @@
|
|||
%tint_discard = OpVariable %_ptr_Private_bool Private %26
|
||||
%void = OpTypeVoid
|
||||
%29 = OpTypeFunction %void
|
||||
%_ptr_Function_bool = OpTypePointer Function %bool
|
||||
%_ptr_Function_v3float = OpTypePointer Function %v3float
|
||||
%35 = OpConstantNull %v3float
|
||||
%37 = OpConstantNull %v3float
|
||||
%_ptr_Function_v4float = OpTypePointer Function %v4float
|
||||
%_ptr_Function_float = OpTypePointer Function %float
|
||||
%v2float = OpTypeVector %float 2
|
||||
%_ptr_Function_v2float = OpTypePointer Function %v2float
|
||||
%45 = OpConstantNull %v2float
|
||||
%47 = OpConstantNull %v2float
|
||||
%true = OpConstantTrue %bool
|
||||
%uint = OpTypeInt 32 0
|
||||
%uint_0 = OpConstant %uint 0
|
||||
%_ptr_Uniform_v4float = OpTypePointer Uniform %v4float
|
||||
%float_1 = OpConstant %float 1
|
||||
%78 = OpConstantComposite %v4float %float_1 %float_1 %float_1 %float_1
|
||||
%88 = OpConstantComposite %v4float %float_1 %float_1 %float_1 %float_1
|
||||
%uint_3 = OpConstant %uint 3
|
||||
%_ptr_Uniform_float = OpTypePointer Uniform %float
|
||||
%105 = OpConstantComposite %v3float %float_1 %float_1 %float_1
|
||||
%106 = OpConstantComposite %v4float %11 %11 %11 %float_1
|
||||
%115 = OpConstantComposite %v3float %float_1 %float_1 %float_1
|
||||
%116 = OpConstantComposite %v4float %11 %11 %11 %float_1
|
||||
%_ptr_Uniform_v3float = OpTypePointer Uniform %v3float
|
||||
%uint_1 = OpConstant %uint 1
|
||||
%main_out = OpTypeStruct %v4float
|
||||
%169 = OpTypeFunction %main_out %float %float
|
||||
%180 = OpConstantNull %main_out
|
||||
%179 = OpTypeFunction %main_out %float %float
|
||||
%190 = OpConstantNull %main_out
|
||||
%main_1 = OpFunction %void None %29
|
||||
%32 = OpLabel
|
||||
%viewDirectionW = OpVariable %_ptr_Function_v3float Function %35
|
||||
%tint_return_flag = OpVariable %_ptr_Function_bool Function %26
|
||||
%viewDirectionW = OpVariable %_ptr_Function_v3float Function %37
|
||||
%baseColor = OpVariable %_ptr_Function_v4float Function %8
|
||||
%diffuseColor = OpVariable %_ptr_Function_v3float Function %35
|
||||
%diffuseColor = OpVariable %_ptr_Function_v3float Function %37
|
||||
%alpha = OpVariable %_ptr_Function_float Function %11
|
||||
%normalW = OpVariable %_ptr_Function_v3float Function %35
|
||||
%uvOffset = OpVariable %_ptr_Function_v2float Function %45
|
||||
%baseAmbientColor = OpVariable %_ptr_Function_v3float Function %35
|
||||
%normalW = OpVariable %_ptr_Function_v3float Function %37
|
||||
%uvOffset = OpVariable %_ptr_Function_v2float Function %47
|
||||
%baseAmbientColor = OpVariable %_ptr_Function_v3float Function %37
|
||||
%glossiness = OpVariable %_ptr_Function_float Function %11
|
||||
%diffuseBase = OpVariable %_ptr_Function_v3float Function %35
|
||||
%diffuseBase = OpVariable %_ptr_Function_v3float Function %37
|
||||
%shadow = OpVariable %_ptr_Function_float Function %11
|
||||
%refractionColor = OpVariable %_ptr_Function_v4float Function %8
|
||||
%reflectionColor = OpVariable %_ptr_Function_v4float Function %8
|
||||
%emissiveColor = OpVariable %_ptr_Function_v3float Function %35
|
||||
%finalDiffuse = OpVariable %_ptr_Function_v3float Function %35
|
||||
%finalSpecular = OpVariable %_ptr_Function_v3float Function %35
|
||||
%emissiveColor = OpVariable %_ptr_Function_v3float Function %37
|
||||
%finalDiffuse = OpVariable %_ptr_Function_v3float Function %37
|
||||
%finalSpecular = OpVariable %_ptr_Function_v3float Function %37
|
||||
%color = OpVariable %_ptr_Function_v4float Function %8
|
||||
%56 = OpLoad %float %fClipDistance3
|
||||
%57 = OpFOrdGreaterThan %bool %56 %11
|
||||
OpSelectionMerge %58 None
|
||||
OpBranchConditional %57 %59 %58
|
||||
%59 = OpLabel
|
||||
%58 = OpLoad %float %fClipDistance3
|
||||
%59 = OpFOrdGreaterThan %bool %58 %11
|
||||
OpSelectionMerge %60 None
|
||||
OpBranchConditional %59 %61 %60
|
||||
%61 = OpLabel
|
||||
OpStore %tint_discard %true
|
||||
OpReturn
|
||||
%58 = OpLabel
|
||||
%61 = OpLoad %float %fClipDistance4
|
||||
%62 = OpFOrdGreaterThan %bool %61 %11
|
||||
OpSelectionMerge %63 None
|
||||
OpBranchConditional %62 %64 %63
|
||||
%64 = OpLabel
|
||||
OpStore %tint_return_flag %true
|
||||
OpBranch %60
|
||||
%60 = OpLabel
|
||||
%64 = OpLoad %bool %tint_return_flag
|
||||
%63 = OpLogicalNot %bool %64
|
||||
OpSelectionMerge %65 None
|
||||
OpBranchConditional %63 %66 %65
|
||||
%66 = OpLabel
|
||||
%67 = OpLoad %float %fClipDistance4
|
||||
%68 = OpFOrdGreaterThan %bool %67 %11
|
||||
OpSelectionMerge %69 None
|
||||
OpBranchConditional %68 %70 %69
|
||||
%70 = OpLabel
|
||||
OpStore %tint_discard %true
|
||||
OpReturn
|
||||
%63 = OpLabel
|
||||
%68 = OpAccessChain %_ptr_Uniform_v4float %x_29 %uint_0
|
||||
%69 = OpLoad %v4float %68
|
||||
%72 = OpCompositeExtract %float %69 0
|
||||
%73 = OpCompositeExtract %float %69 1
|
||||
%74 = OpCompositeExtract %float %69 2
|
||||
%75 = OpCompositeConstruct %v3float %72 %73 %74
|
||||
%76 = OpFSub %v3float %75 %35
|
||||
%70 = OpExtInst %v3float %71 Normalize %76
|
||||
OpStore %viewDirectionW %70
|
||||
OpStore %baseColor %78
|
||||
%79 = OpAccessChain %_ptr_Uniform_v4float %x_49 %uint_0
|
||||
%80 = OpLoad %v4float %79
|
||||
%81 = OpCompositeExtract %float %80 0
|
||||
%82 = OpCompositeExtract %float %80 1
|
||||
%83 = OpCompositeExtract %float %80 2
|
||||
%84 = OpCompositeConstruct %v3float %81 %82 %83
|
||||
OpStore %diffuseColor %84
|
||||
%87 = OpAccessChain %_ptr_Uniform_float %x_49 %uint_0 %uint_3
|
||||
%88 = OpLoad %float %87
|
||||
OpStore %alpha %88
|
||||
OpStore %uvOffset %45
|
||||
%89 = OpLoad %v4float %baseColor
|
||||
%90 = OpCompositeExtract %float %89 0
|
||||
%91 = OpCompositeExtract %float %89 1
|
||||
%92 = OpCompositeExtract %float %89 2
|
||||
%93 = OpCompositeConstruct %v3float %90 %91 %92
|
||||
%94 = OpCompositeExtract %float %8 0
|
||||
%95 = OpCompositeExtract %float %8 1
|
||||
%96 = OpCompositeExtract %float %8 2
|
||||
%97 = OpCompositeConstruct %v3float %94 %95 %96
|
||||
%98 = OpFMul %v3float %93 %97
|
||||
OpStore %tint_return_flag %true
|
||||
OpBranch %69
|
||||
%69 = OpLabel
|
||||
%72 = OpLoad %bool %tint_return_flag
|
||||
%71 = OpLogicalNot %bool %72
|
||||
OpSelectionMerge %73 None
|
||||
OpBranchConditional %71 %74 %73
|
||||
%74 = OpLabel
|
||||
%78 = OpAccessChain %_ptr_Uniform_v4float %x_29 %uint_0
|
||||
%79 = OpLoad %v4float %78
|
||||
%82 = OpCompositeExtract %float %79 0
|
||||
%83 = OpCompositeExtract %float %79 1
|
||||
%84 = OpCompositeExtract %float %79 2
|
||||
%85 = OpCompositeConstruct %v3float %82 %83 %84
|
||||
%86 = OpFSub %v3float %85 %37
|
||||
%80 = OpExtInst %v3float %81 Normalize %86
|
||||
OpStore %viewDirectionW %80
|
||||
OpStore %baseColor %88
|
||||
%89 = OpAccessChain %_ptr_Uniform_v4float %x_49 %uint_0
|
||||
%90 = OpLoad %v4float %89
|
||||
%91 = OpCompositeExtract %float %90 0
|
||||
%92 = OpCompositeExtract %float %90 1
|
||||
%93 = OpCompositeExtract %float %90 2
|
||||
%94 = OpCompositeConstruct %v3float %91 %92 %93
|
||||
OpStore %diffuseColor %94
|
||||
%97 = OpAccessChain %_ptr_Uniform_float %x_49 %uint_0 %uint_3
|
||||
%98 = OpLoad %float %97
|
||||
OpStore %alpha %98
|
||||
OpStore %uvOffset %47
|
||||
%99 = OpLoad %v4float %baseColor
|
||||
%100 = OpCompositeExtract %float %98 0
|
||||
%101 = OpCompositeExtract %float %98 1
|
||||
%102 = OpCompositeExtract %float %98 2
|
||||
%103 = OpCompositeExtract %float %99 3
|
||||
%104 = OpCompositeConstruct %v4float %100 %101 %102 %103
|
||||
OpStore %baseColor %104
|
||||
OpStore %baseAmbientColor %105
|
||||
%100 = OpCompositeExtract %float %99 0
|
||||
%101 = OpCompositeExtract %float %99 1
|
||||
%102 = OpCompositeExtract %float %99 2
|
||||
%103 = OpCompositeConstruct %v3float %100 %101 %102
|
||||
%104 = OpCompositeExtract %float %8 0
|
||||
%105 = OpCompositeExtract %float %8 1
|
||||
%106 = OpCompositeExtract %float %8 2
|
||||
%107 = OpCompositeConstruct %v3float %104 %105 %106
|
||||
%108 = OpFMul %v3float %103 %107
|
||||
%109 = OpLoad %v4float %baseColor
|
||||
%110 = OpCompositeExtract %float %108 0
|
||||
%111 = OpCompositeExtract %float %108 1
|
||||
%112 = OpCompositeExtract %float %108 2
|
||||
%113 = OpCompositeExtract %float %109 3
|
||||
%114 = OpCompositeConstruct %v4float %110 %111 %112 %113
|
||||
OpStore %baseColor %114
|
||||
OpStore %baseAmbientColor %115
|
||||
OpStore %glossiness %11
|
||||
OpStore %diffuseBase %35
|
||||
OpStore %diffuseBase %37
|
||||
OpStore %shadow %float_1
|
||||
OpStore %refractionColor %106
|
||||
OpStore %reflectionColor %106
|
||||
%108 = OpAccessChain %_ptr_Uniform_v3float %x_49 %uint_3
|
||||
%109 = OpLoad %v3float %108
|
||||
OpStore %emissiveColor %109
|
||||
%110 = OpLoad %v3float %diffuseBase
|
||||
%111 = OpLoad %v3float %diffuseColor
|
||||
%112 = OpLoad %v3float %emissiveColor
|
||||
%114 = OpAccessChain %_ptr_Uniform_v3float %x_49 %uint_1
|
||||
%115 = OpLoad %v3float %114
|
||||
%116 = OpLoad %v4float %baseColor
|
||||
%118 = OpFMul %v3float %110 %111
|
||||
%119 = OpFAdd %v3float %118 %112
|
||||
%120 = OpFAdd %v3float %119 %115
|
||||
%117 = OpExtInst %v3float %71 NClamp %120 %35 %105
|
||||
%121 = OpCompositeExtract %float %116 0
|
||||
%122 = OpCompositeExtract %float %116 1
|
||||
%123 = OpCompositeExtract %float %116 2
|
||||
%124 = OpCompositeConstruct %v3float %121 %122 %123
|
||||
%125 = OpFMul %v3float %117 %124
|
||||
OpStore %finalDiffuse %125
|
||||
OpStore %finalSpecular %35
|
||||
%126 = OpLoad %v3float %finalDiffuse
|
||||
%127 = OpLoad %v3float %baseAmbientColor
|
||||
%128 = OpLoad %v3float %finalSpecular
|
||||
%129 = OpLoad %v4float %reflectionColor
|
||||
%130 = OpLoad %v4float %refractionColor
|
||||
%131 = OpFMul %v3float %126 %127
|
||||
%132 = OpFAdd %v3float %131 %128
|
||||
%133 = OpCompositeExtract %float %129 0
|
||||
%134 = OpCompositeExtract %float %129 1
|
||||
%135 = OpCompositeExtract %float %129 2
|
||||
%136 = OpCompositeConstruct %v3float %133 %134 %135
|
||||
%137 = OpFAdd %v3float %132 %136
|
||||
%138 = OpCompositeExtract %float %130 0
|
||||
%139 = OpCompositeExtract %float %130 1
|
||||
%140 = OpCompositeExtract %float %130 2
|
||||
%141 = OpCompositeConstruct %v3float %138 %139 %140
|
||||
%142 = OpFAdd %v3float %137 %141
|
||||
%143 = OpLoad %float %alpha
|
||||
%144 = OpCompositeExtract %float %142 0
|
||||
%145 = OpCompositeExtract %float %142 1
|
||||
%146 = OpCompositeExtract %float %142 2
|
||||
%147 = OpCompositeConstruct %v4float %144 %145 %146 %143
|
||||
OpStore %color %147
|
||||
%148 = OpLoad %v4float %color
|
||||
%150 = OpCompositeExtract %float %148 0
|
||||
%151 = OpCompositeExtract %float %148 1
|
||||
%152 = OpCompositeExtract %float %148 2
|
||||
%153 = OpCompositeConstruct %v3float %150 %151 %152
|
||||
%149 = OpExtInst %v3float %71 NMax %153 %35
|
||||
%154 = OpLoad %v4float %color
|
||||
%155 = OpCompositeExtract %float %149 0
|
||||
%156 = OpCompositeExtract %float %149 1
|
||||
%157 = OpCompositeExtract %float %149 2
|
||||
%158 = OpCompositeExtract %float %154 3
|
||||
%159 = OpCompositeConstruct %v4float %155 %156 %157 %158
|
||||
OpStore %color %159
|
||||
%160 = OpAccessChain %_ptr_Uniform_float %x_137 %uint_0
|
||||
%161 = OpLoad %float %160
|
||||
%162 = OpAccessChain %_ptr_Function_float %color %uint_3
|
||||
%163 = OpLoad %float %162
|
||||
%164 = OpAccessChain %_ptr_Function_float %color %uint_3
|
||||
%165 = OpFMul %float %163 %161
|
||||
OpStore %164 %165
|
||||
%166 = OpLoad %v4float %color
|
||||
OpStore %glFragColor %166
|
||||
OpStore %refractionColor %116
|
||||
OpStore %reflectionColor %116
|
||||
%118 = OpAccessChain %_ptr_Uniform_v3float %x_49 %uint_3
|
||||
%119 = OpLoad %v3float %118
|
||||
OpStore %emissiveColor %119
|
||||
%120 = OpLoad %v3float %diffuseBase
|
||||
%121 = OpLoad %v3float %diffuseColor
|
||||
%122 = OpLoad %v3float %emissiveColor
|
||||
%124 = OpAccessChain %_ptr_Uniform_v3float %x_49 %uint_1
|
||||
%125 = OpLoad %v3float %124
|
||||
%126 = OpLoad %v4float %baseColor
|
||||
%128 = OpFMul %v3float %120 %121
|
||||
%129 = OpFAdd %v3float %128 %122
|
||||
%130 = OpFAdd %v3float %129 %125
|
||||
%127 = OpExtInst %v3float %81 NClamp %130 %37 %115
|
||||
%131 = OpCompositeExtract %float %126 0
|
||||
%132 = OpCompositeExtract %float %126 1
|
||||
%133 = OpCompositeExtract %float %126 2
|
||||
%134 = OpCompositeConstruct %v3float %131 %132 %133
|
||||
%135 = OpFMul %v3float %127 %134
|
||||
OpStore %finalDiffuse %135
|
||||
OpStore %finalSpecular %37
|
||||
%136 = OpLoad %v3float %finalDiffuse
|
||||
%137 = OpLoad %v3float %baseAmbientColor
|
||||
%138 = OpLoad %v3float %finalSpecular
|
||||
%139 = OpLoad %v4float %reflectionColor
|
||||
%140 = OpLoad %v4float %refractionColor
|
||||
%141 = OpFMul %v3float %136 %137
|
||||
%142 = OpFAdd %v3float %141 %138
|
||||
%143 = OpCompositeExtract %float %139 0
|
||||
%144 = OpCompositeExtract %float %139 1
|
||||
%145 = OpCompositeExtract %float %139 2
|
||||
%146 = OpCompositeConstruct %v3float %143 %144 %145
|
||||
%147 = OpFAdd %v3float %142 %146
|
||||
%148 = OpCompositeExtract %float %140 0
|
||||
%149 = OpCompositeExtract %float %140 1
|
||||
%150 = OpCompositeExtract %float %140 2
|
||||
%151 = OpCompositeConstruct %v3float %148 %149 %150
|
||||
%152 = OpFAdd %v3float %147 %151
|
||||
%153 = OpLoad %float %alpha
|
||||
%154 = OpCompositeExtract %float %152 0
|
||||
%155 = OpCompositeExtract %float %152 1
|
||||
%156 = OpCompositeExtract %float %152 2
|
||||
%157 = OpCompositeConstruct %v4float %154 %155 %156 %153
|
||||
OpStore %color %157
|
||||
%158 = OpLoad %v4float %color
|
||||
%160 = OpCompositeExtract %float %158 0
|
||||
%161 = OpCompositeExtract %float %158 1
|
||||
%162 = OpCompositeExtract %float %158 2
|
||||
%163 = OpCompositeConstruct %v3float %160 %161 %162
|
||||
%159 = OpExtInst %v3float %81 NMax %163 %37
|
||||
%164 = OpLoad %v4float %color
|
||||
%165 = OpCompositeExtract %float %159 0
|
||||
%166 = OpCompositeExtract %float %159 1
|
||||
%167 = OpCompositeExtract %float %159 2
|
||||
%168 = OpCompositeExtract %float %164 3
|
||||
%169 = OpCompositeConstruct %v4float %165 %166 %167 %168
|
||||
OpStore %color %169
|
||||
%170 = OpAccessChain %_ptr_Uniform_float %x_137 %uint_0
|
||||
%171 = OpLoad %float %170
|
||||
%172 = OpAccessChain %_ptr_Function_float %color %uint_3
|
||||
%173 = OpLoad %float %172
|
||||
%174 = OpAccessChain %_ptr_Function_float %color %uint_3
|
||||
%175 = OpFMul %float %173 %171
|
||||
OpStore %174 %175
|
||||
%176 = OpLoad %v4float %color
|
||||
OpStore %glFragColor %176
|
||||
OpStore %tint_return_flag %true
|
||||
OpBranch %73
|
||||
%73 = OpLabel
|
||||
OpBranch %65
|
||||
%65 = OpLabel
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%tint_discard_func = OpFunction %void None %29
|
||||
%168 = OpLabel
|
||||
%178 = OpLabel
|
||||
OpKill
|
||||
OpFunctionEnd
|
||||
%main_inner = OpFunction %main_out None %169
|
||||
%main_inner = OpFunction %main_out None %179
|
||||
%fClipDistance3_param = OpFunctionParameter %float
|
||||
%fClipDistance4_param = OpFunctionParameter %float
|
||||
%174 = OpLabel
|
||||
%184 = OpLabel
|
||||
OpStore %fClipDistance3 %fClipDistance3_param
|
||||
OpStore %fClipDistance4 %fClipDistance4_param
|
||||
%175 = OpFunctionCall %void %main_1
|
||||
%176 = OpLoad %bool %tint_discard
|
||||
OpSelectionMerge %177 None
|
||||
OpBranchConditional %176 %178 %177
|
||||
%178 = OpLabel
|
||||
%179 = OpFunctionCall %void %tint_discard_func
|
||||
OpReturnValue %180
|
||||
%177 = OpLabel
|
||||
%181 = OpLoad %v4float %glFragColor
|
||||
%182 = OpCompositeConstruct %main_out %181
|
||||
OpReturnValue %182
|
||||
%185 = OpFunctionCall %void %main_1
|
||||
%186 = OpLoad %bool %tint_discard
|
||||
OpSelectionMerge %187 None
|
||||
OpBranchConditional %186 %188 %187
|
||||
%188 = OpLabel
|
||||
%189 = OpFunctionCall %void %tint_discard_func
|
||||
OpReturnValue %190
|
||||
%187 = OpLabel
|
||||
%191 = OpLoad %v4float %glFragColor
|
||||
%192 = OpCompositeConstruct %main_out %191
|
||||
OpReturnValue %192
|
||||
OpFunctionEnd
|
||||
%main = OpFunction %void None %29
|
||||
%184 = OpLabel
|
||||
%186 = OpLoad %float %fClipDistance3_param_1
|
||||
%187 = OpLoad %float %fClipDistance4_param_1
|
||||
%185 = OpFunctionCall %main_out %main_inner %186 %187
|
||||
%188 = OpCompositeExtract %v4float %185 0
|
||||
OpStore %glFragColor_1_1 %188
|
||||
%194 = OpLabel
|
||||
%196 = OpLoad %float %fClipDistance3_param_1
|
||||
%197 = OpLoad %float %fClipDistance4_param_1
|
||||
%195 = OpFunctionCall %main_out %main_inner %196 %197
|
||||
%198 = OpCompositeExtract %v4float %195 0
|
||||
OpStore %glFragColor_1_1 %198
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
; SPIR-V
|
||||
; Version: 1.3
|
||||
; Generator: Google Tint Compiler; 0
|
||||
; Bound: 48
|
||||
; Bound: 60
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
OpMemoryModel Logical GLSL450
|
||||
|
@ -11,6 +11,8 @@
|
|||
OpMemberName %b_block 0 "inner"
|
||||
OpName %b "b"
|
||||
OpName %func_3 "func_3"
|
||||
OpName %tint_return_flag "tint_return_flag"
|
||||
OpName %tint_return_value "tint_return_value"
|
||||
OpName %i "i"
|
||||
OpName %j "j"
|
||||
OpName %main "main"
|
||||
|
@ -25,68 +27,90 @@
|
|||
%b = OpVariable %_ptr_Uniform_b_block Uniform
|
||||
%bool = OpTypeBool
|
||||
%5 = OpTypeFunction %bool
|
||||
%9 = OpConstantNull %int
|
||||
%_ptr_Function_bool = OpTypePointer Function %bool
|
||||
%11 = OpConstantNull %bool
|
||||
%13 = OpConstantNull %int
|
||||
%_ptr_Function_int = OpTypePointer Function %int
|
||||
%uint = OpTypeInt 32 0
|
||||
%uint_0 = OpConstant %uint 0
|
||||
%_ptr_Uniform_int = OpTypePointer Uniform %int
|
||||
%int_n1 = OpConstant %int -1
|
||||
%int_1 = OpConstant %int 1
|
||||
%38 = OpConstantNull %bool
|
||||
%true = OpConstantTrue %bool
|
||||
%void = OpTypeVoid
|
||||
%43 = OpTypeFunction %void
|
||||
%55 = OpTypeFunction %void
|
||||
%func_3 = OpFunction %bool None %5
|
||||
%8 = OpLabel
|
||||
%i = OpVariable %_ptr_Function_int Function %9
|
||||
%j = OpVariable %_ptr_Function_int Function %9
|
||||
OpStore %i %9
|
||||
OpBranch %12
|
||||
%12 = OpLabel
|
||||
OpLoopMerge %13 %14 None
|
||||
OpBranch %15
|
||||
%15 = OpLabel
|
||||
%17 = OpLoad %int %i
|
||||
%21 = OpAccessChain %_ptr_Uniform_int %b %uint_0
|
||||
%22 = OpLoad %int %21
|
||||
%23 = OpSLessThan %bool %17 %22
|
||||
%16 = OpLogicalNot %bool %23
|
||||
OpSelectionMerge %24 None
|
||||
OpBranchConditional %16 %25 %24
|
||||
%25 = OpLabel
|
||||
OpBranch %13
|
||||
%24 = OpLabel
|
||||
OpStore %j %int_n1
|
||||
OpBranch %28
|
||||
%28 = OpLabel
|
||||
OpLoopMerge %29 %30 None
|
||||
OpBranch %31
|
||||
%31 = OpLabel
|
||||
%33 = OpLoad %int %j
|
||||
%35 = OpIEqual %bool %33 %int_1
|
||||
%32 = OpLogicalNot %bool %35
|
||||
OpSelectionMerge %36 None
|
||||
OpBranchConditional %32 %37 %36
|
||||
%37 = OpLabel
|
||||
OpBranch %29
|
||||
%36 = OpLabel
|
||||
OpReturnValue %38
|
||||
%30 = OpLabel
|
||||
%39 = OpLoad %int %j
|
||||
%40 = OpIAdd %int %39 %int_1
|
||||
OpStore %j %40
|
||||
OpBranch %28
|
||||
%tint_return_flag = OpVariable %_ptr_Function_bool Function %11
|
||||
%tint_return_value = OpVariable %_ptr_Function_bool Function %11
|
||||
%i = OpVariable %_ptr_Function_int Function %13
|
||||
%j = OpVariable %_ptr_Function_int Function %13
|
||||
OpStore %i %13
|
||||
OpBranch %16
|
||||
%16 = OpLabel
|
||||
OpLoopMerge %17 %18 None
|
||||
OpBranch %19
|
||||
%19 = OpLabel
|
||||
%21 = OpLoad %int %i
|
||||
%25 = OpAccessChain %_ptr_Uniform_int %b %uint_0
|
||||
%26 = OpLoad %int %25
|
||||
%27 = OpSLessThan %bool %21 %26
|
||||
%20 = OpLogicalNot %bool %27
|
||||
OpSelectionMerge %28 None
|
||||
OpBranchConditional %20 %29 %28
|
||||
%29 = OpLabel
|
||||
OpBranch %14
|
||||
%14 = OpLabel
|
||||
%41 = OpLoad %int %i
|
||||
%42 = OpIAdd %int %41 %int_1
|
||||
OpStore %i %42
|
||||
OpBranch %12
|
||||
%13 = OpLabel
|
||||
OpReturnValue %38
|
||||
OpFunctionEnd
|
||||
%main = OpFunction %void None %43
|
||||
OpBranch %17
|
||||
%28 = OpLabel
|
||||
OpStore %j %int_n1
|
||||
OpBranch %32
|
||||
%32 = OpLabel
|
||||
OpLoopMerge %33 %34 None
|
||||
OpBranch %35
|
||||
%35 = OpLabel
|
||||
%37 = OpLoad %int %j
|
||||
%39 = OpIEqual %bool %37 %int_1
|
||||
%36 = OpLogicalNot %bool %39
|
||||
OpSelectionMerge %40 None
|
||||
OpBranchConditional %36 %41 %40
|
||||
%41 = OpLabel
|
||||
OpBranch %33
|
||||
%40 = OpLabel
|
||||
OpStore %tint_return_flag %true
|
||||
OpStore %tint_return_value %11
|
||||
OpBranch %33
|
||||
%34 = OpLabel
|
||||
%43 = OpLoad %int %j
|
||||
%44 = OpIAdd %int %43 %int_1
|
||||
OpStore %j %44
|
||||
OpBranch %32
|
||||
%33 = OpLabel
|
||||
%45 = OpLoad %bool %tint_return_flag
|
||||
OpSelectionMerge %46 None
|
||||
OpBranchConditional %45 %47 %46
|
||||
%47 = OpLabel
|
||||
OpBranch %17
|
||||
%46 = OpLabel
|
||||
%47 = OpFunctionCall %bool %func_3
|
||||
OpBranch %18
|
||||
%18 = OpLabel
|
||||
%48 = OpLoad %int %i
|
||||
%49 = OpIAdd %int %48 %int_1
|
||||
OpStore %i %49
|
||||
OpBranch %16
|
||||
%17 = OpLabel
|
||||
%51 = OpLoad %bool %tint_return_flag
|
||||
%50 = OpLogicalNot %bool %51
|
||||
OpSelectionMerge %52 None
|
||||
OpBranchConditional %50 %53 %52
|
||||
%53 = OpLabel
|
||||
OpStore %tint_return_flag %true
|
||||
OpStore %tint_return_value %11
|
||||
OpBranch %52
|
||||
%52 = OpLabel
|
||||
%54 = OpLoad %bool %tint_return_value
|
||||
OpReturnValue %54
|
||||
OpFunctionEnd
|
||||
%main = OpFunction %void None %55
|
||||
%58 = OpLabel
|
||||
%59 = OpFunctionCall %bool %func_3
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -1,7 +1,7 @@
|
|||
; SPIR-V
|
||||
; Version: 1.3
|
||||
; Generator: Google Tint Compiler; 0
|
||||
; Bound: 386
|
||||
; Bound: 390
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
OpMemoryModel Logical GLSL450
|
||||
|
@ -98,6 +98,7 @@
|
|||
OpName %m21 "m21"
|
||||
OpName %o4 "o4"
|
||||
OpName %main1 "main1"
|
||||
OpName %tint_return_flag "tint_return_flag"
|
||||
OpName %t_PosMtx "t_PosMtx"
|
||||
OpName %t_TexSpaceCoord "t_TexSpaceCoord"
|
||||
OpName %VertexOutput "VertexOutput"
|
||||
|
@ -228,17 +229,20 @@
|
|||
%274 = OpTypeFunction %Mat4x3_ %Mat4x4_
|
||||
%void = OpTypeVoid
|
||||
%290 = OpTypeFunction %void
|
||||
%bool = OpTypeBool
|
||||
%_ptr_Function_bool = OpTypePointer Function %bool
|
||||
%297 = OpConstantNull %bool
|
||||
%_ptr_Function_v2float = OpTypePointer Function %v2float
|
||||
%int = OpTypeInt 32 1
|
||||
%_ptr_Uniform_Mat4x3_ = OpTypePointer Uniform %Mat4x3_
|
||||
%_ptr_Uniform_Mat4x4_ = OpTypePointer Uniform %Mat4x4_
|
||||
%_ptr_Uniform_v4float = OpTypePointer Uniform %v4float
|
||||
%float_2 = OpConstant %float 2
|
||||
%bool = OpTypeBool
|
||||
%341 = OpConstantNull %int
|
||||
%344 = OpConstantNull %int
|
||||
%_ptr_Uniform_Mat4x2_ = OpTypePointer Uniform %Mat4x2_
|
||||
%true = OpConstantTrue %bool
|
||||
%VertexOutput = OpTypeStruct %v4float %v2float %v4float
|
||||
%361 = OpTypeFunction %VertexOutput %v3float %v2float %v4float %v3float %float
|
||||
%365 = OpTypeFunction %VertexOutput %v3float %v2float %v4float %v3float %float
|
||||
%Mat4x3GetCol0_ = OpFunction %v3float None %54
|
||||
%m = OpFunctionParameter %Mat4x3_
|
||||
%57 = OpLabel
|
||||
|
@ -514,108 +518,111 @@
|
|||
OpFunctionEnd
|
||||
%main1 = OpFunction %void None %290
|
||||
%293 = OpLabel
|
||||
%tint_return_flag = OpVariable %_ptr_Function_bool Function %297
|
||||
%t_PosMtx = OpVariable %_ptr_Function_Mat4x3_ Function %60
|
||||
%t_TexSpaceCoord = OpVariable %_ptr_Function_v2float Function %19
|
||||
%297 = OpLoad %float %a_PosMtxIdx1
|
||||
%298 = OpConvertFToS %int %297
|
||||
%301 = OpAccessChain %_ptr_Uniform_Mat4x3_ %global2 %uint_0 %298
|
||||
%302 = OpLoad %Mat4x3_ %301
|
||||
OpStore %t_PosMtx %302
|
||||
%303 = OpLoad %Mat4x3_ %t_PosMtx
|
||||
%304 = OpFunctionCall %Mat4x4_ %x_Mat4x4_1 %303
|
||||
%305 = OpLoad %v3float %a_Position1
|
||||
%306 = OpLoad %Mat4x3_ %t_PosMtx
|
||||
%307 = OpFunctionCall %Mat4x4_ %x_Mat4x4_1 %306
|
||||
%308 = OpLoad %v3float %a_Position1
|
||||
%310 = OpCompositeExtract %float %308 0
|
||||
%311 = OpCompositeExtract %float %308 1
|
||||
%312 = OpCompositeExtract %float %308 2
|
||||
%313 = OpCompositeConstruct %v4float %310 %311 %312 %float_1
|
||||
%309 = OpFunctionCall %v4float %Mul %307 %313
|
||||
%315 = OpAccessChain %_ptr_Uniform_Mat4x4_ %global %uint_0
|
||||
%316 = OpLoad %Mat4x4_ %315
|
||||
%317 = OpLoad %Mat4x3_ %t_PosMtx
|
||||
%318 = OpFunctionCall %Mat4x4_ %x_Mat4x4_1 %317
|
||||
%319 = OpLoad %v3float %a_Position1
|
||||
%320 = OpLoad %Mat4x3_ %t_PosMtx
|
||||
%321 = OpFunctionCall %Mat4x4_ %x_Mat4x4_1 %320
|
||||
%322 = OpLoad %v3float %a_Position1
|
||||
%324 = OpCompositeExtract %float %322 0
|
||||
%325 = OpCompositeExtract %float %322 1
|
||||
%326 = OpCompositeExtract %float %322 2
|
||||
%327 = OpCompositeConstruct %v4float %324 %325 %326 %float_1
|
||||
%323 = OpFunctionCall %v4float %Mul %321 %327
|
||||
%328 = OpFunctionCall %v4float %Mul %316 %323
|
||||
OpStore %gl_Position %328
|
||||
%329 = OpLoad %v4float %a_Color1
|
||||
OpStore %v_Color %329
|
||||
%331 = OpAccessChain %_ptr_Uniform_v4float %global1 %uint_1
|
||||
%332 = OpLoad %v4float %331
|
||||
%333 = OpCompositeExtract %float %332 0
|
||||
%335 = OpFOrdEqual %bool %333 %float_2
|
||||
OpSelectionMerge %337 None
|
||||
OpBranchConditional %335 %338 %339
|
||||
%338 = OpLabel
|
||||
%340 = OpLoad %v3float %a_Normal1
|
||||
%343 = OpAccessChain %_ptr_Uniform_Mat4x2_ %global1 %uint_0 %341
|
||||
%344 = OpLoad %Mat4x2_ %343
|
||||
%345 = OpLoad %v3float %a_Normal1
|
||||
%347 = OpCompositeExtract %float %345 0
|
||||
%348 = OpCompositeExtract %float %345 1
|
||||
%349 = OpCompositeExtract %float %345 2
|
||||
%350 = OpCompositeConstruct %v4float %347 %348 %349 %float_1
|
||||
%346 = OpFunctionCall %v2float %Mul2 %344 %350
|
||||
%351 = OpVectorShuffle %v2float %346 %346 0 1
|
||||
OpStore %v_TexCoord %351
|
||||
OpReturn
|
||||
%339 = OpLabel
|
||||
%352 = OpLoad %v2float %a_UV1
|
||||
%353 = OpAccessChain %_ptr_Uniform_Mat4x2_ %global1 %uint_0 %341
|
||||
%354 = OpLoad %Mat4x2_ %353
|
||||
%355 = OpLoad %v2float %a_UV1
|
||||
%357 = OpCompositeExtract %float %355 0
|
||||
%358 = OpCompositeExtract %float %355 1
|
||||
%359 = OpCompositeConstruct %v4float %357 %358 %float_1 %float_1
|
||||
%356 = OpFunctionCall %v2float %Mul2 %354 %359
|
||||
%360 = OpVectorShuffle %v2float %356 %356 0 1
|
||||
OpStore %v_TexCoord %360
|
||||
OpReturn
|
||||
%337 = OpLabel
|
||||
%301 = OpLoad %float %a_PosMtxIdx1
|
||||
%302 = OpConvertFToS %int %301
|
||||
%305 = OpAccessChain %_ptr_Uniform_Mat4x3_ %global2 %uint_0 %302
|
||||
%306 = OpLoad %Mat4x3_ %305
|
||||
OpStore %t_PosMtx %306
|
||||
%307 = OpLoad %Mat4x3_ %t_PosMtx
|
||||
%308 = OpFunctionCall %Mat4x4_ %x_Mat4x4_1 %307
|
||||
%309 = OpLoad %v3float %a_Position1
|
||||
%310 = OpLoad %Mat4x3_ %t_PosMtx
|
||||
%311 = OpFunctionCall %Mat4x4_ %x_Mat4x4_1 %310
|
||||
%312 = OpLoad %v3float %a_Position1
|
||||
%314 = OpCompositeExtract %float %312 0
|
||||
%315 = OpCompositeExtract %float %312 1
|
||||
%316 = OpCompositeExtract %float %312 2
|
||||
%317 = OpCompositeConstruct %v4float %314 %315 %316 %float_1
|
||||
%313 = OpFunctionCall %v4float %Mul %311 %317
|
||||
%319 = OpAccessChain %_ptr_Uniform_Mat4x4_ %global %uint_0
|
||||
%320 = OpLoad %Mat4x4_ %319
|
||||
%321 = OpLoad %Mat4x3_ %t_PosMtx
|
||||
%322 = OpFunctionCall %Mat4x4_ %x_Mat4x4_1 %321
|
||||
%323 = OpLoad %v3float %a_Position1
|
||||
%324 = OpLoad %Mat4x3_ %t_PosMtx
|
||||
%325 = OpFunctionCall %Mat4x4_ %x_Mat4x4_1 %324
|
||||
%326 = OpLoad %v3float %a_Position1
|
||||
%328 = OpCompositeExtract %float %326 0
|
||||
%329 = OpCompositeExtract %float %326 1
|
||||
%330 = OpCompositeExtract %float %326 2
|
||||
%331 = OpCompositeConstruct %v4float %328 %329 %330 %float_1
|
||||
%327 = OpFunctionCall %v4float %Mul %325 %331
|
||||
%332 = OpFunctionCall %v4float %Mul %320 %327
|
||||
OpStore %gl_Position %332
|
||||
%333 = OpLoad %v4float %a_Color1
|
||||
OpStore %v_Color %333
|
||||
%335 = OpAccessChain %_ptr_Uniform_v4float %global1 %uint_1
|
||||
%336 = OpLoad %v4float %335
|
||||
%337 = OpCompositeExtract %float %336 0
|
||||
%339 = OpFOrdEqual %bool %337 %float_2
|
||||
OpSelectionMerge %340 None
|
||||
OpBranchConditional %339 %341 %342
|
||||
%341 = OpLabel
|
||||
%343 = OpLoad %v3float %a_Normal1
|
||||
%346 = OpAccessChain %_ptr_Uniform_Mat4x2_ %global1 %uint_0 %344
|
||||
%347 = OpLoad %Mat4x2_ %346
|
||||
%348 = OpLoad %v3float %a_Normal1
|
||||
%350 = OpCompositeExtract %float %348 0
|
||||
%351 = OpCompositeExtract %float %348 1
|
||||
%352 = OpCompositeExtract %float %348 2
|
||||
%353 = OpCompositeConstruct %v4float %350 %351 %352 %float_1
|
||||
%349 = OpFunctionCall %v2float %Mul2 %347 %353
|
||||
%354 = OpVectorShuffle %v2float %349 %349 0 1
|
||||
OpStore %v_TexCoord %354
|
||||
OpStore %tint_return_flag %true
|
||||
OpBranch %340
|
||||
%342 = OpLabel
|
||||
%356 = OpLoad %v2float %a_UV1
|
||||
%357 = OpAccessChain %_ptr_Uniform_Mat4x2_ %global1 %uint_0 %344
|
||||
%358 = OpLoad %Mat4x2_ %357
|
||||
%359 = OpLoad %v2float %a_UV1
|
||||
%361 = OpCompositeExtract %float %359 0
|
||||
%362 = OpCompositeExtract %float %359 1
|
||||
%363 = OpCompositeConstruct %v4float %361 %362 %float_1 %float_1
|
||||
%360 = OpFunctionCall %v2float %Mul2 %358 %363
|
||||
%364 = OpVectorShuffle %v2float %360 %360 0 1
|
||||
OpStore %v_TexCoord %364
|
||||
OpStore %tint_return_flag %true
|
||||
OpBranch %340
|
||||
%340 = OpLabel
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%main_inner = OpFunction %VertexOutput None %361
|
||||
%main_inner = OpFunction %VertexOutput None %365
|
||||
%a_Position = OpFunctionParameter %v3float
|
||||
%a_UV = OpFunctionParameter %v2float
|
||||
%a_Color = OpFunctionParameter %v4float
|
||||
%a_Normal = OpFunctionParameter %v3float
|
||||
%a_PosMtxIdx = OpFunctionParameter %float
|
||||
%369 = OpLabel
|
||||
%373 = OpLabel
|
||||
OpStore %a_Position1 %a_Position
|
||||
OpStore %a_UV1 %a_UV
|
||||
OpStore %a_Color1 %a_Color
|
||||
OpStore %a_Normal1 %a_Normal
|
||||
OpStore %a_PosMtxIdx1 %a_PosMtxIdx
|
||||
%370 = OpFunctionCall %void %main1
|
||||
%371 = OpLoad %v4float %v_Color
|
||||
%372 = OpLoad %v2float %v_TexCoord
|
||||
%373 = OpLoad %v4float %gl_Position
|
||||
%374 = OpCompositeConstruct %VertexOutput %371 %372 %373
|
||||
OpReturnValue %374
|
||||
%374 = OpFunctionCall %void %main1
|
||||
%375 = OpLoad %v4float %v_Color
|
||||
%376 = OpLoad %v2float %v_TexCoord
|
||||
%377 = OpLoad %v4float %gl_Position
|
||||
%378 = OpCompositeConstruct %VertexOutput %375 %376 %377
|
||||
OpReturnValue %378
|
||||
OpFunctionEnd
|
||||
%main = OpFunction %void None %290
|
||||
%376 = OpLabel
|
||||
%378 = OpLoad %v3float %a_Position_1
|
||||
%379 = OpLoad %v2float %a_UV_1
|
||||
%380 = OpLoad %v4float %a_Color_1
|
||||
%381 = OpLoad %v3float %a_Normal_1
|
||||
%382 = OpLoad %float %a_PosMtxIdx_1
|
||||
%377 = OpFunctionCall %VertexOutput %main_inner %378 %379 %380 %381 %382
|
||||
%383 = OpCompositeExtract %v4float %377 0
|
||||
OpStore %v_Color_1 %383
|
||||
%384 = OpCompositeExtract %v2float %377 1
|
||||
OpStore %v_TexCoord_1 %384
|
||||
%385 = OpCompositeExtract %v4float %377 2
|
||||
OpStore %member_1 %385
|
||||
%380 = OpLabel
|
||||
%382 = OpLoad %v3float %a_Position_1
|
||||
%383 = OpLoad %v2float %a_UV_1
|
||||
%384 = OpLoad %v4float %a_Color_1
|
||||
%385 = OpLoad %v3float %a_Normal_1
|
||||
%386 = OpLoad %float %a_PosMtxIdx_1
|
||||
%381 = OpFunctionCall %VertexOutput %main_inner %382 %383 %384 %385 %386
|
||||
%387 = OpCompositeExtract %v4float %381 0
|
||||
OpStore %v_Color_1 %387
|
||||
%388 = OpCompositeExtract %v2float %381 1
|
||||
OpStore %v_TexCoord_1 %388
|
||||
%389 = OpCompositeExtract %v4float %381 2
|
||||
OpStore %member_1 %389
|
||||
OpStore %vertex_point_size %float_1
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
; SPIR-V
|
||||
; Version: 1.3
|
||||
; Generator: Google Tint Compiler; 0
|
||||
; Bound: 96
|
||||
; Bound: 106
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
%46 = OpExtInstImport "GLSL.std.450"
|
||||
%55 = OpExtInstImport "GLSL.std.450"
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint GLCompute %main "main" %gl_GlobalInvocationID_param_1
|
||||
OpExecutionMode %main LocalSize 128 1 1
|
||||
|
@ -26,6 +26,8 @@
|
|||
OpName %getAAtOutCoords_ "getAAtOutCoords_"
|
||||
OpName %unaryOperation_f1_ "unaryOperation_f1_"
|
||||
OpName %a "a"
|
||||
OpName %tint_return_flag "tint_return_flag"
|
||||
OpName %tint_return_value "tint_return_value"
|
||||
OpName %setOutput_i1_f1_ "setOutput_i1_f1_"
|
||||
OpName %flatIndex "flatIndex"
|
||||
OpName %value "value"
|
||||
|
@ -83,17 +85,20 @@
|
|||
%_ptr_StorageBuffer_float = OpTypePointer StorageBuffer %float
|
||||
%_ptr_Function_float = OpTypePointer Function %float
|
||||
%30 = OpTypeFunction %float %_ptr_Function_float
|
||||
%37 = OpConstantNull %float
|
||||
%bool = OpTypeBool
|
||||
%_ptr_Function_bool = OpTypePointer Function %bool
|
||||
%38 = OpConstantNull %bool
|
||||
%40 = OpConstantNull %float
|
||||
%true = OpConstantTrue %bool
|
||||
%float_0x1p_128 = OpConstant %float 0x1p+128
|
||||
%void = OpTypeVoid
|
||||
%_ptr_Function_int = OpTypePointer Function %int
|
||||
%47 = OpTypeFunction %void %_ptr_Function_int %_ptr_Function_float
|
||||
%59 = OpTypeFunction %void
|
||||
%63 = OpConstantNull %int
|
||||
%57 = OpTypeFunction %void %_ptr_Function_int %_ptr_Function_float
|
||||
%69 = OpTypeFunction %void
|
||||
%73 = OpConstantNull %int
|
||||
%uint_4 = OpConstant %uint 4
|
||||
%_ptr_Uniform_int = OpTypePointer Uniform %int
|
||||
%87 = OpTypeFunction %void %v3uint
|
||||
%97 = OpTypeFunction %void %v3uint
|
||||
%getAAtOutCoords_ = OpFunction %float None %20
|
||||
%22 = OpLabel
|
||||
%25 = OpAccessChain %_ptr_Private_uint %gl_GlobalInvocationID %uint_0
|
||||
|
@ -105,68 +110,82 @@
|
|||
%unaryOperation_f1_ = OpFunction %float None %30
|
||||
%a = OpFunctionParameter %_ptr_Function_float
|
||||
%34 = OpLabel
|
||||
%36 = OpLoad %float %a
|
||||
%38 = OpFOrdLessThan %bool %36 %37
|
||||
OpSelectionMerge %40 None
|
||||
OpBranchConditional %38 %41 %40
|
||||
%41 = OpLabel
|
||||
OpReturnValue %float_0x1p_128
|
||||
%40 = OpLabel
|
||||
%44 = OpLoad %float %a
|
||||
%45 = OpExtInst %float %46 Log %44
|
||||
OpReturnValue %45
|
||||
%tint_return_flag = OpVariable %_ptr_Function_bool Function %38
|
||||
%tint_return_value = OpVariable %_ptr_Function_float Function %40
|
||||
%42 = OpLoad %float %a
|
||||
%43 = OpFOrdLessThan %bool %42 %40
|
||||
OpSelectionMerge %44 None
|
||||
OpBranchConditional %43 %45 %44
|
||||
%45 = OpLabel
|
||||
OpStore %tint_return_flag %true
|
||||
OpStore %tint_return_value %float_0x1p_128
|
||||
OpBranch %44
|
||||
%44 = OpLabel
|
||||
%49 = OpLoad %bool %tint_return_flag
|
||||
%48 = OpLogicalNot %bool %49
|
||||
OpSelectionMerge %50 None
|
||||
OpBranchConditional %48 %51 %50
|
||||
%51 = OpLabel
|
||||
%53 = OpLoad %float %a
|
||||
OpStore %tint_return_flag %true
|
||||
%54 = OpExtInst %float %55 Log %53
|
||||
OpStore %tint_return_value %54
|
||||
OpBranch %50
|
||||
%50 = OpLabel
|
||||
%56 = OpLoad %float %tint_return_value
|
||||
OpReturnValue %56
|
||||
OpFunctionEnd
|
||||
%setOutput_i1_f1_ = OpFunction %void None %47
|
||||
%setOutput_i1_f1_ = OpFunction %void None %57
|
||||
%flatIndex = OpFunctionParameter %_ptr_Function_int
|
||||
%value = OpFunctionParameter %_ptr_Function_float
|
||||
%53 = OpLabel
|
||||
%55 = OpLoad %int %flatIndex
|
||||
%57 = OpLoad %float %value
|
||||
%58 = OpAccessChain %_ptr_StorageBuffer_float %x_16 %uint_0 %55
|
||||
OpStore %58 %57
|
||||
%63 = OpLabel
|
||||
%65 = OpLoad %int %flatIndex
|
||||
%67 = OpLoad %float %value
|
||||
%68 = OpAccessChain %_ptr_StorageBuffer_float %x_16 %uint_0 %65
|
||||
OpStore %68 %67
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%main_1 = OpFunction %void None %59
|
||||
%61 = OpLabel
|
||||
%index = OpVariable %_ptr_Function_int Function %63
|
||||
%a_1 = OpVariable %_ptr_Function_float Function %37
|
||||
%param = OpVariable %_ptr_Function_float Function %37
|
||||
%param_1 = OpVariable %_ptr_Function_int Function %63
|
||||
%param_2 = OpVariable %_ptr_Function_float Function %37
|
||||
%68 = OpAccessChain %_ptr_Private_uint %gl_GlobalInvocationID %uint_0
|
||||
%69 = OpLoad %uint %68
|
||||
%70 = OpBitcast %int %69
|
||||
OpStore %index %70
|
||||
%71 = OpLoad %int %index
|
||||
%74 = OpAccessChain %_ptr_Uniform_int %x_24 %uint_4
|
||||
%75 = OpLoad %int %74
|
||||
%76 = OpSLessThan %bool %71 %75
|
||||
OpSelectionMerge %77 None
|
||||
OpBranchConditional %76 %78 %77
|
||||
%78 = OpLabel
|
||||
%79 = OpFunctionCall %float %getAAtOutCoords_
|
||||
OpStore %a_1 %79
|
||||
%80 = OpLoad %float %a_1
|
||||
OpStore %param %80
|
||||
%81 = OpFunctionCall %float %unaryOperation_f1_ %param
|
||||
%83 = OpLoad %int %index
|
||||
OpStore %param_1 %83
|
||||
OpStore %param_2 %81
|
||||
%84 = OpFunctionCall %void %setOutput_i1_f1_ %param_1 %param_2
|
||||
OpBranch %77
|
||||
%77 = OpLabel
|
||||
%main_1 = OpFunction %void None %69
|
||||
%71 = OpLabel
|
||||
%index = OpVariable %_ptr_Function_int Function %73
|
||||
%a_1 = OpVariable %_ptr_Function_float Function %40
|
||||
%param = OpVariable %_ptr_Function_float Function %40
|
||||
%param_1 = OpVariable %_ptr_Function_int Function %73
|
||||
%param_2 = OpVariable %_ptr_Function_float Function %40
|
||||
%78 = OpAccessChain %_ptr_Private_uint %gl_GlobalInvocationID %uint_0
|
||||
%79 = OpLoad %uint %78
|
||||
%80 = OpBitcast %int %79
|
||||
OpStore %index %80
|
||||
%81 = OpLoad %int %index
|
||||
%84 = OpAccessChain %_ptr_Uniform_int %x_24 %uint_4
|
||||
%85 = OpLoad %int %84
|
||||
%86 = OpSLessThan %bool %81 %85
|
||||
OpSelectionMerge %87 None
|
||||
OpBranchConditional %86 %88 %87
|
||||
%88 = OpLabel
|
||||
%89 = OpFunctionCall %float %getAAtOutCoords_
|
||||
OpStore %a_1 %89
|
||||
%90 = OpLoad %float %a_1
|
||||
OpStore %param %90
|
||||
%91 = OpFunctionCall %float %unaryOperation_f1_ %param
|
||||
%93 = OpLoad %int %index
|
||||
OpStore %param_1 %93
|
||||
OpStore %param_2 %91
|
||||
%94 = OpFunctionCall %void %setOutput_i1_f1_ %param_1 %param_2
|
||||
OpBranch %87
|
||||
%87 = OpLabel
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%main_inner = OpFunction %void None %87
|
||||
%main_inner = OpFunction %void None %97
|
||||
%gl_GlobalInvocationID_param = OpFunctionParameter %v3uint
|
||||
%90 = OpLabel
|
||||
%100 = OpLabel
|
||||
OpStore %gl_GlobalInvocationID %gl_GlobalInvocationID_param
|
||||
%91 = OpFunctionCall %void %main_1
|
||||
%101 = OpFunctionCall %void %main_1
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%main = OpFunction %void None %59
|
||||
%93 = OpLabel
|
||||
%95 = OpLoad %v3uint %gl_GlobalInvocationID_param_1
|
||||
%94 = OpFunctionCall %void %main_inner %95
|
||||
%main = OpFunction %void None %69
|
||||
%103 = OpLabel
|
||||
%105 = OpLoad %v3uint %gl_GlobalInvocationID_param_1
|
||||
%104 = OpFunctionCall %void %main_inner %105
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
; SPIR-V
|
||||
; Version: 1.3
|
||||
; Generator: Google Tint Compiler; 0
|
||||
; Bound: 102
|
||||
; Bound: 112
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
%42 = OpExtInstImport "GLSL.std.450"
|
||||
%51 = OpExtInstImport "GLSL.std.450"
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint GLCompute %main "main" %gl_GlobalInvocationID_param_1
|
||||
OpExecutionMode %main LocalSize 1 1 1
|
||||
|
@ -27,6 +27,8 @@
|
|||
OpName %binaryOperation_f1_f1_ "binaryOperation_f1_f1_"
|
||||
OpName %a "a"
|
||||
OpName %b "b"
|
||||
OpName %tint_return_flag "tint_return_flag"
|
||||
OpName %tint_return_value "tint_return_value"
|
||||
OpName %x_26 "x_26"
|
||||
OpName %main_1 "main_1"
|
||||
OpName %index "index"
|
||||
|
@ -83,93 +85,110 @@
|
|||
%x_46 = OpVariable %_ptr_Uniform_Uniforms Uniform
|
||||
%_ptr_Function_float = OpTypePointer Function %float
|
||||
%23 = OpTypeFunction %float %_ptr_Function_float %_ptr_Function_float
|
||||
%30 = OpConstantNull %float
|
||||
%bool = OpTypeBool
|
||||
%_ptr_Function_bool = OpTypePointer Function %bool
|
||||
%32 = OpConstantNull %bool
|
||||
%34 = OpConstantNull %float
|
||||
%true = OpConstantTrue %bool
|
||||
%float_1 = OpConstant %float 1
|
||||
%float_2 = OpConstant %float 2
|
||||
%void = OpTypeVoid
|
||||
%69 = OpTypeFunction %void
|
||||
%79 = OpTypeFunction %void
|
||||
%_ptr_Function_int = OpTypePointer Function %int
|
||||
%75 = OpConstantNull %int
|
||||
%85 = OpConstantNull %int
|
||||
%uint_0 = OpConstant %uint 0
|
||||
%_ptr_Private_uint = OpTypePointer Private %uint
|
||||
%int_n10 = OpConstant %int -10
|
||||
%float_n4 = OpConstant %float -4
|
||||
%float_n3 = OpConstant %float -3
|
||||
%_ptr_StorageBuffer_float = OpTypePointer StorageBuffer %float
|
||||
%93 = OpTypeFunction %void %v3uint
|
||||
%103 = OpTypeFunction %void %v3uint
|
||||
%binaryOperation_f1_f1_ = OpFunction %float None %23
|
||||
%a = OpFunctionParameter %_ptr_Function_float
|
||||
%b = OpFunctionParameter %_ptr_Function_float
|
||||
%28 = OpLabel
|
||||
%x_26 = OpVariable %_ptr_Function_float Function %30
|
||||
%32 = OpLoad %float %b
|
||||
%33 = OpFOrdEqual %bool %32 %30
|
||||
OpSelectionMerge %35 None
|
||||
OpBranchConditional %33 %36 %35
|
||||
%36 = OpLabel
|
||||
OpReturnValue %float_1
|
||||
%35 = OpLabel
|
||||
%39 = OpLoad %float %b
|
||||
%45 = OpFDiv %float %39 %float_2
|
||||
%44 = OpExtInst %float %42 Floor %45
|
||||
%46 = OpFMul %float %float_2 %44
|
||||
%47 = OpFSub %float %39 %46
|
||||
%41 = OpExtInst %float %42 RoundEven %47
|
||||
%48 = OpFOrdEqual %bool %41 %float_1
|
||||
%40 = OpLogicalNot %bool %48
|
||||
OpSelectionMerge %49 None
|
||||
OpBranchConditional %40 %50 %51
|
||||
%50 = OpLabel
|
||||
%53 = OpLoad %float %a
|
||||
%55 = OpLoad %float %b
|
||||
%57 = OpExtInst %float %42 FAbs %53
|
||||
%56 = OpExtInst %float %42 Pow %57 %55
|
||||
OpStore %x_26 %56
|
||||
OpBranch %49
|
||||
%51 = OpLabel
|
||||
%59 = OpLoad %float %a
|
||||
%61 = OpLoad %float %a
|
||||
%63 = OpLoad %float %b
|
||||
%64 = OpExtInst %float %42 FSign %59
|
||||
%66 = OpExtInst %float %42 FAbs %61
|
||||
%65 = OpExtInst %float %42 Pow %66 %63
|
||||
%67 = OpFMul %float %64 %65
|
||||
OpStore %x_26 %67
|
||||
OpBranch %49
|
||||
%49 = OpLabel
|
||||
%68 = OpLoad %float %x_26
|
||||
OpReturnValue %68
|
||||
%tint_return_flag = OpVariable %_ptr_Function_bool Function %32
|
||||
%tint_return_value = OpVariable %_ptr_Function_float Function %34
|
||||
%x_26 = OpVariable %_ptr_Function_float Function %34
|
||||
%37 = OpLoad %float %b
|
||||
%38 = OpFOrdEqual %bool %37 %34
|
||||
OpSelectionMerge %39 None
|
||||
OpBranchConditional %38 %40 %39
|
||||
%40 = OpLabel
|
||||
OpStore %tint_return_flag %true
|
||||
OpStore %tint_return_value %float_1
|
||||
OpBranch %39
|
||||
%39 = OpLabel
|
||||
%44 = OpLoad %bool %tint_return_flag
|
||||
%43 = OpLogicalNot %bool %44
|
||||
OpSelectionMerge %45 None
|
||||
OpBranchConditional %43 %46 %45
|
||||
%46 = OpLabel
|
||||
%48 = OpLoad %float %b
|
||||
%54 = OpFDiv %float %48 %float_2
|
||||
%53 = OpExtInst %float %51 Floor %54
|
||||
%55 = OpFMul %float %float_2 %53
|
||||
%56 = OpFSub %float %48 %55
|
||||
%50 = OpExtInst %float %51 RoundEven %56
|
||||
%57 = OpFOrdEqual %bool %50 %float_1
|
||||
%49 = OpLogicalNot %bool %57
|
||||
OpSelectionMerge %58 None
|
||||
OpBranchConditional %49 %59 %60
|
||||
%59 = OpLabel
|
||||
%62 = OpLoad %float %a
|
||||
%64 = OpLoad %float %b
|
||||
%66 = OpExtInst %float %51 FAbs %62
|
||||
%65 = OpExtInst %float %51 Pow %66 %64
|
||||
OpStore %x_26 %65
|
||||
OpBranch %58
|
||||
%60 = OpLabel
|
||||
%68 = OpLoad %float %a
|
||||
%70 = OpLoad %float %a
|
||||
%72 = OpLoad %float %b
|
||||
%73 = OpExtInst %float %51 FSign %68
|
||||
%75 = OpExtInst %float %51 FAbs %70
|
||||
%74 = OpExtInst %float %51 Pow %75 %72
|
||||
%76 = OpFMul %float %73 %74
|
||||
OpStore %x_26 %76
|
||||
OpBranch %58
|
||||
%58 = OpLabel
|
||||
%77 = OpLoad %float %x_26
|
||||
OpStore %tint_return_flag %true
|
||||
OpStore %tint_return_value %77
|
||||
OpBranch %45
|
||||
%45 = OpLabel
|
||||
%78 = OpLoad %float %tint_return_value
|
||||
OpReturnValue %78
|
||||
OpFunctionEnd
|
||||
%main_1 = OpFunction %void None %69
|
||||
%72 = OpLabel
|
||||
%index = OpVariable %_ptr_Function_int Function %75
|
||||
%a_1 = OpVariable %_ptr_Function_int Function %75
|
||||
%param = OpVariable %_ptr_Function_float Function %30
|
||||
%param_1 = OpVariable %_ptr_Function_float Function %30
|
||||
%81 = OpAccessChain %_ptr_Private_uint %gl_GlobalInvocationID %uint_0
|
||||
%82 = OpLoad %uint %81
|
||||
%83 = OpBitcast %int %82
|
||||
OpStore %index %83
|
||||
%main_1 = OpFunction %void None %79
|
||||
%82 = OpLabel
|
||||
%index = OpVariable %_ptr_Function_int Function %85
|
||||
%a_1 = OpVariable %_ptr_Function_int Function %85
|
||||
%param = OpVariable %_ptr_Function_float Function %34
|
||||
%param_1 = OpVariable %_ptr_Function_float Function %34
|
||||
%91 = OpAccessChain %_ptr_Private_uint %gl_GlobalInvocationID %uint_0
|
||||
%92 = OpLoad %uint %91
|
||||
%93 = OpBitcast %int %92
|
||||
OpStore %index %93
|
||||
OpStore %a_1 %int_n10
|
||||
%85 = OpLoad %int %index
|
||||
%95 = OpLoad %int %index
|
||||
OpStore %param %float_n4
|
||||
OpStore %param_1 %float_n3
|
||||
%88 = OpFunctionCall %float %binaryOperation_f1_f1_ %param %param_1
|
||||
%92 = OpAccessChain %_ptr_StorageBuffer_float %resultMatrix %uint_0 %85
|
||||
OpStore %92 %88
|
||||
%98 = OpFunctionCall %float %binaryOperation_f1_f1_ %param %param_1
|
||||
%102 = OpAccessChain %_ptr_StorageBuffer_float %resultMatrix %uint_0 %95
|
||||
OpStore %102 %98
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%main_inner = OpFunction %void None %93
|
||||
%main_inner = OpFunction %void None %103
|
||||
%gl_GlobalInvocationID_param = OpFunctionParameter %v3uint
|
||||
%96 = OpLabel
|
||||
%106 = OpLabel
|
||||
OpStore %gl_GlobalInvocationID %gl_GlobalInvocationID_param
|
||||
%97 = OpFunctionCall %void %main_1
|
||||
%107 = OpFunctionCall %void %main_1
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%main = OpFunction %void None %69
|
||||
%99 = OpLabel
|
||||
%101 = OpLoad %v3uint %gl_GlobalInvocationID_param_1
|
||||
%100 = OpFunctionCall %void %main_inner %101
|
||||
%main = OpFunction %void None %79
|
||||
%109 = OpLabel
|
||||
%111 = OpLoad %v3uint %gl_GlobalInvocationID_param_1
|
||||
%110 = OpFunctionCall %void %main_inner %111
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
; SPIR-V
|
||||
; Version: 1.3
|
||||
; Generator: Google Tint Compiler; 0
|
||||
; Bound: 26
|
||||
; Bound: 32
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
OpMemoryModel Logical GLSL450
|
||||
|
@ -9,42 +9,52 @@
|
|||
OpExecutionMode %unused_entry_point LocalSize 1 1 1
|
||||
OpName %unused_entry_point "unused_entry_point"
|
||||
OpName %f "f"
|
||||
OpName %tint_return_flag "tint_return_flag"
|
||||
OpName %tint_return_value "tint_return_value"
|
||||
OpName %i "i"
|
||||
%void = OpTypeVoid
|
||||
%1 = OpTypeFunction %void
|
||||
%int = OpTypeInt 32 1
|
||||
%5 = OpTypeFunction %int
|
||||
%bool = OpTypeBool
|
||||
%_ptr_Function_bool = OpTypePointer Function %bool
|
||||
%12 = OpConstantNull %bool
|
||||
%_ptr_Function_int = OpTypePointer Function %int
|
||||
%11 = OpConstantNull %int
|
||||
%15 = OpConstantNull %int
|
||||
%int_1 = OpConstant %int 1
|
||||
%int_4 = OpConstant %int 4
|
||||
%bool = OpTypeBool
|
||||
%true = OpConstantTrue %bool
|
||||
%unused_entry_point = OpFunction %void None %1
|
||||
%4 = OpLabel
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%f = OpFunction %int None %5
|
||||
%8 = OpLabel
|
||||
%i = OpVariable %_ptr_Function_int Function %11
|
||||
OpBranch %12
|
||||
%12 = OpLabel
|
||||
OpLoopMerge %13 %14 None
|
||||
OpBranch %15
|
||||
%15 = OpLabel
|
||||
%16 = OpLoad %int %i
|
||||
%18 = OpIAdd %int %16 %int_1
|
||||
OpStore %i %18
|
||||
%19 = OpLoad %int %i
|
||||
%21 = OpSGreaterThan %bool %19 %int_4
|
||||
OpSelectionMerge %23 None
|
||||
OpBranchConditional %21 %24 %23
|
||||
%24 = OpLabel
|
||||
%25 = OpLoad %int %i
|
||||
OpReturnValue %25
|
||||
%23 = OpLabel
|
||||
OpBranch %14
|
||||
%14 = OpLabel
|
||||
OpBranch %12
|
||||
%13 = OpLabel
|
||||
OpReturnValue %11
|
||||
%tint_return_flag = OpVariable %_ptr_Function_bool Function %12
|
||||
%tint_return_value = OpVariable %_ptr_Function_int Function %15
|
||||
%i = OpVariable %_ptr_Function_int Function %15
|
||||
OpBranch %17
|
||||
%17 = OpLabel
|
||||
OpLoopMerge %18 %19 None
|
||||
OpBranch %20
|
||||
%20 = OpLabel
|
||||
%21 = OpLoad %int %i
|
||||
%23 = OpIAdd %int %21 %int_1
|
||||
OpStore %i %23
|
||||
%24 = OpLoad %int %i
|
||||
%26 = OpSGreaterThan %bool %24 %int_4
|
||||
OpSelectionMerge %27 None
|
||||
OpBranchConditional %26 %28 %27
|
||||
%28 = OpLabel
|
||||
OpStore %tint_return_flag %true
|
||||
%30 = OpLoad %int %i
|
||||
OpStore %tint_return_value %30
|
||||
OpBranch %18
|
||||
%27 = OpLabel
|
||||
OpBranch %19
|
||||
%19 = OpLabel
|
||||
OpBranch %17
|
||||
%18 = OpLabel
|
||||
%31 = OpLoad %int %tint_return_value
|
||||
OpReturnValue %31
|
||||
OpFunctionEnd
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
; SPIR-V
|
||||
; Version: 1.3
|
||||
; Generator: Google Tint Compiler; 0
|
||||
; Bound: 29
|
||||
; Bound: 39
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
OpMemoryModel Logical GLSL450
|
||||
|
@ -9,15 +9,20 @@
|
|||
OpExecutionMode %unused_entry_point LocalSize 1 1 1
|
||||
OpName %unused_entry_point "unused_entry_point"
|
||||
OpName %f "f"
|
||||
OpName %tint_return_flag "tint_return_flag"
|
||||
OpName %tint_return_value "tint_return_value"
|
||||
OpName %i "i"
|
||||
%void = OpTypeVoid
|
||||
%1 = OpTypeFunction %void
|
||||
%int = OpTypeInt 32 1
|
||||
%5 = OpTypeFunction %int
|
||||
%_ptr_Function_int = OpTypePointer Function %int
|
||||
%11 = OpConstantNull %int
|
||||
%int_4 = OpConstant %int 4
|
||||
%bool = OpTypeBool
|
||||
%_ptr_Function_bool = OpTypePointer Function %bool
|
||||
%12 = OpConstantNull %bool
|
||||
%_ptr_Function_int = OpTypePointer Function %int
|
||||
%15 = OpConstantNull %int
|
||||
%int_4 = OpConstant %int 4
|
||||
%true = OpConstantTrue %bool
|
||||
%int_1 = OpConstant %int 1
|
||||
%unused_entry_point = OpFunction %void None %1
|
||||
%4 = OpLabel
|
||||
|
@ -25,29 +30,43 @@
|
|||
OpFunctionEnd
|
||||
%f = OpFunction %int None %5
|
||||
%8 = OpLabel
|
||||
%i = OpVariable %_ptr_Function_int Function %11
|
||||
OpBranch %12
|
||||
%12 = OpLabel
|
||||
OpLoopMerge %13 %14 None
|
||||
OpBranch %15
|
||||
%15 = OpLabel
|
||||
%16 = OpLoad %int %i
|
||||
%18 = OpSGreaterThan %bool %16 %int_4
|
||||
OpSelectionMerge %20 None
|
||||
OpBranchConditional %18 %21 %20
|
||||
%21 = OpLabel
|
||||
%22 = OpLoad %int %i
|
||||
OpReturnValue %22
|
||||
%tint_return_flag = OpVariable %_ptr_Function_bool Function %12
|
||||
%tint_return_value = OpVariable %_ptr_Function_int Function %15
|
||||
%i = OpVariable %_ptr_Function_int Function %15
|
||||
OpBranch %17
|
||||
%17 = OpLabel
|
||||
OpLoopMerge %18 %19 None
|
||||
OpBranch %20
|
||||
%20 = OpLabel
|
||||
OpBranch %14
|
||||
%14 = OpLabel
|
||||
%23 = OpLoad %int %i
|
||||
%25 = OpIAdd %int %23 %int_1
|
||||
OpStore %i %25
|
||||
%26 = OpLoad %int %i
|
||||
%27 = OpIEqual %bool %26 %int_4
|
||||
OpBranchConditional %27 %13 %12
|
||||
%13 = OpLabel
|
||||
%21 = OpLoad %int %i
|
||||
%23 = OpSGreaterThan %bool %21 %int_4
|
||||
OpSelectionMerge %24 None
|
||||
OpBranchConditional %23 %25 %24
|
||||
%25 = OpLabel
|
||||
OpStore %tint_return_flag %true
|
||||
%27 = OpLoad %int %i
|
||||
OpStore %tint_return_value %27
|
||||
OpBranch %18
|
||||
%24 = OpLabel
|
||||
OpBranch %19
|
||||
%19 = OpLabel
|
||||
%28 = OpLoad %int %i
|
||||
OpReturnValue %28
|
||||
%30 = OpIAdd %int %28 %int_1
|
||||
OpStore %i %30
|
||||
%31 = OpLoad %int %i
|
||||
%32 = OpIEqual %bool %31 %int_4
|
||||
OpBranchConditional %32 %18 %17
|
||||
%18 = OpLabel
|
||||
%34 = OpLoad %bool %tint_return_flag
|
||||
%33 = OpLogicalNot %bool %34
|
||||
OpSelectionMerge %35 None
|
||||
OpBranchConditional %33 %36 %35
|
||||
%36 = OpLabel
|
||||
OpStore %tint_return_flag %true
|
||||
%37 = OpLoad %int %i
|
||||
OpStore %tint_return_value %37
|
||||
OpBranch %35
|
||||
%35 = OpLabel
|
||||
%38 = OpLoad %int %tint_return_value
|
||||
OpReturnValue %38
|
||||
OpFunctionEnd
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
; SPIR-V
|
||||
; Version: 1.3
|
||||
; Generator: Google Tint Compiler; 0
|
||||
; Bound: 26
|
||||
; Bound: 32
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
OpMemoryModel Logical GLSL450
|
||||
|
@ -9,15 +9,20 @@
|
|||
OpExecutionMode %unused_entry_point LocalSize 1 1 1
|
||||
OpName %unused_entry_point "unused_entry_point"
|
||||
OpName %f "f"
|
||||
OpName %tint_return_flag "tint_return_flag"
|
||||
OpName %tint_return_value "tint_return_value"
|
||||
OpName %i "i"
|
||||
%void = OpTypeVoid
|
||||
%1 = OpTypeFunction %void
|
||||
%int = OpTypeInt 32 1
|
||||
%5 = OpTypeFunction %int
|
||||
%_ptr_Function_int = OpTypePointer Function %int
|
||||
%11 = OpConstantNull %int
|
||||
%int_4 = OpConstant %int 4
|
||||
%bool = OpTypeBool
|
||||
%_ptr_Function_bool = OpTypePointer Function %bool
|
||||
%12 = OpConstantNull %bool
|
||||
%_ptr_Function_int = OpTypePointer Function %int
|
||||
%15 = OpConstantNull %int
|
||||
%int_4 = OpConstant %int 4
|
||||
%true = OpConstantTrue %bool
|
||||
%int_1 = OpConstant %int 1
|
||||
%unused_entry_point = OpFunction %void None %1
|
||||
%4 = OpLabel
|
||||
|
@ -25,26 +30,31 @@
|
|||
OpFunctionEnd
|
||||
%f = OpFunction %int None %5
|
||||
%8 = OpLabel
|
||||
%i = OpVariable %_ptr_Function_int Function %11
|
||||
OpBranch %12
|
||||
%12 = OpLabel
|
||||
OpLoopMerge %13 %14 None
|
||||
OpBranch %15
|
||||
%15 = OpLabel
|
||||
%16 = OpLoad %int %i
|
||||
%18 = OpSGreaterThan %bool %16 %int_4
|
||||
OpSelectionMerge %20 None
|
||||
OpBranchConditional %18 %21 %20
|
||||
%21 = OpLabel
|
||||
%22 = OpLoad %int %i
|
||||
OpReturnValue %22
|
||||
%tint_return_flag = OpVariable %_ptr_Function_bool Function %12
|
||||
%tint_return_value = OpVariable %_ptr_Function_int Function %15
|
||||
%i = OpVariable %_ptr_Function_int Function %15
|
||||
OpBranch %17
|
||||
%17 = OpLabel
|
||||
OpLoopMerge %18 %19 None
|
||||
OpBranch %20
|
||||
%20 = OpLabel
|
||||
OpBranch %14
|
||||
%14 = OpLabel
|
||||
%23 = OpLoad %int %i
|
||||
%25 = OpIAdd %int %23 %int_1
|
||||
OpStore %i %25
|
||||
OpBranch %12
|
||||
%13 = OpLabel
|
||||
OpReturnValue %11
|
||||
%21 = OpLoad %int %i
|
||||
%23 = OpSGreaterThan %bool %21 %int_4
|
||||
OpSelectionMerge %24 None
|
||||
OpBranchConditional %23 %25 %24
|
||||
%25 = OpLabel
|
||||
OpStore %tint_return_flag %true
|
||||
%27 = OpLoad %int %i
|
||||
OpStore %tint_return_value %27
|
||||
OpBranch %18
|
||||
%24 = OpLabel
|
||||
OpBranch %19
|
||||
%19 = OpLabel
|
||||
%28 = OpLoad %int %i
|
||||
%30 = OpIAdd %int %28 %int_1
|
||||
OpStore %i %30
|
||||
OpBranch %17
|
||||
%18 = OpLabel
|
||||
%31 = OpLoad %int %tint_return_value
|
||||
OpReturnValue %31
|
||||
OpFunctionEnd
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
; SPIR-V
|
||||
; Version: 1.3
|
||||
; Generator: Google Tint Compiler; 0
|
||||
; Bound: 37
|
||||
; Bound: 43
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
OpMemoryModel Logical GLSL450
|
||||
|
@ -9,17 +9,22 @@
|
|||
OpExecutionMode %unused_entry_point LocalSize 1 1 1
|
||||
OpName %unused_entry_point "unused_entry_point"
|
||||
OpName %f "f"
|
||||
OpName %tint_return_flag "tint_return_flag"
|
||||
OpName %tint_return_value "tint_return_value"
|
||||
OpName %i "i"
|
||||
OpName %j "j"
|
||||
%void = OpTypeVoid
|
||||
%1 = OpTypeFunction %void
|
||||
%int = OpTypeInt 32 1
|
||||
%5 = OpTypeFunction %int
|
||||
%bool = OpTypeBool
|
||||
%_ptr_Function_bool = OpTypePointer Function %bool
|
||||
%12 = OpConstantNull %bool
|
||||
%_ptr_Function_int = OpTypePointer Function %int
|
||||
%11 = OpConstantNull %int
|
||||
%15 = OpConstantNull %int
|
||||
%int_1 = OpConstant %int 1
|
||||
%int_4 = OpConstant %int 4
|
||||
%bool = OpTypeBool
|
||||
%true = OpConstantTrue %bool
|
||||
%int_2 = OpConstant %int 2
|
||||
%unused_entry_point = OpFunction %void None %1
|
||||
%4 = OpLabel
|
||||
|
@ -27,45 +32,52 @@
|
|||
OpFunctionEnd
|
||||
%f = OpFunction %int None %5
|
||||
%8 = OpLabel
|
||||
%i = OpVariable %_ptr_Function_int Function %11
|
||||
%j = OpVariable %_ptr_Function_int Function %11
|
||||
OpBranch %13
|
||||
%13 = OpLabel
|
||||
OpLoopMerge %14 %15 None
|
||||
OpBranch %16
|
||||
%16 = OpLabel
|
||||
%17 = OpLoad %int %i
|
||||
%19 = OpIAdd %int %17 %int_1
|
||||
OpStore %i %19
|
||||
%20 = OpLoad %int %i
|
||||
%22 = OpSGreaterThan %bool %20 %int_4
|
||||
OpSelectionMerge %24 None
|
||||
OpBranchConditional %22 %25 %24
|
||||
%25 = OpLabel
|
||||
OpReturnValue %int_1
|
||||
%24 = OpLabel
|
||||
OpBranch %26
|
||||
%26 = OpLabel
|
||||
OpLoopMerge %27 %28 None
|
||||
OpBranch %29
|
||||
%tint_return_flag = OpVariable %_ptr_Function_bool Function %12
|
||||
%tint_return_value = OpVariable %_ptr_Function_int Function %15
|
||||
%i = OpVariable %_ptr_Function_int Function %15
|
||||
%j = OpVariable %_ptr_Function_int Function %15
|
||||
OpBranch %18
|
||||
%18 = OpLabel
|
||||
OpLoopMerge %19 %20 None
|
||||
OpBranch %21
|
||||
%21 = OpLabel
|
||||
%22 = OpLoad %int %i
|
||||
%24 = OpIAdd %int %22 %int_1
|
||||
OpStore %i %24
|
||||
%25 = OpLoad %int %i
|
||||
%27 = OpSGreaterThan %bool %25 %int_4
|
||||
OpSelectionMerge %28 None
|
||||
OpBranchConditional %27 %29 %28
|
||||
%29 = OpLabel
|
||||
%30 = OpLoad %int %j
|
||||
%31 = OpIAdd %int %30 %int_1
|
||||
OpStore %j %31
|
||||
%32 = OpLoad %int %j
|
||||
%33 = OpSGreaterThan %bool %32 %int_4
|
||||
OpSelectionMerge %34 None
|
||||
OpBranchConditional %33 %35 %34
|
||||
%35 = OpLabel
|
||||
OpReturnValue %int_2
|
||||
%34 = OpLabel
|
||||
OpBranch %28
|
||||
OpStore %tint_return_flag %true
|
||||
OpStore %tint_return_value %int_1
|
||||
OpBranch %19
|
||||
%28 = OpLabel
|
||||
OpBranch %26
|
||||
%27 = OpLabel
|
||||
OpBranch %15
|
||||
%15 = OpLabel
|
||||
OpBranch %13
|
||||
%14 = OpLabel
|
||||
OpReturnValue %11
|
||||
OpBranch %31
|
||||
%31 = OpLabel
|
||||
OpLoopMerge %32 %33 None
|
||||
OpBranch %34
|
||||
%34 = OpLabel
|
||||
%35 = OpLoad %int %j
|
||||
%36 = OpIAdd %int %35 %int_1
|
||||
OpStore %j %36
|
||||
%37 = OpLoad %int %j
|
||||
%38 = OpSGreaterThan %bool %37 %int_4
|
||||
OpSelectionMerge %39 None
|
||||
OpBranchConditional %38 %40 %39
|
||||
%40 = OpLabel
|
||||
OpStore %tint_return_flag %true
|
||||
OpStore %tint_return_value %int_2
|
||||
OpBranch %32
|
||||
%39 = OpLabel
|
||||
OpBranch %33
|
||||
%33 = OpLabel
|
||||
OpBranch %31
|
||||
%32 = OpLabel
|
||||
OpBranch %19
|
||||
%20 = OpLabel
|
||||
OpBranch %18
|
||||
%19 = OpLabel
|
||||
%42 = OpLoad %int %tint_return_value
|
||||
OpReturnValue %42
|
||||
OpFunctionEnd
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
; SPIR-V
|
||||
; Version: 1.3
|
||||
; Generator: Google Tint Compiler; 0
|
||||
; Bound: 37
|
||||
; Bound: 43
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
OpMemoryModel Logical GLSL450
|
||||
|
@ -9,16 +9,21 @@
|
|||
OpExecutionMode %unused_entry_point LocalSize 1 1 1
|
||||
OpName %unused_entry_point "unused_entry_point"
|
||||
OpName %f "f"
|
||||
OpName %tint_return_flag "tint_return_flag"
|
||||
OpName %tint_return_value "tint_return_value"
|
||||
OpName %i "i"
|
||||
OpName %j "j"
|
||||
%void = OpTypeVoid
|
||||
%1 = OpTypeFunction %void
|
||||
%int = OpTypeInt 32 1
|
||||
%5 = OpTypeFunction %int
|
||||
%_ptr_Function_int = OpTypePointer Function %int
|
||||
%11 = OpConstantNull %int
|
||||
%int_4 = OpConstant %int 4
|
||||
%bool = OpTypeBool
|
||||
%_ptr_Function_bool = OpTypePointer Function %bool
|
||||
%12 = OpConstantNull %bool
|
||||
%_ptr_Function_int = OpTypePointer Function %int
|
||||
%15 = OpConstantNull %int
|
||||
%int_4 = OpConstant %int 4
|
||||
%true = OpConstantTrue %bool
|
||||
%int_1 = OpConstant %int 1
|
||||
%int_2 = OpConstant %int 2
|
||||
%unused_entry_point = OpFunction %void None %1
|
||||
|
@ -27,45 +32,52 @@
|
|||
OpFunctionEnd
|
||||
%f = OpFunction %int None %5
|
||||
%8 = OpLabel
|
||||
%i = OpVariable %_ptr_Function_int Function %11
|
||||
%j = OpVariable %_ptr_Function_int Function %11
|
||||
OpBranch %13
|
||||
%13 = OpLabel
|
||||
OpLoopMerge %14 %15 None
|
||||
OpBranch %16
|
||||
%16 = OpLabel
|
||||
%17 = OpLoad %int %i
|
||||
%19 = OpSGreaterThan %bool %17 %int_4
|
||||
OpSelectionMerge %21 None
|
||||
OpBranchConditional %19 %22 %21
|
||||
%22 = OpLabel
|
||||
OpReturnValue %int_1
|
||||
%tint_return_flag = OpVariable %_ptr_Function_bool Function %12
|
||||
%tint_return_value = OpVariable %_ptr_Function_int Function %15
|
||||
%i = OpVariable %_ptr_Function_int Function %15
|
||||
%j = OpVariable %_ptr_Function_int Function %15
|
||||
OpBranch %18
|
||||
%18 = OpLabel
|
||||
OpLoopMerge %19 %20 None
|
||||
OpBranch %21
|
||||
%21 = OpLabel
|
||||
OpBranch %24
|
||||
%24 = OpLabel
|
||||
OpLoopMerge %25 %26 None
|
||||
OpBranch %27
|
||||
%27 = OpLabel
|
||||
%28 = OpLoad %int %j
|
||||
%29 = OpSGreaterThan %bool %28 %int_4
|
||||
OpSelectionMerge %30 None
|
||||
OpBranchConditional %29 %31 %30
|
||||
%31 = OpLabel
|
||||
OpReturnValue %int_2
|
||||
%30 = OpLabel
|
||||
OpBranch %26
|
||||
%22 = OpLoad %int %i
|
||||
%24 = OpSGreaterThan %bool %22 %int_4
|
||||
OpSelectionMerge %25 None
|
||||
OpBranchConditional %24 %26 %25
|
||||
%26 = OpLabel
|
||||
%33 = OpLoad %int %j
|
||||
%34 = OpIAdd %int %33 %int_1
|
||||
OpStore %j %34
|
||||
OpBranch %24
|
||||
OpStore %tint_return_flag %true
|
||||
OpStore %tint_return_value %int_1
|
||||
OpBranch %19
|
||||
%25 = OpLabel
|
||||
OpBranch %15
|
||||
%15 = OpLabel
|
||||
%35 = OpLoad %int %i
|
||||
%36 = OpIAdd %int %35 %int_1
|
||||
OpStore %i %36
|
||||
OpBranch %13
|
||||
%14 = OpLabel
|
||||
OpReturnValue %11
|
||||
OpBranch %29
|
||||
%29 = OpLabel
|
||||
OpLoopMerge %30 %31 None
|
||||
OpBranch %32
|
||||
%32 = OpLabel
|
||||
%33 = OpLoad %int %j
|
||||
%34 = OpSGreaterThan %bool %33 %int_4
|
||||
OpSelectionMerge %35 None
|
||||
OpBranchConditional %34 %36 %35
|
||||
%36 = OpLabel
|
||||
OpStore %tint_return_flag %true
|
||||
OpStore %tint_return_value %int_2
|
||||
OpBranch %30
|
||||
%35 = OpLabel
|
||||
OpBranch %31
|
||||
%31 = OpLabel
|
||||
%38 = OpLoad %int %j
|
||||
%39 = OpIAdd %int %38 %int_1
|
||||
OpStore %j %39
|
||||
OpBranch %29
|
||||
%30 = OpLabel
|
||||
OpBranch %19
|
||||
%20 = OpLabel
|
||||
%40 = OpLoad %int %i
|
||||
%41 = OpIAdd %int %40 %int_1
|
||||
OpStore %i %41
|
||||
OpBranch %18
|
||||
%19 = OpLabel
|
||||
%42 = OpLoad %int %tint_return_value
|
||||
OpReturnValue %42
|
||||
OpFunctionEnd
|
||||
|
|
Loading…
Reference in New Issue