322 lines
		
	
	
		
			13 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			322 lines
		
	
	
		
			13 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| ; SPIR-V
 | |
| ; Version: 1.0
 | |
| ; Generator: Khronos Glslang Reference Front End; 8
 | |
| ; Bound: 207
 | |
| ; Schema: 0
 | |
|                OpCapability Shader
 | |
|           %1 = OpExtInstImport "GLSL.std.450"
 | |
|                OpMemoryModel Logical GLSL450
 | |
|                OpEntryPoint Fragment %main "main"
 | |
|                OpExecutionMode %main OriginUpperLeft
 | |
|                OpSource ESSL 310
 | |
|                OpName %main "main"
 | |
|                OpName %f "f"
 | |
|                OpName %v4 "v4"
 | |
|                OpName %u "u"
 | |
|                OpName %uv4 "uv4"
 | |
|                OpName %iv3 "iv3"
 | |
|                OpName %i "i"
 | |
|                OpName %uv3 "uv3"
 | |
|                OpName %m2 "m2"
 | |
|                OpName %iv4 "iv4"
 | |
|                OpName %m4 "m4"
 | |
|                OpName %a "a"
 | |
|                OpName %S "S"
 | |
|                OpMemberName %S 0 "i"
 | |
|                OpName %s "s"
 | |
|                OpName %b "b"
 | |
|                OpName %arr "arr"
 | |
|                OpName %arr2 "arr2"
 | |
|                OpName %block "block"
 | |
|                OpMemberName %block 0 "f"
 | |
|                OpName %instanceName "instanceName"
 | |
|                OpDecorate %u RelaxedPrecision
 | |
|                OpDecorate %18 RelaxedPrecision
 | |
|                OpDecorate %19 RelaxedPrecision
 | |
|                OpDecorate %20 RelaxedPrecision
 | |
|                OpDecorate %uv4 RelaxedPrecision
 | |
|                OpDecorate %24 RelaxedPrecision
 | |
|                OpDecorate %25 RelaxedPrecision
 | |
|                OpDecorate %26 RelaxedPrecision
 | |
|                OpDecorate %27 RelaxedPrecision
 | |
|                OpDecorate %iv3 RelaxedPrecision
 | |
|                OpDecorate %32 RelaxedPrecision
 | |
|                OpDecorate %33 RelaxedPrecision
 | |
|                OpDecorate %34 RelaxedPrecision
 | |
|                OpDecorate %i RelaxedPrecision
 | |
|                OpDecorate %38 RelaxedPrecision
 | |
|                OpDecorate %39 RelaxedPrecision
 | |
|                OpDecorate %uv3 RelaxedPrecision
 | |
|                OpDecorate %43 RelaxedPrecision
 | |
|                OpDecorate %45 RelaxedPrecision
 | |
|                OpDecorate %46 RelaxedPrecision
 | |
|                OpDecorate %iv4 RelaxedPrecision
 | |
|                OpDecorate %62 RelaxedPrecision
 | |
|                OpDecorate %64 RelaxedPrecision
 | |
|                OpDecorate %65 RelaxedPrecision
 | |
|                OpDecorate %104 RelaxedPrecision
 | |
|                OpDecorate %105 RelaxedPrecision
 | |
|                OpMemberDecorate %S 0 RelaxedPrecision
 | |
|                OpDecorate %153 RelaxedPrecision
 | |
|                OpDecorate %154 RelaxedPrecision
 | |
|                OpDecorate %155 RelaxedPrecision
 | |
|                OpDecorate %156 RelaxedPrecision
 | |
|                OpDecorate %157 RelaxedPrecision
 | |
|                OpDecorate %158 RelaxedPrecision
 | |
|                OpDecorate %159 RelaxedPrecision
 | |
|                OpDecorate %160 RelaxedPrecision
 | |
|                OpDecorate %161 RelaxedPrecision
 | |
|                OpDecorate %162 RelaxedPrecision
 | |
|                OpDecorate %163 RelaxedPrecision
 | |
|                OpDecorate %164 RelaxedPrecision
 | |
|                OpDecorate %165 RelaxedPrecision
 | |
|                OpDecorate %166 RelaxedPrecision
 | |
|                OpDecorate %167 RelaxedPrecision
 | |
|                OpDecorate %168 RelaxedPrecision
 | |
|                OpDecorate %169 RelaxedPrecision
 | |
|                OpDecorate %170 RelaxedPrecision
 | |
|                OpDecorate %171 RelaxedPrecision
 | |
|                OpDecorate %172 RelaxedPrecision
 | |
|                OpDecorate %173 RelaxedPrecision
 | |
|                OpDecorate %174 RelaxedPrecision
 | |
|                OpDecorate %175 RelaxedPrecision
 | |
|                OpDecorate %176 RelaxedPrecision
 | |
|                OpDecorate %177 RelaxedPrecision
 | |
|                OpDecorate %178 RelaxedPrecision
 | |
|                OpDecorate %179 RelaxedPrecision
 | |
|                OpDecorate %180 RelaxedPrecision
 | |
|                OpDecorate %181 RelaxedPrecision
 | |
|                OpDecorate %182 RelaxedPrecision
 | |
|                OpDecorate %183 RelaxedPrecision
 | |
|                OpDecorate %184 RelaxedPrecision
 | |
|                OpDecorate %185 RelaxedPrecision
 | |
|                OpDecorate %186 RelaxedPrecision
 | |
|                OpDecorate %187 RelaxedPrecision
 | |
|                OpDecorate %188 RelaxedPrecision
 | |
|                OpDecorate %189 RelaxedPrecision
 | |
|                OpDecorate %190 RelaxedPrecision
 | |
|                OpDecorate %191 RelaxedPrecision
 | |
|                OpDecorate %192 RelaxedPrecision
 | |
|                OpDecorate %193 RelaxedPrecision
 | |
|                OpDecorate %194 RelaxedPrecision
 | |
|                OpDecorate %arr RelaxedPrecision
 | |
|                OpDecorate %arr2 RelaxedPrecision
 | |
|                OpMemberDecorate %block 0 RelaxedPrecision
 | |
|                OpMemberDecorate %block 0 Offset 0
 | |
|                OpDecorate %block Block
 | |
|                OpDecorate %instanceName DescriptorSet 0
 | |
|                OpDecorate %instanceName Binding 0
 | |
|        %void = OpTypeVoid
 | |
|           %3 = OpTypeFunction %void
 | |
|       %float = OpTypeFloat 32
 | |
| %_ptr_Function_float = OpTypePointer Function %float
 | |
|     %v4float = OpTypeVector %float 4
 | |
| %_ptr_Function_v4float = OpTypePointer Function %v4float
 | |
|        %uint = OpTypeInt 32 0
 | |
| %_ptr_Function_uint = OpTypePointer Function %uint
 | |
|      %v4uint = OpTypeVector %uint 4
 | |
| %_ptr_Function_v4uint = OpTypePointer Function %v4uint
 | |
|         %int = OpTypeInt 32 1
 | |
|       %v3int = OpTypeVector %int 3
 | |
| %_ptr_Function_v3int = OpTypePointer Function %v3int
 | |
| %_ptr_Function_int = OpTypePointer Function %int
 | |
|       %int_3 = OpConstant %int 3
 | |
|      %v3uint = OpTypeVector %uint 3
 | |
| %_ptr_Function_v3uint = OpTypePointer Function %v3uint
 | |
|      %uint_4 = OpConstant %uint 4
 | |
|     %v2float = OpTypeVector %float 2
 | |
| %mat2v2float = OpTypeMatrix %v2float 2
 | |
| %_ptr_Function_mat2v2float = OpTypePointer Function %mat2v2float
 | |
|     %float_1 = OpConstant %float 1
 | |
|       %v4int = OpTypeVector %int 4
 | |
| %_ptr_Function_v4int = OpTypePointer Function %v4int
 | |
|       %int_1 = OpConstant %int 1
 | |
| %mat4v4float = OpTypeMatrix %v4float 4
 | |
| %_ptr_Function_mat4v4float = OpTypePointer Function %mat4v4float
 | |
|        %bool = OpTypeBool
 | |
|      %v4bool = OpTypeVector %bool 4
 | |
|      %v2bool = OpTypeVector %bool 2
 | |
|      %uint_5 = OpConstant %uint 5
 | |
| %_arr_float_uint_5 = OpTypeArray %float %uint_5
 | |
| %_ptr_Private__arr_float_uint_5 = OpTypePointer Private %_arr_float_uint_5
 | |
|           %a = OpVariable %_ptr_Private__arr_float_uint_5 Private
 | |
|           %S = OpTypeStruct %int
 | |
| %_ptr_Private_S = OpTypePointer Private %S
 | |
|           %s = OpVariable %_ptr_Private_S Private
 | |
| %_ptr_Function_bool = OpTypePointer Function %bool
 | |
|      %uint_2 = OpConstant %uint 2
 | |
| %_arr_int_uint_2 = OpTypeArray %int %uint_2
 | |
| %_ptr_Function__arr_int_uint_2 = OpTypePointer Function %_arr_int_uint_2
 | |
|      %uint_3 = OpConstant %uint 3
 | |
| %_arr_int_uint_3 = OpTypeArray %int %uint_3
 | |
| %_ptr_Function__arr_int_uint_3 = OpTypePointer Function %_arr_int_uint_3
 | |
|       %int_2 = OpConstant %int 2
 | |
|       %block = OpTypeStruct %float
 | |
| %_ptr_Uniform_block = OpTypePointer Uniform %block
 | |
| %instanceName = OpVariable %_ptr_Uniform_block Uniform
 | |
|        %main = OpFunction %void None %3
 | |
|           %5 = OpLabel
 | |
|           %f = OpVariable %_ptr_Function_float Function
 | |
|          %v4 = OpVariable %_ptr_Function_v4float Function
 | |
|           %u = OpVariable %_ptr_Function_uint Function
 | |
|         %uv4 = OpVariable %_ptr_Function_v4uint Function
 | |
|         %iv3 = OpVariable %_ptr_Function_v3int Function
 | |
|           %i = OpVariable %_ptr_Function_int Function
 | |
|         %uv3 = OpVariable %_ptr_Function_v3uint Function
 | |
|          %m2 = OpVariable %_ptr_Function_mat2v2float Function
 | |
|         %iv4 = OpVariable %_ptr_Function_v4int Function
 | |
|          %m4 = OpVariable %_ptr_Function_mat4v4float Function
 | |
|           %b = OpVariable %_ptr_Function_bool Function
 | |
|         %arr = OpVariable %_ptr_Function__arr_int_uint_2 Function
 | |
|        %arr2 = OpVariable %_ptr_Function__arr_int_uint_3 Function
 | |
|           %9 = OpLoad %float %f
 | |
|          %13 = OpLoad %v4float %v4
 | |
|          %14 = OpVectorTimesScalar %v4float %13 %9
 | |
|          %18 = OpLoad %uint %u
 | |
|          %19 = OpLoad %uint %u
 | |
|          %20 = OpIAdd %uint %18 %19
 | |
|          %24 = OpLoad %v4uint %uv4
 | |
|          %25 = OpLoad %uint %u
 | |
|          %26 = OpCompositeConstruct %v4uint %25 %25 %25 %25
 | |
|          %27 = OpUDiv %v4uint %24 %26
 | |
|          %32 = OpLoad %v3int %iv3
 | |
|          %33 = OpLoad %v3int %iv3
 | |
|          %34 = OpISub %v3int %33 %32
 | |
|                OpStore %iv3 %34
 | |
|          %38 = OpLoad %int %i
 | |
|          %39 = OpSMod %int %38 %int_3
 | |
|                OpStore %i %39
 | |
|          %43 = OpLoad %v3uint %uv3
 | |
|          %45 = OpCompositeConstruct %v3uint %uint_4 %uint_4 %uint_4
 | |
|          %46 = OpUMod %v3uint %43 %45
 | |
|          %51 = OpLoad %mat2v2float %m2
 | |
|          %53 = OpCompositeConstruct %v2float %float_1 %float_1
 | |
|          %54 = OpCompositeExtract %v2float %51 0
 | |
|          %55 = OpFSub %v2float %54 %53
 | |
|          %56 = OpCompositeExtract %v2float %51 1
 | |
|          %57 = OpFSub %v2float %56 %53
 | |
|          %58 = OpCompositeConstruct %mat2v2float %55 %57
 | |
|                OpStore %m2 %58
 | |
|          %62 = OpLoad %v4int %iv4
 | |
|          %64 = OpCompositeConstruct %v4int %int_1 %int_1 %int_1 %int_1
 | |
|          %65 = OpIAdd %v4int %62 %64
 | |
|                OpStore %iv4 %65
 | |
|          %69 = OpLoad %mat4v4float %m4
 | |
|          %70 = OpLoad %mat4v4float %m4
 | |
|          %72 = OpCompositeExtract %v4float %69 0
 | |
|          %73 = OpCompositeExtract %v4float %70 0
 | |
|          %75 = OpFUnordNotEqual %v4bool %72 %73
 | |
|          %76 = OpAny %bool %75
 | |
|          %77 = OpCompositeExtract %v4float %69 1
 | |
|          %78 = OpCompositeExtract %v4float %70 1
 | |
|          %79 = OpFUnordNotEqual %v4bool %77 %78
 | |
|          %80 = OpAny %bool %79
 | |
|          %81 = OpLogicalOr %bool %76 %80
 | |
|          %82 = OpCompositeExtract %v4float %69 2
 | |
|          %83 = OpCompositeExtract %v4float %70 2
 | |
|          %84 = OpFUnordNotEqual %v4bool %82 %83
 | |
|          %85 = OpAny %bool %84
 | |
|          %86 = OpLogicalOr %bool %81 %85
 | |
|          %87 = OpCompositeExtract %v4float %69 3
 | |
|          %88 = OpCompositeExtract %v4float %70 3
 | |
|          %89 = OpFUnordNotEqual %v4bool %87 %88
 | |
|          %90 = OpAny %bool %89
 | |
|          %91 = OpLogicalOr %bool %86 %90
 | |
|          %92 = OpLoad %mat2v2float %m2
 | |
|          %93 = OpLoad %mat2v2float %m2
 | |
|          %94 = OpCompositeExtract %v2float %92 0
 | |
|          %95 = OpCompositeExtract %v2float %93 0
 | |
|          %97 = OpFOrdEqual %v2bool %94 %95
 | |
|          %98 = OpAll %bool %97
 | |
|          %99 = OpCompositeExtract %v2float %92 1
 | |
|         %100 = OpCompositeExtract %v2float %93 1
 | |
|         %101 = OpFOrdEqual %v2bool %99 %100
 | |
|         %102 = OpAll %bool %101
 | |
|         %103 = OpLogicalAnd %bool %98 %102
 | |
|         %104 = OpLoad %int %i
 | |
|         %105 = OpLoad %int %i
 | |
|         %106 = OpSLessThanEqual %bool %104 %105
 | |
|         %111 = OpLoad %_arr_float_uint_5 %a
 | |
|         %112 = OpLoad %_arr_float_uint_5 %a
 | |
|         %113 = OpCompositeExtract %float %111 0
 | |
|         %114 = OpCompositeExtract %float %112 0
 | |
|         %115 = OpFOrdEqual %bool %113 %114
 | |
|         %116 = OpCompositeExtract %float %111 1
 | |
|         %117 = OpCompositeExtract %float %112 1
 | |
|         %118 = OpFOrdEqual %bool %116 %117
 | |
|         %119 = OpLogicalAnd %bool %115 %118
 | |
|         %120 = OpCompositeExtract %float %111 2
 | |
|         %121 = OpCompositeExtract %float %112 2
 | |
|         %122 = OpFOrdEqual %bool %120 %121
 | |
|         %123 = OpLogicalAnd %bool %119 %122
 | |
|         %124 = OpCompositeExtract %float %111 3
 | |
|         %125 = OpCompositeExtract %float %112 3
 | |
|         %126 = OpFOrdEqual %bool %124 %125
 | |
|         %127 = OpLogicalAnd %bool %123 %126
 | |
|         %128 = OpCompositeExtract %float %111 4
 | |
|         %129 = OpCompositeExtract %float %112 4
 | |
|         %130 = OpFOrdEqual %bool %128 %129
 | |
|         %131 = OpLogicalAnd %bool %127 %130
 | |
|         %135 = OpLoad %S %s
 | |
|         %136 = OpLoad %S %s
 | |
|         %137 = OpCompositeExtract %int %135 0
 | |
|         %138 = OpCompositeExtract %int %136 0
 | |
|         %139 = OpINotEqual %bool %137 %138
 | |
|         %142 = OpLoad %bool %b
 | |
|         %143 = OpLoad %bool %b
 | |
|         %144 = OpLogicalAnd %bool %142 %143
 | |
|         %145 = OpLoad %bool %b
 | |
|         %146 = OpLoad %bool %b
 | |
|         %147 = OpLogicalOr %bool %145 %146
 | |
|         %148 = OpLoad %bool %b
 | |
|         %149 = OpLoad %bool %b
 | |
|         %150 = OpLogicalNotEqual %bool %148 %149
 | |
|         %151 = OpLoad %bool %b
 | |
|         %152 = OpLogicalNot %bool %151
 | |
|         %153 = OpLoad %int %i
 | |
|         %154 = OpNot %int %153
 | |
|         %155 = OpLoad %uint %u
 | |
|         %156 = OpNot %uint %155
 | |
|         %157 = OpLoad %v3uint %uv3
 | |
|         %158 = OpNot %v3uint %157
 | |
|         %159 = OpLoad %v3int %iv3
 | |
|         %160 = OpNot %v3int %159
 | |
|         %161 = OpLoad %int %i
 | |
|         %162 = OpLoad %v3uint %uv3
 | |
|         %163 = OpCompositeConstruct %v3int %161 %161 %161
 | |
|         %164 = OpShiftLeftLogical %v3uint %162 %163
 | |
|                OpStore %uv3 %164
 | |
|         %165 = OpLoad %int %i
 | |
|         %166 = OpLoad %int %i
 | |
|         %167 = OpShiftRightArithmetic %int %165 %166
 | |
|         %168 = OpLoad %uint %u
 | |
|         %169 = OpLoad %uint %u
 | |
|         %170 = OpShiftLeftLogical %uint %168 %169
 | |
|         %171 = OpLoad %v3int %iv3
 | |
|         %172 = OpLoad %v3int %iv3
 | |
|         %173 = OpShiftRightArithmetic %v3int %171 %172
 | |
|         %174 = OpLoad %int %i
 | |
|         %175 = OpLoad %int %i
 | |
|         %176 = OpBitwiseAnd %int %174 %175
 | |
|         %177 = OpLoad %uint %u
 | |
|         %178 = OpLoad %uint %u
 | |
|         %179 = OpBitwiseOr %uint %177 %178
 | |
|         %180 = OpLoad %v3int %iv3
 | |
|         %181 = OpLoad %v3int %iv3
 | |
|         %182 = OpBitwiseXor %v3int %180 %181
 | |
|         %183 = OpLoad %uint %u
 | |
|         %184 = OpLoad %v3uint %uv3
 | |
|         %185 = OpCompositeConstruct %v3uint %183 %183 %183
 | |
|         %186 = OpBitwiseAnd %v3uint %185 %184
 | |
|         %187 = OpLoad %v3uint %uv3
 | |
|         %188 = OpLoad %uint %u
 | |
|         %189 = OpCompositeConstruct %v3uint %188 %188 %188
 | |
|         %190 = OpBitwiseOr %v3uint %187 %189
 | |
|         %191 = OpLoad %uint %u
 | |
|         %192 = OpLoad %v3uint %uv3
 | |
|         %193 = OpCompositeConstruct %v3uint %191 %191 %191
 | |
|         %194 = OpBitwiseAnd %v3uint %192 %193
 | |
|                OpStore %uv3 %194
 | |
|                OpReturn
 | |
|                OpFunctionEnd
 | 
