SPIRV-Cross/shaders-msl/asm/comp/image-load-store-short-vector.invalid.asm.comp

76 lines
3.0 KiB
Plaintext
Raw Normal View History

; SPIR-V
; Version: 1.0
; Generator: Khronos Glslang Reference Front End; 7
; Bound: 44
; Schema: 0
OpCapability Shader
OpCapability StorageImageExtendedFormats
%1 = OpExtInstImport "GLSL.std.450"
OpMemoryModel Logical GLSL450
OpEntryPoint GLCompute %main "main" %id_1
OpExecutionMode %main LocalSize 1 1 1
OpSource HLSL 500
OpName %main "main"
OpName %_main_vu3_ "@main(vu3;"
OpName %id "id"
OpName %loaded "loaded"
OpName %TargetTexture "TargetTexture"
OpName %storeTemp "storeTemp"
OpName %id_0 "id"
OpName %id_1 "id"
OpName %param "param"
OpDecorate %TargetTexture DescriptorSet 0
OpDecorate %TargetTexture Binding 0
OpDecorate %id_1 BuiltIn WorkgroupId
%void = OpTypeVoid
%3 = OpTypeFunction %void
%uint = OpTypeInt 32 0
%v3uint = OpTypeVector %uint 3
%_ptr_Function_v3uint = OpTypePointer Function %v3uint
%9 = OpTypeFunction %void %_ptr_Function_v3uint
%float = OpTypeFloat 32
%v2float = OpTypeVector %float 2
%_ptr_Function_v2float = OpTypePointer Function %v2float
%17 = OpTypeImage %float 2D 0 0 0 2 Rg32f
%_ptr_UniformConstant_17 = OpTypePointer UniformConstant %17
%TargetTexture = OpVariable %_ptr_UniformConstant_17 UniformConstant
%v2uint = OpTypeVector %uint 2
%float_1 = OpConstant %float 1
%uint_1 = OpConstant %uint 1
%_ptr_Input_v3uint = OpTypePointer Input %v3uint
%id_1 = OpVariable %_ptr_Input_v3uint Input
%main = OpFunction %void None %3
%5 = OpLabel
%id_0 = OpVariable %_ptr_Function_v3uint Function
%param = OpVariable %_ptr_Function_v3uint Function
%40 = OpLoad %v3uint %id_1
OpStore %id_0 %40
%42 = OpLoad %v3uint %id_0
OpStore %param %42
%43 = OpFunctionCall %void %_main_vu3_ %param
OpReturn
OpFunctionEnd
%_main_vu3_ = OpFunction %void None %9
%id = OpFunctionParameter %_ptr_Function_v3uint
%12 = OpLabel
%loaded = OpVariable %_ptr_Function_v2float Function
%storeTemp = OpVariable %_ptr_Function_v2float Function
%20 = OpLoad %17 %TargetTexture
%22 = OpLoad %v3uint %id
%23 = OpVectorShuffle %v2uint %22 %22 0 1
%24 = OpImageRead %v2float %20 %23
OpStore %loaded %24
%26 = OpLoad %v2float %loaded
%28 = OpCompositeConstruct %v2float %float_1 %float_1
%29 = OpFAdd %v2float %26 %28
OpStore %storeTemp %29
%30 = OpLoad %17 %TargetTexture
%31 = OpLoad %v3uint %id
%32 = OpVectorShuffle %v2uint %31 %31 0 1
%34 = OpCompositeConstruct %v2uint %uint_1 %uint_1
%35 = OpIAdd %v2uint %32 %34
%36 = OpLoad %v2float %storeTemp
OpImageWrite %30 %35 %36
OpReturn
OpFunctionEnd