SPIRV-Cross/shaders-no-opt/asm/frag/texel-fetch-ms-uint-sample.asm.frag

69 lines
2.8 KiB
JavaScript

; SPIR-V
; Version: 1.0
; Generator: Khronos Glslang Reference Front End; 10
; Bound: 61
; Schema: 0
OpCapability Shader
%1 = OpExtInstImport "GLSL.std.450"
OpMemoryModel Logical GLSL450
OpEntryPoint Fragment %main "main" %FragColor %gl_FragCoord
OpExecutionMode %main OriginUpperLeft
OpSource GLSL 450
OpName %main "main"
OpName %FragColor "FragColor"
OpName %uSamp "uSamp"
OpName %gl_FragCoord "gl_FragCoord"
OpDecorate %FragColor Location 0
OpDecorate %uSamp DescriptorSet 0
OpDecorate %uSamp Binding 0
OpDecorate %gl_FragCoord BuiltIn FragCoord
%void = OpTypeVoid
%3 = OpTypeFunction %void
%float = OpTypeFloat 32
%v4float = OpTypeVector %float 4
%_ptr_Output_v4float = OpTypePointer Output %v4float
%FragColor = OpVariable %_ptr_Output_v4float Output
%10 = OpTypeImage %float 2D 0 0 1 1 Unknown
%11 = OpTypeSampledImage %10
%_ptr_UniformConstant_11 = OpTypePointer UniformConstant %11
%uSamp = OpVariable %_ptr_UniformConstant_11 UniformConstant
%_ptr_Input_v4float = OpTypePointer Input %v4float
%gl_FragCoord = OpVariable %_ptr_Input_v4float Input
%v2float = OpTypeVector %float 2
%uint = OpTypeInt 32 0
%int = OpTypeInt 32 1
%v2int = OpTypeVector %int 2
%uint_0 = OpConstant %uint 0
%_ptr_Output_float = OpTypePointer Output %float
%uint_1 = OpConstant %uint 1
%uint_2 = OpConstant %uint 2
%uint_3 = OpConstant %uint 3
%main = OpFunction %void None %3
%5 = OpLabel
%14 = OpLoad %11 %uSamp
%18 = OpLoad %v4float %gl_FragCoord
%19 = OpVectorShuffle %v2float %18 %18 0 1
%22 = OpConvertFToS %v2int %19
%24 = OpImage %10 %14
%25 = OpImageFetch %v4float %24 %22 Sample %uint_0
%28 = OpCompositeExtract %float %25 0
%30 = OpAccessChain %_ptr_Output_float %FragColor %uint_0
OpStore %30 %28
%36 = OpImage %10 %14
%37 = OpImageFetch %v4float %36 %22 Sample %uint_1
%38 = OpCompositeExtract %float %37 0
%40 = OpAccessChain %_ptr_Output_float %FragColor %uint_1
OpStore %40 %38
%46 = OpImage %10 %14
%47 = OpImageFetch %v4float %46 %22 Sample %uint_2
%48 = OpCompositeExtract %float %47 0
%50 = OpAccessChain %_ptr_Output_float %FragColor %uint_2
OpStore %50 %48
%56 = OpImage %10 %14
%57 = OpImageFetch %v4float %56 %22 Sample %uint_3
%58 = OpCompositeExtract %float %57 0
%60 = OpAccessChain %_ptr_Output_float %FragColor %uint_3
OpStore %60 %58
OpReturn
OpFunctionEnd