FS_53660ab052a7b392b29fc453fb3d0e6f66eb4c8a
119 लाइनें
; SPIR-V
; SPIR-V
; Version: 1.3
; Version: 1.3
; Generator: Khronos; 0
; Generator: Khronos; 0
; Bound: 70
; Bound: 75
; Schema: 0
; Schema: 0
OpCapability Shader
OpCapability Shader
OpCapability ImageQuery
OpCapability ImageQuery
OpCapability DerivativeControl
OpCapability DerivativeControl
%1 = OpExtInstImport "GLSL.std.450"
%1 = OpExtInstImport "GLSL.std.450"
OpMemoryModel Logical GLSL450
OpMemoryModel Logical GLSL450
OpEntryPoint Fragment %main "main" %v1 %v2 %o0
OpEntryPoint Fragment %main "main" %v1 %v2 %o0
OpExecutionMode %main OriginUpperLeft
OpExecutionMode %main OriginUpperLeft
%3 = OpString "FS_53660ab052a7b392b29fc453fb3d0e6f66eb4c8a"
%3 = OpString "FS_53660ab052a7b392b29fc453fb3d0e6f66eb4c8a"
OpSource Unknown 0 %3
OpSource Unknown 0 %3
OpName %shader_in "shader_in"
OpName %shader_in "shader_in"
OpName %ps_main "ps_main"
OpName %ps_main "ps_main"
OpName %s0 "s0"
OpName %s0 "s0"
OpName %t0 "t0"
OpName %t0 "t0"
OpName %t0_bound "t0_bound"
OpName %t0_bound "t0_bound"
OpName %v1 "v1"
OpName %v1 "v1"
OpName %v2 "v2"
OpName %v2 "v2"
OpName %o0 "o0"
OpName %o0 "o0"
OpName %r0 "r0"
OpName %r0 "r0"
OpName %omap0_r "omap0.r"
OpName %omap0_r "omap0.r"
OpName %omap0_g "omap0.g"
OpName %omap0_g "omap0.g"
OpName %omap0_b "omap0.b"
OpName %omap0_b "omap0.b"
OpName %omap0_a "omap0.a"
OpName %omap0_a "omap0.a"
OpName %main "main"
OpName %main "main"
OpDecorate %s0 DescriptorSet 0
OpDecorate %s0 DescriptorSet 0
OpDecorate %s0 Binding 3
OpDecorate %s0 Binding 3
OpDecorate %t0 DescriptorSet 0
OpDecorate %t0 DescriptorSet 0
OpDecorate %t0 Binding 4
OpDecorate %t0 Binding 4
OpDecorate %t0_bound SpecId 4
OpDecorate %t0_bound SpecId 4
OpDecorate %v1 Location 1
OpDecorate %v1 Location 1
OpDecorate %v2 Location 2
OpDecorate %v2 Location 2
OpDecorate %o0 Location 0
OpDecorate %o0 Location 0
OpDecorate %o0 Index 0
OpDecorate %o0 Index 0
OpDecorate %omap0_r SpecId 1216
OpDecorate %omap0_r SpecId 1216
OpDecorate %omap0_g SpecId 1217
OpDecorate %omap0_g SpecId 1217
OpDecorate %omap0_b SpecId 1218
OpDecorate %omap0_b SpecId 1218
OpDecorate %omap0_a SpecId 1219
OpDecorate %omap0_a SpecId 1219
%uint = OpTypeInt 32 0
%uint = OpTypeInt 32 0
%uint_3 = OpConstant %uint 3
%uint_3 = OpConstant %uint 3
%float = OpTypeFloat 32
%float = OpTypeFloat 32
%v4float = OpTypeVector %float 4
%v4float = OpTypeVector %float 4
%_arr_v4float_uint_3 = OpTypeArray %v4float %uint_3
%_arr_v4float_uint_3 = OpTypeArray %v4float %uint_3
%_ptr_Private__arr_v4float_uint_3 = OpTypePointer Private %_arr_v4float_uint_3
%_ptr_Private__arr_v4float_uint_3 = OpTypePointer Private %_arr_v4float_uint_3
%void = OpTypeVoid
%void = OpTypeVoid
%13 = OpTypeFunction %void
%13 = OpTypeFunction %void
%15 = OpTypeSampler
%15 = OpTypeSampler
%_ptr_UniformConstant_15 = OpTypePointer UniformConstant %15
%_ptr_UniformConstant_15 = OpTypePointer UniformConstant %15
%18 = OpTypeImage %float 2D 0 0 0 1 Unknown
%18 = OpTypeImage %float 2D 0 0 0 1 Unknown
%_ptr_UniformConstant_18 = OpTypePointer UniformConstant %18
%_ptr_UniformConstant_18 = OpTypePointer UniformConstant %18
%bool = OpTypeBool
%bool = OpTypeBool
%t0_bound = OpSpecConstantTrue %bool
%t0_bound = OpSpecConstantTrue %bool
%23 = OpTypeImage %float 2D 1 0 0 1 Unknown
%23 = OpTypeImage %float 2D 1 0 0 1 Unknown
%_ptr_Input_v4float = OpTypePointer Input %v4float
%_ptr_Input_v4float = OpTypePointer Input %v4float
%v2float = OpTypeVector %float 2
%v2float = OpTypeVector %float 2
%_ptr_Input_v2float = OpTypePointer Input %v2float
%_ptr_Input_v2float = OpTypePointer Input %v2float
%_ptr_Output_v4float = OpTypePointer Output %v4float
%_ptr_Output_v4float = OpTypePointer Output %v4float
%int = OpTypeInt 32 1
%int = OpTypeInt 32 1
%int_2 = OpConstant %int 2
%int_2 = OpConstant %int 2
%_ptr_Private_v4float = OpTypePointer Private %v4float
%_ptr_Private_v4float = OpTypePointer Private %v4float
%38 = OpTypeSampledImage %18
%38 = OpTypeSampledImage %18
%float_0 = OpConstant %float 0
%44 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_0
%v4bool = OpTypeVector %bool 4
%46 = OpConstantComposite %v4bool %t0_bound %t0_bound %t0_bound %t0_bound
%int_1 = OpConstant %int 1
%int_1 = OpConstant %int 1
%omap0_r = OpSpecConstant %uint 0
%omap0_r = OpSpecConstant %uint 0
%omap0_g = OpSpecConstant %uint 1
%omap0_g = OpSpecConstant %uint 1
%omap0_b = OpSpecConstant %uint 2
%omap0_b = OpSpecConstant %uint 2
%omap0_a = OpSpecConstant %uint 3
%omap0_a = OpSpecConstant %uint 3
%shader_in = OpVariable %_ptr_Private__arr_v4float_uint_3 Private
%shader_in = OpVariable %_ptr_Private__arr_v4float_uint_3 Private
%s0 = OpVariable %_ptr_UniformConstant_15 UniformConstant
%s0 = OpVariable %_ptr_UniformConstant_15 UniformConstant
%t0 = OpVariable %_ptr_UniformConstant_18 UniformConstant
%t0 = OpVariable %_ptr_UniformConstant_18 UniformConstant
%v1 = OpVariable %_ptr_Input_v4float Input
%v1 = OpVariable %_ptr_Input_v4float Input
%v2 = OpVariable %_ptr_Input_v2float Input
%v2 = OpVariable %_ptr_Input_v2float Input
%o0 = OpVariable %_ptr_Output_v4float Output
%o0 = OpVariable %_ptr_Output_v4float Output
%r0 = OpVariable %_ptr_Private_v4float Private
%r0 = OpVariable %_ptr_Private_v4float Private
%ps_main = OpFunction %void None %13
%ps_main = OpFunction %void None %13
%14 = OpLabel
%14 = OpLabel
%34 = OpAccessChain %_ptr_Private_v4float %shader_in %int_2
%34 = OpAccessChain %_ptr_Private_v4float %shader_in %int_2
%35 = OpLoad %v4float %34
%35 = OpLoad %v4float %34
%36 = OpVectorShuffle %v4float %35 %35 0 1 0 0
%36 = OpVectorShuffle %v4float %35 %35 0 1 0 0
%37 = OpVectorShuffle %v2float %36 %36 0 1
%37 = OpVectorShuffle %v2float %36 %36 0 1
%39 = OpLoad %15 %s0
%39 = OpLoad %15 %s0
%40 = OpLoad %18 %t0
%40 = OpLoad %18 %t0
%41 = OpSampledImage %38 %40 %39
%41 = OpSampledImage %38 %40 %39
%42 = OpImageSampleImplicitLod %v4float %41 %37
%42 = OpImageSampleImplicitLod %v4float %41 %37
OpStore %r0 %42
%47 = OpSelect %v4float %46 %42 %44
%44 = OpLoad %v4float %r0
OpStore %r0 %47
%45 = OpLoad %v4float %r0
%49 = OpLoad %v4float %r0
%46 = OpFAdd %v4float %44 %45
%50 = OpLoad %v4float %r0
OpStore %r0 %46
%51 = OpFAdd %v4float %49 %50
%47 = OpLoad %v4float %r0
OpStore %r0 %51
%49 = OpAccessChain %_ptr_Private_v4float %shader_in %int_1
%52 = OpLoad %v4float %r0
%50 = OpLoad %v4float %49
%54 = OpAccessChain %_ptr_Private_v4float %shader_in %int_1
%51 = OpFMul %v4float %47 %50
%55 = OpLoad %v4float %54
OpStore %o0 %51
%56 = OpFMul %v4float %52 %55
OpStore %o0 %56
OpReturn
OpReturn
OpFunctionEnd
OpFunctionEnd
%main = OpFunction %void None %13
%main = OpFunction %void None %13
%52 = OpLabel
%57 = OpLabel
%53 = OpLoad %v4float %v1
%58 = OpLoad %v4float %v1
%54 = OpAccessChain %_ptr_Private_v4float %shader_in %int_1
%59 = OpAccessChain %_ptr_Private_v4float %shader_in %int_1
OpStore %54 %53
OpStore %59 %58
%55 = OpLoad %v2float %v2
%60 = OpLoad %v2float %v2
%56 = OpAccessChain %_ptr_Private_v4float %shader_in %int_2
%61 = OpAccessChain %_ptr_Private_v4float %shader_in %int_2
%57 = OpLoad %v4float %56
%62 = OpLoad %v4float %61
%58 = OpVectorShuffle %v4float %57 %55 4 5 2 3
%63 = OpVectorShuffle %v4float %62 %60 4 5 2 3
OpStore %56 %58
OpStore %61 %63
%59 = OpFunctionCall %void %ps_main
%64 = OpFunctionCall %void %ps_main
%60 = OpLoad %v4float %o0
%65 = OpLoad %v4float %o0
%62 = OpVectorExtractDynamic %float %60 %omap0_r
%67 = OpVectorExtractDynamic %float %65 %omap0_r
%64 = OpVectorExtractDynamic %float %60 %omap0_g
%69 = OpVectorExtractDynamic %float %65 %omap0_g
%66 = OpVectorExtractDynamic %float %60 %omap0_b
%71 = OpVectorExtractDynamic %float %65 %omap0_b
%68 = OpVectorExtractDynamic %float %60 %omap0_a
%73 = OpVectorExtractDynamic %float %65 %omap0_a
%69 = OpCompositeConstruct %v4float %62 %64 %66 %68
%74 = OpCompositeConstruct %v4float %67 %69 %71 %73
OpStore %o0 %69
OpStore %o0 %74
OpReturn
OpReturn
OpFunctionEnd
OpFunctionEnd