; SPIR-V ; Version: 1.3 ; Generator: Google spiregg; 0 ; Bound: 52 ; Schema: 0 OpCapability Shader OpExtension "SPV_GOOGLE_hlsl_functionality1" OpMemoryModel Logical GLSL450 OpEntryPoint GLCompute %main "main" %gl_GlobalInvocationID OpExecutionMode %main LocalSize 8 8 1 OpSource HLSL 600 OpName %type_2d_image "type.2d.image" OpName %TexDst "TexDst" OpName %type_2d_image_0 "type.2d.image" OpName %TexSrc "TexSrc" OpName %type_Shader "type.Shader" OpMemberName %type_Shader 0 "iTexelDst" OpMemberName %type_Shader 1 "iTexelSrc" OpMemberName %type_Shader 2 "cTexel" OpName %Shader "Shader" OpName %main "main" OpMemberDecorate %type_Shader 0 Offset 0 OpMemberDecorate %type_Shader 1 Offset 8 OpMemberDecorate %type_Shader 2 Offset 16 OpDecorate %type_Shader Block OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId OpDecorateStringGOOGLE %gl_GlobalInvocationID HlslSemanticGOOGLE "SV_DispatchThreadID" OpDecorate %TexDst DescriptorSet 0 OpDecorate %TexDst Binding 0 OpDecorate %TexSrc DescriptorSet 0 OpDecorate %TexSrc Binding 1 OpDecorate %Shader DescriptorSet 0 OpDecorate %Shader Binding 2 %int = OpTypeInt 32 1 %type_2d_image = OpTypeImage %int 2D 2 0 0 2 Rgba32i %_ptr_UniformConstant_type_2d_image = OpTypePointer UniformConstant %type_2d_image %type_2d_image_0 = OpTypeImage %int 2D 2 0 0 1 Unknown %_ptr_UniformConstant_type_2d_image_0 = OpTypePointer UniformConstant %type_2d_image_0 %uint = OpTypeInt 32 0 %v2uint = OpTypeVector %uint 2 %type_Shader = OpTypeStruct %v2uint %v2uint %v2uint %_ptr_Uniform_type_Shader = OpTypePointer Uniform %type_Shader %void = OpTypeVoid %16 = OpTypeFunction %void %v3uint = OpTypeVector %uint 3 %_ptr_Input_v3uint = OpTypePointer Input %v3uint %bool = OpTypeBool %int_2 = OpConstant %int 2 %_ptr_Uniform_v2uint = OpTypePointer Uniform %v2uint %v2bool = OpTypeVector %bool 2 %int_1 = OpConstant %int 1 %int_0 = OpConstant %int 0 %v3int = OpTypeVector %int 3 %v2int = OpTypeVector %int 2 %v4int = OpTypeVector %int 4 %TexDst = OpVariable %_ptr_UniformConstant_type_2d_image UniformConstant %TexSrc = OpVariable %_ptr_UniformConstant_type_2d_image_0 UniformConstant %Shader = OpVariable %_ptr_Uniform_type_Shader Uniform %gl_GlobalInvocationID = OpVariable %_ptr_Input_v3uint Input %main = OpFunction %void None %16 %28 = OpLabel %29 = OpLoad %v3uint %gl_GlobalInvocationID %30 = OpVectorShuffle %v2uint %29 %29 0 1 %31 = OpAccessChain %_ptr_Uniform_v2uint %Shader %int_2 %32 = OpLoad %v2uint %31 %33 = OpULessThan %v2bool %30 %32 %34 = OpAll %bool %33 OpSelectionMerge %35 None OpBranchConditional %34 %36 %35 %36 = OpLabel %37 = OpAccessChain %_ptr_Uniform_v2uint %Shader %int_1 %38 = OpLoad %v2uint %37 %39 = OpIAdd %v2uint %30 %38 %40 = OpCompositeExtract %uint %39 0 %41 = OpCompositeExtract %uint %39 1 %42 = OpBitcast %int %40 %43 = OpBitcast %int %41 %44 = OpCompositeConstruct %v3int %42 %43 %int_0 %45 = OpVectorShuffle %v2int %44 %44 0 1 %46 = OpLoad %type_2d_image_0 %TexSrc %47 = OpImageFetch %v4int %46 %45 Lod %int_0 %48 = OpAccessChain %_ptr_Uniform_v2uint %Shader %int_0 %49 = OpLoad %v2uint %48 %50 = OpIAdd %v2uint %30 %49 %51 = OpLoad %type_2d_image %TexDst OpImageWrite %51 %50 %47 OpBranch %35 %35 = OpLabel OpReturn OpFunctionEnd