Add more SPIR-V reader unit test samples
Catch up to include all tests emitted by tint_unittests --dump-spirv Change-Id: Ia4d5f75782bcc62f8cfeb0615a942e95e563289d Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/65041 Auto-Submit: David Neto <dneto@google.com> Kokoro: Kokoro <noreply+kokoro@google.com> Commit-Queue: James Price <jrprice@google.com> Reviewed-by: James Price <jrprice@google.com>
This commit is contained in:
parent
e6f5730aef
commit
231b50baab
test/unittest/reader/spirv
Samples_SpvParserHandleTest_RegisterHandleUsage_SampledImage_Variable_6.spvasmSamples_SpvParserHandleTest_RegisterHandleUsage_SampledImage_Variable_7.spvasmSamples_SpvParserHandleTest_RegisterHandleUsage_SampledImage_Variable_8.spvasmSamples_SpvParserHandleTest_RegisterHandleUsage_SampledImage_Variable_9.spvasmSpvModuleScopeVarParserTest_MatrixStrideDecoration.spvasmSpvModuleScopeVarParserTest_MatrixStrideDecoration_Natural_Dropped.spvasmSpvParserCFGTest_ClassifyCFGEdges_LoopBreak_FromContinueConstructHeader.spvasmSpvParserCFGTest_ClassifyCFGEdges_LoopBreak_FromContinueConstructTail.spvasmSpvParserCFGTest_ComputeBlockOrder_Loop_Continue_HasBreakIf.spvasmSpvParserCFGTest_ComputeBlockOrder_Loop_Continue_HasBreakUnless.spvasmSpvParserTest_Composite_Construct_ConstantComposite_Struct_NoDeduplication.spvasmSpvParserTest_ConvertType_Array_NoDeduplication.spvasmSpvParserTest_ConvertType_RuntimeArray_NoDeduplication.spvasmSpvParserTest_ConvertType_Struct_NoDeduplication.spvasmSpvParserTest_GlslStd450_Ldexp_Scalar_Float_Uint.spvasmSpvParserTest_GlslStd450_Ldexp_Vector_Floatvec_Uintvec.spvasm
|
@ -0,0 +1,152 @@
|
||||||
|
; Test: Samples_SpvParserHandleTest_RegisterHandleUsage_SampledImage_Variable_6.spvasm
|
||||||
|
; SPIR-V
|
||||||
|
; Version: 1.0
|
||||||
|
; Generator: Khronos SPIR-V Tools Assembler; 0
|
||||||
|
; Bound: 132
|
||||||
|
; Schema: 0
|
||||||
|
OpCapability Shader
|
||||||
|
OpCapability Sampled1D
|
||||||
|
OpCapability Image1D
|
||||||
|
OpCapability StorageImageExtendedFormats
|
||||||
|
OpCapability ImageQuery
|
||||||
|
OpMemoryModel Logical Simple
|
||||||
|
OpEntryPoint Fragment %1 "main"
|
||||||
|
OpExecutionMode %1 OriginUpperLeft
|
||||||
|
OpDecorate %10 DescriptorSet 0
|
||||||
|
OpDecorate %10 Binding 0
|
||||||
|
OpDecorate %20 DescriptorSet 0
|
||||||
|
OpDecorate %20 Binding 1
|
||||||
|
%void = OpTypeVoid
|
||||||
|
%3 = OpTypeFunction %void
|
||||||
|
%float = OpTypeFloat 32
|
||||||
|
%uint = OpTypeInt 32 0
|
||||||
|
%int = OpTypeInt 32 1
|
||||||
|
%int_0 = OpConstant %int 0
|
||||||
|
%int_1 = OpConstant %int 1
|
||||||
|
%int_2 = OpConstant %int 2
|
||||||
|
%int_3 = OpConstant %int 3
|
||||||
|
%int_4 = OpConstant %int 4
|
||||||
|
%uint_0 = OpConstant %uint 0
|
||||||
|
%uint_1 = OpConstant %uint 1
|
||||||
|
%uint_2 = OpConstant %uint 2
|
||||||
|
%uint_3 = OpConstant %uint 3
|
||||||
|
%uint_4 = OpConstant %uint 4
|
||||||
|
%uint_100 = OpConstant %uint 100
|
||||||
|
%v2int = OpTypeVector %int 2
|
||||||
|
%v3int = OpTypeVector %int 3
|
||||||
|
%v4int = OpTypeVector %int 4
|
||||||
|
%v2uint = OpTypeVector %uint 2
|
||||||
|
%v3uint = OpTypeVector %uint 3
|
||||||
|
%v4uint = OpTypeVector %uint 4
|
||||||
|
%v2float = OpTypeVector %float 2
|
||||||
|
%v3float = OpTypeVector %float 3
|
||||||
|
%v4float = OpTypeVector %float 4
|
||||||
|
%29 = OpConstantNull %float
|
||||||
|
%float_0 = OpConstant %float 0
|
||||||
|
%float_1 = OpConstant %float 1
|
||||||
|
%float_2 = OpConstant %float 2
|
||||||
|
%float_3 = OpConstant %float 3
|
||||||
|
%float_4 = OpConstant %float 4
|
||||||
|
%float_7 = OpConstant %float 7
|
||||||
|
%36 = OpConstantNull %v2float
|
||||||
|
%37 = OpConstantNull %v3float
|
||||||
|
%38 = OpConstantNull %v4float
|
||||||
|
%39 = OpConstantComposite %v2int %int_1 %int_2
|
||||||
|
%40 = OpConstantComposite %v3int %int_1 %int_2 %int_3
|
||||||
|
%41 = OpConstantComposite %v4int %int_1 %int_2 %int_3 %int_4
|
||||||
|
%42 = OpConstantComposite %v2uint %uint_1 %uint_2
|
||||||
|
%43 = OpConstantComposite %v3uint %uint_1 %uint_2 %uint_3
|
||||||
|
%44 = OpConstantComposite %v4uint %uint_1 %uint_2 %uint_3 %uint_4
|
||||||
|
%45 = OpConstantComposite %v2float %float_1 %float_2
|
||||||
|
%46 = OpConstantComposite %v2float %float_2 %float_1
|
||||||
|
%47 = OpConstantComposite %v3float %float_1 %float_2 %float_3
|
||||||
|
%48 = OpConstantComposite %v4float %float_1 %float_2 %float_3 %float_4
|
||||||
|
%float_0_200000003 = OpConstant %float 0.200000003
|
||||||
|
%50 = OpTypeSampler
|
||||||
|
%51 = OpTypeImage %float 1D 0 0 0 1 Unknown
|
||||||
|
%52 = OpTypeImage %float 2D 0 0 0 1 Unknown
|
||||||
|
%53 = OpTypeImage %float 2D 0 0 1 1 Unknown
|
||||||
|
%54 = OpTypeImage %float 2D 0 1 0 1 Unknown
|
||||||
|
%55 = OpTypeImage %float 2D 0 1 1 1 Unknown
|
||||||
|
%56 = OpTypeImage %float 3D 0 0 0 1 Unknown
|
||||||
|
%57 = OpTypeImage %float Cube 0 0 0 1 Unknown
|
||||||
|
%58 = OpTypeImage %float Cube 0 1 0 1 Unknown
|
||||||
|
%59 = OpTypeImage %float 1D 0 0 0 2 Rg32f
|
||||||
|
%60 = OpTypeImage %float 2D 0 0 0 2 Rg32f
|
||||||
|
%61 = OpTypeImage %float 2D 0 1 0 2 Rg32f
|
||||||
|
%62 = OpTypeImage %float 3D 0 0 0 2 Rg32f
|
||||||
|
%63 = OpTypeImage %uint 1D 0 0 0 1 Unknown
|
||||||
|
%64 = OpTypeImage %uint 2D 0 0 0 1 Unknown
|
||||||
|
%65 = OpTypeImage %uint 2D 0 0 1 1 Unknown
|
||||||
|
%66 = OpTypeImage %uint 2D 0 1 0 1 Unknown
|
||||||
|
%67 = OpTypeImage %uint 2D 0 1 1 1 Unknown
|
||||||
|
%68 = OpTypeImage %uint 3D 0 0 0 1 Unknown
|
||||||
|
%69 = OpTypeImage %uint Cube 0 0 0 1 Unknown
|
||||||
|
%70 = OpTypeImage %uint Cube 0 1 0 1 Unknown
|
||||||
|
%71 = OpTypeImage %uint 1D 0 0 0 2 Rg32ui
|
||||||
|
%72 = OpTypeImage %uint 2D 0 0 0 2 Rg32ui
|
||||||
|
%73 = OpTypeImage %uint 2D 0 1 0 2 Rg32ui
|
||||||
|
%74 = OpTypeImage %uint 3D 0 0 0 2 Rg32ui
|
||||||
|
%75 = OpTypeImage %int 1D 0 0 0 1 Unknown
|
||||||
|
%76 = OpTypeImage %int 2D 0 0 0 1 Unknown
|
||||||
|
%77 = OpTypeImage %int 2D 0 0 1 1 Unknown
|
||||||
|
%78 = OpTypeImage %int 2D 0 1 0 1 Unknown
|
||||||
|
%79 = OpTypeImage %int 2D 0 1 1 1 Unknown
|
||||||
|
%80 = OpTypeImage %int 3D 0 0 0 1 Unknown
|
||||||
|
%81 = OpTypeImage %int Cube 0 0 0 1 Unknown
|
||||||
|
%82 = OpTypeImage %int Cube 0 1 0 1 Unknown
|
||||||
|
%83 = OpTypeImage %int 1D 0 0 0 2 Rg32i
|
||||||
|
%84 = OpTypeImage %int 2D 0 0 0 2 Rg32i
|
||||||
|
%85 = OpTypeImage %int 2D 0 1 0 2 Rg32i
|
||||||
|
%86 = OpTypeImage %int 3D 0 0 0 2 Rg32i
|
||||||
|
%_ptr_UniformConstant_50 = OpTypePointer UniformConstant %50
|
||||||
|
%_ptr_UniformConstant_51 = OpTypePointer UniformConstant %51
|
||||||
|
%_ptr_UniformConstant_52 = OpTypePointer UniformConstant %52
|
||||||
|
%_ptr_UniformConstant_53 = OpTypePointer UniformConstant %53
|
||||||
|
%_ptr_UniformConstant_54 = OpTypePointer UniformConstant %54
|
||||||
|
%_ptr_UniformConstant_55 = OpTypePointer UniformConstant %55
|
||||||
|
%_ptr_UniformConstant_56 = OpTypePointer UniformConstant %56
|
||||||
|
%_ptr_UniformConstant_57 = OpTypePointer UniformConstant %57
|
||||||
|
%_ptr_UniformConstant_58 = OpTypePointer UniformConstant %58
|
||||||
|
%_ptr_UniformConstant_59 = OpTypePointer UniformConstant %59
|
||||||
|
%_ptr_UniformConstant_60 = OpTypePointer UniformConstant %60
|
||||||
|
%_ptr_UniformConstant_61 = OpTypePointer UniformConstant %61
|
||||||
|
%_ptr_UniformConstant_62 = OpTypePointer UniformConstant %62
|
||||||
|
%_ptr_UniformConstant_63 = OpTypePointer UniformConstant %63
|
||||||
|
%_ptr_UniformConstant_64 = OpTypePointer UniformConstant %64
|
||||||
|
%_ptr_UniformConstant_65 = OpTypePointer UniformConstant %65
|
||||||
|
%_ptr_UniformConstant_66 = OpTypePointer UniformConstant %66
|
||||||
|
%_ptr_UniformConstant_67 = OpTypePointer UniformConstant %67
|
||||||
|
%_ptr_UniformConstant_68 = OpTypePointer UniformConstant %68
|
||||||
|
%_ptr_UniformConstant_69 = OpTypePointer UniformConstant %69
|
||||||
|
%_ptr_UniformConstant_70 = OpTypePointer UniformConstant %70
|
||||||
|
%_ptr_UniformConstant_71 = OpTypePointer UniformConstant %71
|
||||||
|
%_ptr_UniformConstant_72 = OpTypePointer UniformConstant %72
|
||||||
|
%_ptr_UniformConstant_73 = OpTypePointer UniformConstant %73
|
||||||
|
%_ptr_UniformConstant_74 = OpTypePointer UniformConstant %74
|
||||||
|
%_ptr_UniformConstant_75 = OpTypePointer UniformConstant %75
|
||||||
|
%_ptr_UniformConstant_76 = OpTypePointer UniformConstant %76
|
||||||
|
%_ptr_UniformConstant_77 = OpTypePointer UniformConstant %77
|
||||||
|
%_ptr_UniformConstant_78 = OpTypePointer UniformConstant %78
|
||||||
|
%_ptr_UniformConstant_79 = OpTypePointer UniformConstant %79
|
||||||
|
%_ptr_UniformConstant_80 = OpTypePointer UniformConstant %80
|
||||||
|
%_ptr_UniformConstant_81 = OpTypePointer UniformConstant %81
|
||||||
|
%_ptr_UniformConstant_82 = OpTypePointer UniformConstant %82
|
||||||
|
%_ptr_UniformConstant_83 = OpTypePointer UniformConstant %83
|
||||||
|
%_ptr_UniformConstant_84 = OpTypePointer UniformConstant %84
|
||||||
|
%_ptr_UniformConstant_85 = OpTypePointer UniformConstant %85
|
||||||
|
%_ptr_UniformConstant_86 = OpTypePointer UniformConstant %86
|
||||||
|
%124 = OpTypeSampledImage %52
|
||||||
|
%125 = OpConstantNull %v2float
|
||||||
|
%126 = OpConstantNull %v3float
|
||||||
|
%10 = OpVariable %_ptr_UniformConstant_50 UniformConstant
|
||||||
|
%20 = OpVariable %_ptr_UniformConstant_52 UniformConstant
|
||||||
|
%1 = OpFunction %void None %3
|
||||||
|
%127 = OpLabel
|
||||||
|
%128 = OpLoad %50 %10
|
||||||
|
%129 = OpLoad %52 %20
|
||||||
|
%130 = OpSampledImage %124 %129 %128
|
||||||
|
%131 = OpImageSampleProjImplicitLod %v4float %130 %126
|
||||||
|
OpReturn
|
||||||
|
OpFunctionEnd
|
||||||
|
|
|
@ -0,0 +1,152 @@
|
||||||
|
; Test: Samples_SpvParserHandleTest_RegisterHandleUsage_SampledImage_Variable_7.spvasm
|
||||||
|
; SPIR-V
|
||||||
|
; Version: 1.0
|
||||||
|
; Generator: Khronos SPIR-V Tools Assembler; 0
|
||||||
|
; Bound: 132
|
||||||
|
; Schema: 0
|
||||||
|
OpCapability Shader
|
||||||
|
OpCapability Sampled1D
|
||||||
|
OpCapability Image1D
|
||||||
|
OpCapability StorageImageExtendedFormats
|
||||||
|
OpCapability ImageQuery
|
||||||
|
OpMemoryModel Logical Simple
|
||||||
|
OpEntryPoint Fragment %1 "main"
|
||||||
|
OpExecutionMode %1 OriginUpperLeft
|
||||||
|
OpDecorate %10 DescriptorSet 0
|
||||||
|
OpDecorate %10 Binding 0
|
||||||
|
OpDecorate %20 DescriptorSet 0
|
||||||
|
OpDecorate %20 Binding 1
|
||||||
|
%void = OpTypeVoid
|
||||||
|
%3 = OpTypeFunction %void
|
||||||
|
%float = OpTypeFloat 32
|
||||||
|
%uint = OpTypeInt 32 0
|
||||||
|
%int = OpTypeInt 32 1
|
||||||
|
%int_0 = OpConstant %int 0
|
||||||
|
%int_1 = OpConstant %int 1
|
||||||
|
%int_2 = OpConstant %int 2
|
||||||
|
%int_3 = OpConstant %int 3
|
||||||
|
%int_4 = OpConstant %int 4
|
||||||
|
%uint_0 = OpConstant %uint 0
|
||||||
|
%uint_1 = OpConstant %uint 1
|
||||||
|
%uint_2 = OpConstant %uint 2
|
||||||
|
%uint_3 = OpConstant %uint 3
|
||||||
|
%uint_4 = OpConstant %uint 4
|
||||||
|
%uint_100 = OpConstant %uint 100
|
||||||
|
%v2int = OpTypeVector %int 2
|
||||||
|
%v3int = OpTypeVector %int 3
|
||||||
|
%v4int = OpTypeVector %int 4
|
||||||
|
%v2uint = OpTypeVector %uint 2
|
||||||
|
%v3uint = OpTypeVector %uint 3
|
||||||
|
%v4uint = OpTypeVector %uint 4
|
||||||
|
%v2float = OpTypeVector %float 2
|
||||||
|
%v3float = OpTypeVector %float 3
|
||||||
|
%v4float = OpTypeVector %float 4
|
||||||
|
%29 = OpConstantNull %float
|
||||||
|
%float_0 = OpConstant %float 0
|
||||||
|
%float_1 = OpConstant %float 1
|
||||||
|
%float_2 = OpConstant %float 2
|
||||||
|
%float_3 = OpConstant %float 3
|
||||||
|
%float_4 = OpConstant %float 4
|
||||||
|
%float_7 = OpConstant %float 7
|
||||||
|
%36 = OpConstantNull %v2float
|
||||||
|
%37 = OpConstantNull %v3float
|
||||||
|
%38 = OpConstantNull %v4float
|
||||||
|
%39 = OpConstantComposite %v2int %int_1 %int_2
|
||||||
|
%40 = OpConstantComposite %v3int %int_1 %int_2 %int_3
|
||||||
|
%41 = OpConstantComposite %v4int %int_1 %int_2 %int_3 %int_4
|
||||||
|
%42 = OpConstantComposite %v2uint %uint_1 %uint_2
|
||||||
|
%43 = OpConstantComposite %v3uint %uint_1 %uint_2 %uint_3
|
||||||
|
%44 = OpConstantComposite %v4uint %uint_1 %uint_2 %uint_3 %uint_4
|
||||||
|
%45 = OpConstantComposite %v2float %float_1 %float_2
|
||||||
|
%46 = OpConstantComposite %v2float %float_2 %float_1
|
||||||
|
%47 = OpConstantComposite %v3float %float_1 %float_2 %float_3
|
||||||
|
%48 = OpConstantComposite %v4float %float_1 %float_2 %float_3 %float_4
|
||||||
|
%float_0_200000003 = OpConstant %float 0.200000003
|
||||||
|
%50 = OpTypeSampler
|
||||||
|
%51 = OpTypeImage %float 1D 0 0 0 1 Unknown
|
||||||
|
%52 = OpTypeImage %float 2D 0 0 0 1 Unknown
|
||||||
|
%53 = OpTypeImage %float 2D 0 0 1 1 Unknown
|
||||||
|
%54 = OpTypeImage %float 2D 0 1 0 1 Unknown
|
||||||
|
%55 = OpTypeImage %float 2D 0 1 1 1 Unknown
|
||||||
|
%56 = OpTypeImage %float 3D 0 0 0 1 Unknown
|
||||||
|
%57 = OpTypeImage %float Cube 0 0 0 1 Unknown
|
||||||
|
%58 = OpTypeImage %float Cube 0 1 0 1 Unknown
|
||||||
|
%59 = OpTypeImage %float 1D 0 0 0 2 Rg32f
|
||||||
|
%60 = OpTypeImage %float 2D 0 0 0 2 Rg32f
|
||||||
|
%61 = OpTypeImage %float 2D 0 1 0 2 Rg32f
|
||||||
|
%62 = OpTypeImage %float 3D 0 0 0 2 Rg32f
|
||||||
|
%63 = OpTypeImage %uint 1D 0 0 0 1 Unknown
|
||||||
|
%64 = OpTypeImage %uint 2D 0 0 0 1 Unknown
|
||||||
|
%65 = OpTypeImage %uint 2D 0 0 1 1 Unknown
|
||||||
|
%66 = OpTypeImage %uint 2D 0 1 0 1 Unknown
|
||||||
|
%67 = OpTypeImage %uint 2D 0 1 1 1 Unknown
|
||||||
|
%68 = OpTypeImage %uint 3D 0 0 0 1 Unknown
|
||||||
|
%69 = OpTypeImage %uint Cube 0 0 0 1 Unknown
|
||||||
|
%70 = OpTypeImage %uint Cube 0 1 0 1 Unknown
|
||||||
|
%71 = OpTypeImage %uint 1D 0 0 0 2 Rg32ui
|
||||||
|
%72 = OpTypeImage %uint 2D 0 0 0 2 Rg32ui
|
||||||
|
%73 = OpTypeImage %uint 2D 0 1 0 2 Rg32ui
|
||||||
|
%74 = OpTypeImage %uint 3D 0 0 0 2 Rg32ui
|
||||||
|
%75 = OpTypeImage %int 1D 0 0 0 1 Unknown
|
||||||
|
%76 = OpTypeImage %int 2D 0 0 0 1 Unknown
|
||||||
|
%77 = OpTypeImage %int 2D 0 0 1 1 Unknown
|
||||||
|
%78 = OpTypeImage %int 2D 0 1 0 1 Unknown
|
||||||
|
%79 = OpTypeImage %int 2D 0 1 1 1 Unknown
|
||||||
|
%80 = OpTypeImage %int 3D 0 0 0 1 Unknown
|
||||||
|
%81 = OpTypeImage %int Cube 0 0 0 1 Unknown
|
||||||
|
%82 = OpTypeImage %int Cube 0 1 0 1 Unknown
|
||||||
|
%83 = OpTypeImage %int 1D 0 0 0 2 Rg32i
|
||||||
|
%84 = OpTypeImage %int 2D 0 0 0 2 Rg32i
|
||||||
|
%85 = OpTypeImage %int 2D 0 1 0 2 Rg32i
|
||||||
|
%86 = OpTypeImage %int 3D 0 0 0 2 Rg32i
|
||||||
|
%_ptr_UniformConstant_50 = OpTypePointer UniformConstant %50
|
||||||
|
%_ptr_UniformConstant_51 = OpTypePointer UniformConstant %51
|
||||||
|
%_ptr_UniformConstant_52 = OpTypePointer UniformConstant %52
|
||||||
|
%_ptr_UniformConstant_53 = OpTypePointer UniformConstant %53
|
||||||
|
%_ptr_UniformConstant_54 = OpTypePointer UniformConstant %54
|
||||||
|
%_ptr_UniformConstant_55 = OpTypePointer UniformConstant %55
|
||||||
|
%_ptr_UniformConstant_56 = OpTypePointer UniformConstant %56
|
||||||
|
%_ptr_UniformConstant_57 = OpTypePointer UniformConstant %57
|
||||||
|
%_ptr_UniformConstant_58 = OpTypePointer UniformConstant %58
|
||||||
|
%_ptr_UniformConstant_59 = OpTypePointer UniformConstant %59
|
||||||
|
%_ptr_UniformConstant_60 = OpTypePointer UniformConstant %60
|
||||||
|
%_ptr_UniformConstant_61 = OpTypePointer UniformConstant %61
|
||||||
|
%_ptr_UniformConstant_62 = OpTypePointer UniformConstant %62
|
||||||
|
%_ptr_UniformConstant_63 = OpTypePointer UniformConstant %63
|
||||||
|
%_ptr_UniformConstant_64 = OpTypePointer UniformConstant %64
|
||||||
|
%_ptr_UniformConstant_65 = OpTypePointer UniformConstant %65
|
||||||
|
%_ptr_UniformConstant_66 = OpTypePointer UniformConstant %66
|
||||||
|
%_ptr_UniformConstant_67 = OpTypePointer UniformConstant %67
|
||||||
|
%_ptr_UniformConstant_68 = OpTypePointer UniformConstant %68
|
||||||
|
%_ptr_UniformConstant_69 = OpTypePointer UniformConstant %69
|
||||||
|
%_ptr_UniformConstant_70 = OpTypePointer UniformConstant %70
|
||||||
|
%_ptr_UniformConstant_71 = OpTypePointer UniformConstant %71
|
||||||
|
%_ptr_UniformConstant_72 = OpTypePointer UniformConstant %72
|
||||||
|
%_ptr_UniformConstant_73 = OpTypePointer UniformConstant %73
|
||||||
|
%_ptr_UniformConstant_74 = OpTypePointer UniformConstant %74
|
||||||
|
%_ptr_UniformConstant_75 = OpTypePointer UniformConstant %75
|
||||||
|
%_ptr_UniformConstant_76 = OpTypePointer UniformConstant %76
|
||||||
|
%_ptr_UniformConstant_77 = OpTypePointer UniformConstant %77
|
||||||
|
%_ptr_UniformConstant_78 = OpTypePointer UniformConstant %78
|
||||||
|
%_ptr_UniformConstant_79 = OpTypePointer UniformConstant %79
|
||||||
|
%_ptr_UniformConstant_80 = OpTypePointer UniformConstant %80
|
||||||
|
%_ptr_UniformConstant_81 = OpTypePointer UniformConstant %81
|
||||||
|
%_ptr_UniformConstant_82 = OpTypePointer UniformConstant %82
|
||||||
|
%_ptr_UniformConstant_83 = OpTypePointer UniformConstant %83
|
||||||
|
%_ptr_UniformConstant_84 = OpTypePointer UniformConstant %84
|
||||||
|
%_ptr_UniformConstant_85 = OpTypePointer UniformConstant %85
|
||||||
|
%_ptr_UniformConstant_86 = OpTypePointer UniformConstant %86
|
||||||
|
%124 = OpTypeSampledImage %52
|
||||||
|
%125 = OpConstantNull %v2float
|
||||||
|
%126 = OpConstantNull %v3float
|
||||||
|
%10 = OpVariable %_ptr_UniformConstant_50 UniformConstant
|
||||||
|
%20 = OpVariable %_ptr_UniformConstant_52 UniformConstant
|
||||||
|
%1 = OpFunction %void None %3
|
||||||
|
%127 = OpLabel
|
||||||
|
%128 = OpLoad %50 %10
|
||||||
|
%129 = OpLoad %52 %20
|
||||||
|
%130 = OpSampledImage %124 %129 %128
|
||||||
|
%131 = OpImageSampleProjExplicitLod %v4float %130 %126 Lod %29
|
||||||
|
OpReturn
|
||||||
|
OpFunctionEnd
|
||||||
|
|
|
@ -0,0 +1,152 @@
|
||||||
|
; Test: Samples_SpvParserHandleTest_RegisterHandleUsage_SampledImage_Variable_8.spvasm
|
||||||
|
; SPIR-V
|
||||||
|
; Version: 1.0
|
||||||
|
; Generator: Khronos SPIR-V Tools Assembler; 0
|
||||||
|
; Bound: 132
|
||||||
|
; Schema: 0
|
||||||
|
OpCapability Shader
|
||||||
|
OpCapability Sampled1D
|
||||||
|
OpCapability Image1D
|
||||||
|
OpCapability StorageImageExtendedFormats
|
||||||
|
OpCapability ImageQuery
|
||||||
|
OpMemoryModel Logical Simple
|
||||||
|
OpEntryPoint Fragment %1 "main"
|
||||||
|
OpExecutionMode %1 OriginUpperLeft
|
||||||
|
OpDecorate %10 DescriptorSet 0
|
||||||
|
OpDecorate %10 Binding 0
|
||||||
|
OpDecorate %20 DescriptorSet 0
|
||||||
|
OpDecorate %20 Binding 1
|
||||||
|
%void = OpTypeVoid
|
||||||
|
%3 = OpTypeFunction %void
|
||||||
|
%float = OpTypeFloat 32
|
||||||
|
%uint = OpTypeInt 32 0
|
||||||
|
%int = OpTypeInt 32 1
|
||||||
|
%int_0 = OpConstant %int 0
|
||||||
|
%int_1 = OpConstant %int 1
|
||||||
|
%int_2 = OpConstant %int 2
|
||||||
|
%int_3 = OpConstant %int 3
|
||||||
|
%int_4 = OpConstant %int 4
|
||||||
|
%uint_0 = OpConstant %uint 0
|
||||||
|
%uint_1 = OpConstant %uint 1
|
||||||
|
%uint_2 = OpConstant %uint 2
|
||||||
|
%uint_3 = OpConstant %uint 3
|
||||||
|
%uint_4 = OpConstant %uint 4
|
||||||
|
%uint_100 = OpConstant %uint 100
|
||||||
|
%v2int = OpTypeVector %int 2
|
||||||
|
%v3int = OpTypeVector %int 3
|
||||||
|
%v4int = OpTypeVector %int 4
|
||||||
|
%v2uint = OpTypeVector %uint 2
|
||||||
|
%v3uint = OpTypeVector %uint 3
|
||||||
|
%v4uint = OpTypeVector %uint 4
|
||||||
|
%v2float = OpTypeVector %float 2
|
||||||
|
%v3float = OpTypeVector %float 3
|
||||||
|
%v4float = OpTypeVector %float 4
|
||||||
|
%29 = OpConstantNull %float
|
||||||
|
%float_0 = OpConstant %float 0
|
||||||
|
%float_1 = OpConstant %float 1
|
||||||
|
%float_2 = OpConstant %float 2
|
||||||
|
%float_3 = OpConstant %float 3
|
||||||
|
%float_4 = OpConstant %float 4
|
||||||
|
%float_7 = OpConstant %float 7
|
||||||
|
%36 = OpConstantNull %v2float
|
||||||
|
%37 = OpConstantNull %v3float
|
||||||
|
%38 = OpConstantNull %v4float
|
||||||
|
%39 = OpConstantComposite %v2int %int_1 %int_2
|
||||||
|
%40 = OpConstantComposite %v3int %int_1 %int_2 %int_3
|
||||||
|
%41 = OpConstantComposite %v4int %int_1 %int_2 %int_3 %int_4
|
||||||
|
%42 = OpConstantComposite %v2uint %uint_1 %uint_2
|
||||||
|
%43 = OpConstantComposite %v3uint %uint_1 %uint_2 %uint_3
|
||||||
|
%44 = OpConstantComposite %v4uint %uint_1 %uint_2 %uint_3 %uint_4
|
||||||
|
%45 = OpConstantComposite %v2float %float_1 %float_2
|
||||||
|
%46 = OpConstantComposite %v2float %float_2 %float_1
|
||||||
|
%47 = OpConstantComposite %v3float %float_1 %float_2 %float_3
|
||||||
|
%48 = OpConstantComposite %v4float %float_1 %float_2 %float_3 %float_4
|
||||||
|
%float_0_200000003 = OpConstant %float 0.200000003
|
||||||
|
%50 = OpTypeSampler
|
||||||
|
%51 = OpTypeImage %float 1D 0 0 0 1 Unknown
|
||||||
|
%52 = OpTypeImage %float 2D 0 0 0 1 Unknown
|
||||||
|
%53 = OpTypeImage %float 2D 0 0 1 1 Unknown
|
||||||
|
%54 = OpTypeImage %float 2D 0 1 0 1 Unknown
|
||||||
|
%55 = OpTypeImage %float 2D 0 1 1 1 Unknown
|
||||||
|
%56 = OpTypeImage %float 3D 0 0 0 1 Unknown
|
||||||
|
%57 = OpTypeImage %float Cube 0 0 0 1 Unknown
|
||||||
|
%58 = OpTypeImage %float Cube 0 1 0 1 Unknown
|
||||||
|
%59 = OpTypeImage %float 1D 0 0 0 2 Rg32f
|
||||||
|
%60 = OpTypeImage %float 2D 0 0 0 2 Rg32f
|
||||||
|
%61 = OpTypeImage %float 2D 0 1 0 2 Rg32f
|
||||||
|
%62 = OpTypeImage %float 3D 0 0 0 2 Rg32f
|
||||||
|
%63 = OpTypeImage %uint 1D 0 0 0 1 Unknown
|
||||||
|
%64 = OpTypeImage %uint 2D 0 0 0 1 Unknown
|
||||||
|
%65 = OpTypeImage %uint 2D 0 0 1 1 Unknown
|
||||||
|
%66 = OpTypeImage %uint 2D 0 1 0 1 Unknown
|
||||||
|
%67 = OpTypeImage %uint 2D 0 1 1 1 Unknown
|
||||||
|
%68 = OpTypeImage %uint 3D 0 0 0 1 Unknown
|
||||||
|
%69 = OpTypeImage %uint Cube 0 0 0 1 Unknown
|
||||||
|
%70 = OpTypeImage %uint Cube 0 1 0 1 Unknown
|
||||||
|
%71 = OpTypeImage %uint 1D 0 0 0 2 Rg32ui
|
||||||
|
%72 = OpTypeImage %uint 2D 0 0 0 2 Rg32ui
|
||||||
|
%73 = OpTypeImage %uint 2D 0 1 0 2 Rg32ui
|
||||||
|
%74 = OpTypeImage %uint 3D 0 0 0 2 Rg32ui
|
||||||
|
%75 = OpTypeImage %int 1D 0 0 0 1 Unknown
|
||||||
|
%76 = OpTypeImage %int 2D 0 0 0 1 Unknown
|
||||||
|
%77 = OpTypeImage %int 2D 0 0 1 1 Unknown
|
||||||
|
%78 = OpTypeImage %int 2D 0 1 0 1 Unknown
|
||||||
|
%79 = OpTypeImage %int 2D 0 1 1 1 Unknown
|
||||||
|
%80 = OpTypeImage %int 3D 0 0 0 1 Unknown
|
||||||
|
%81 = OpTypeImage %int Cube 0 0 0 1 Unknown
|
||||||
|
%82 = OpTypeImage %int Cube 0 1 0 1 Unknown
|
||||||
|
%83 = OpTypeImage %int 1D 0 0 0 2 Rg32i
|
||||||
|
%84 = OpTypeImage %int 2D 0 0 0 2 Rg32i
|
||||||
|
%85 = OpTypeImage %int 2D 0 1 0 2 Rg32i
|
||||||
|
%86 = OpTypeImage %int 3D 0 0 0 2 Rg32i
|
||||||
|
%_ptr_UniformConstant_50 = OpTypePointer UniformConstant %50
|
||||||
|
%_ptr_UniformConstant_51 = OpTypePointer UniformConstant %51
|
||||||
|
%_ptr_UniformConstant_52 = OpTypePointer UniformConstant %52
|
||||||
|
%_ptr_UniformConstant_53 = OpTypePointer UniformConstant %53
|
||||||
|
%_ptr_UniformConstant_54 = OpTypePointer UniformConstant %54
|
||||||
|
%_ptr_UniformConstant_55 = OpTypePointer UniformConstant %55
|
||||||
|
%_ptr_UniformConstant_56 = OpTypePointer UniformConstant %56
|
||||||
|
%_ptr_UniformConstant_57 = OpTypePointer UniformConstant %57
|
||||||
|
%_ptr_UniformConstant_58 = OpTypePointer UniformConstant %58
|
||||||
|
%_ptr_UniformConstant_59 = OpTypePointer UniformConstant %59
|
||||||
|
%_ptr_UniformConstant_60 = OpTypePointer UniformConstant %60
|
||||||
|
%_ptr_UniformConstant_61 = OpTypePointer UniformConstant %61
|
||||||
|
%_ptr_UniformConstant_62 = OpTypePointer UniformConstant %62
|
||||||
|
%_ptr_UniformConstant_63 = OpTypePointer UniformConstant %63
|
||||||
|
%_ptr_UniformConstant_64 = OpTypePointer UniformConstant %64
|
||||||
|
%_ptr_UniformConstant_65 = OpTypePointer UniformConstant %65
|
||||||
|
%_ptr_UniformConstant_66 = OpTypePointer UniformConstant %66
|
||||||
|
%_ptr_UniformConstant_67 = OpTypePointer UniformConstant %67
|
||||||
|
%_ptr_UniformConstant_68 = OpTypePointer UniformConstant %68
|
||||||
|
%_ptr_UniformConstant_69 = OpTypePointer UniformConstant %69
|
||||||
|
%_ptr_UniformConstant_70 = OpTypePointer UniformConstant %70
|
||||||
|
%_ptr_UniformConstant_71 = OpTypePointer UniformConstant %71
|
||||||
|
%_ptr_UniformConstant_72 = OpTypePointer UniformConstant %72
|
||||||
|
%_ptr_UniformConstant_73 = OpTypePointer UniformConstant %73
|
||||||
|
%_ptr_UniformConstant_74 = OpTypePointer UniformConstant %74
|
||||||
|
%_ptr_UniformConstant_75 = OpTypePointer UniformConstant %75
|
||||||
|
%_ptr_UniformConstant_76 = OpTypePointer UniformConstant %76
|
||||||
|
%_ptr_UniformConstant_77 = OpTypePointer UniformConstant %77
|
||||||
|
%_ptr_UniformConstant_78 = OpTypePointer UniformConstant %78
|
||||||
|
%_ptr_UniformConstant_79 = OpTypePointer UniformConstant %79
|
||||||
|
%_ptr_UniformConstant_80 = OpTypePointer UniformConstant %80
|
||||||
|
%_ptr_UniformConstant_81 = OpTypePointer UniformConstant %81
|
||||||
|
%_ptr_UniformConstant_82 = OpTypePointer UniformConstant %82
|
||||||
|
%_ptr_UniformConstant_83 = OpTypePointer UniformConstant %83
|
||||||
|
%_ptr_UniformConstant_84 = OpTypePointer UniformConstant %84
|
||||||
|
%_ptr_UniformConstant_85 = OpTypePointer UniformConstant %85
|
||||||
|
%_ptr_UniformConstant_86 = OpTypePointer UniformConstant %86
|
||||||
|
%124 = OpTypeSampledImage %52
|
||||||
|
%125 = OpConstantNull %v2float
|
||||||
|
%126 = OpConstantNull %v3float
|
||||||
|
%10 = OpVariable %_ptr_UniformConstant_50 UniformConstant
|
||||||
|
%20 = OpVariable %_ptr_UniformConstant_52 UniformConstant
|
||||||
|
%1 = OpFunction %void None %3
|
||||||
|
%127 = OpLabel
|
||||||
|
%128 = OpLoad %50 %10
|
||||||
|
%129 = OpLoad %52 %20
|
||||||
|
%130 = OpSampledImage %124 %129 %128
|
||||||
|
%131 = OpImageSampleProjDrefImplicitLod %float %130 %126 %float_0_200000003
|
||||||
|
OpReturn
|
||||||
|
OpFunctionEnd
|
||||||
|
|
|
@ -0,0 +1,152 @@
|
||||||
|
; Test: Samples_SpvParserHandleTest_RegisterHandleUsage_SampledImage_Variable_9.spvasm
|
||||||
|
; SPIR-V
|
||||||
|
; Version: 1.0
|
||||||
|
; Generator: Khronos SPIR-V Tools Assembler; 0
|
||||||
|
; Bound: 132
|
||||||
|
; Schema: 0
|
||||||
|
OpCapability Shader
|
||||||
|
OpCapability Sampled1D
|
||||||
|
OpCapability Image1D
|
||||||
|
OpCapability StorageImageExtendedFormats
|
||||||
|
OpCapability ImageQuery
|
||||||
|
OpMemoryModel Logical Simple
|
||||||
|
OpEntryPoint Fragment %1 "main"
|
||||||
|
OpExecutionMode %1 OriginUpperLeft
|
||||||
|
OpDecorate %10 DescriptorSet 0
|
||||||
|
OpDecorate %10 Binding 0
|
||||||
|
OpDecorate %20 DescriptorSet 0
|
||||||
|
OpDecorate %20 Binding 1
|
||||||
|
%void = OpTypeVoid
|
||||||
|
%3 = OpTypeFunction %void
|
||||||
|
%float = OpTypeFloat 32
|
||||||
|
%uint = OpTypeInt 32 0
|
||||||
|
%int = OpTypeInt 32 1
|
||||||
|
%int_0 = OpConstant %int 0
|
||||||
|
%int_1 = OpConstant %int 1
|
||||||
|
%int_2 = OpConstant %int 2
|
||||||
|
%int_3 = OpConstant %int 3
|
||||||
|
%int_4 = OpConstant %int 4
|
||||||
|
%uint_0 = OpConstant %uint 0
|
||||||
|
%uint_1 = OpConstant %uint 1
|
||||||
|
%uint_2 = OpConstant %uint 2
|
||||||
|
%uint_3 = OpConstant %uint 3
|
||||||
|
%uint_4 = OpConstant %uint 4
|
||||||
|
%uint_100 = OpConstant %uint 100
|
||||||
|
%v2int = OpTypeVector %int 2
|
||||||
|
%v3int = OpTypeVector %int 3
|
||||||
|
%v4int = OpTypeVector %int 4
|
||||||
|
%v2uint = OpTypeVector %uint 2
|
||||||
|
%v3uint = OpTypeVector %uint 3
|
||||||
|
%v4uint = OpTypeVector %uint 4
|
||||||
|
%v2float = OpTypeVector %float 2
|
||||||
|
%v3float = OpTypeVector %float 3
|
||||||
|
%v4float = OpTypeVector %float 4
|
||||||
|
%29 = OpConstantNull %float
|
||||||
|
%float_0 = OpConstant %float 0
|
||||||
|
%float_1 = OpConstant %float 1
|
||||||
|
%float_2 = OpConstant %float 2
|
||||||
|
%float_3 = OpConstant %float 3
|
||||||
|
%float_4 = OpConstant %float 4
|
||||||
|
%float_7 = OpConstant %float 7
|
||||||
|
%36 = OpConstantNull %v2float
|
||||||
|
%37 = OpConstantNull %v3float
|
||||||
|
%38 = OpConstantNull %v4float
|
||||||
|
%39 = OpConstantComposite %v2int %int_1 %int_2
|
||||||
|
%40 = OpConstantComposite %v3int %int_1 %int_2 %int_3
|
||||||
|
%41 = OpConstantComposite %v4int %int_1 %int_2 %int_3 %int_4
|
||||||
|
%42 = OpConstantComposite %v2uint %uint_1 %uint_2
|
||||||
|
%43 = OpConstantComposite %v3uint %uint_1 %uint_2 %uint_3
|
||||||
|
%44 = OpConstantComposite %v4uint %uint_1 %uint_2 %uint_3 %uint_4
|
||||||
|
%45 = OpConstantComposite %v2float %float_1 %float_2
|
||||||
|
%46 = OpConstantComposite %v2float %float_2 %float_1
|
||||||
|
%47 = OpConstantComposite %v3float %float_1 %float_2 %float_3
|
||||||
|
%48 = OpConstantComposite %v4float %float_1 %float_2 %float_3 %float_4
|
||||||
|
%float_0_200000003 = OpConstant %float 0.200000003
|
||||||
|
%50 = OpTypeSampler
|
||||||
|
%51 = OpTypeImage %float 1D 0 0 0 1 Unknown
|
||||||
|
%52 = OpTypeImage %float 2D 0 0 0 1 Unknown
|
||||||
|
%53 = OpTypeImage %float 2D 0 0 1 1 Unknown
|
||||||
|
%54 = OpTypeImage %float 2D 0 1 0 1 Unknown
|
||||||
|
%55 = OpTypeImage %float 2D 0 1 1 1 Unknown
|
||||||
|
%56 = OpTypeImage %float 3D 0 0 0 1 Unknown
|
||||||
|
%57 = OpTypeImage %float Cube 0 0 0 1 Unknown
|
||||||
|
%58 = OpTypeImage %float Cube 0 1 0 1 Unknown
|
||||||
|
%59 = OpTypeImage %float 1D 0 0 0 2 Rg32f
|
||||||
|
%60 = OpTypeImage %float 2D 0 0 0 2 Rg32f
|
||||||
|
%61 = OpTypeImage %float 2D 0 1 0 2 Rg32f
|
||||||
|
%62 = OpTypeImage %float 3D 0 0 0 2 Rg32f
|
||||||
|
%63 = OpTypeImage %uint 1D 0 0 0 1 Unknown
|
||||||
|
%64 = OpTypeImage %uint 2D 0 0 0 1 Unknown
|
||||||
|
%65 = OpTypeImage %uint 2D 0 0 1 1 Unknown
|
||||||
|
%66 = OpTypeImage %uint 2D 0 1 0 1 Unknown
|
||||||
|
%67 = OpTypeImage %uint 2D 0 1 1 1 Unknown
|
||||||
|
%68 = OpTypeImage %uint 3D 0 0 0 1 Unknown
|
||||||
|
%69 = OpTypeImage %uint Cube 0 0 0 1 Unknown
|
||||||
|
%70 = OpTypeImage %uint Cube 0 1 0 1 Unknown
|
||||||
|
%71 = OpTypeImage %uint 1D 0 0 0 2 Rg32ui
|
||||||
|
%72 = OpTypeImage %uint 2D 0 0 0 2 Rg32ui
|
||||||
|
%73 = OpTypeImage %uint 2D 0 1 0 2 Rg32ui
|
||||||
|
%74 = OpTypeImage %uint 3D 0 0 0 2 Rg32ui
|
||||||
|
%75 = OpTypeImage %int 1D 0 0 0 1 Unknown
|
||||||
|
%76 = OpTypeImage %int 2D 0 0 0 1 Unknown
|
||||||
|
%77 = OpTypeImage %int 2D 0 0 1 1 Unknown
|
||||||
|
%78 = OpTypeImage %int 2D 0 1 0 1 Unknown
|
||||||
|
%79 = OpTypeImage %int 2D 0 1 1 1 Unknown
|
||||||
|
%80 = OpTypeImage %int 3D 0 0 0 1 Unknown
|
||||||
|
%81 = OpTypeImage %int Cube 0 0 0 1 Unknown
|
||||||
|
%82 = OpTypeImage %int Cube 0 1 0 1 Unknown
|
||||||
|
%83 = OpTypeImage %int 1D 0 0 0 2 Rg32i
|
||||||
|
%84 = OpTypeImage %int 2D 0 0 0 2 Rg32i
|
||||||
|
%85 = OpTypeImage %int 2D 0 1 0 2 Rg32i
|
||||||
|
%86 = OpTypeImage %int 3D 0 0 0 2 Rg32i
|
||||||
|
%_ptr_UniformConstant_50 = OpTypePointer UniformConstant %50
|
||||||
|
%_ptr_UniformConstant_51 = OpTypePointer UniformConstant %51
|
||||||
|
%_ptr_UniformConstant_52 = OpTypePointer UniformConstant %52
|
||||||
|
%_ptr_UniformConstant_53 = OpTypePointer UniformConstant %53
|
||||||
|
%_ptr_UniformConstant_54 = OpTypePointer UniformConstant %54
|
||||||
|
%_ptr_UniformConstant_55 = OpTypePointer UniformConstant %55
|
||||||
|
%_ptr_UniformConstant_56 = OpTypePointer UniformConstant %56
|
||||||
|
%_ptr_UniformConstant_57 = OpTypePointer UniformConstant %57
|
||||||
|
%_ptr_UniformConstant_58 = OpTypePointer UniformConstant %58
|
||||||
|
%_ptr_UniformConstant_59 = OpTypePointer UniformConstant %59
|
||||||
|
%_ptr_UniformConstant_60 = OpTypePointer UniformConstant %60
|
||||||
|
%_ptr_UniformConstant_61 = OpTypePointer UniformConstant %61
|
||||||
|
%_ptr_UniformConstant_62 = OpTypePointer UniformConstant %62
|
||||||
|
%_ptr_UniformConstant_63 = OpTypePointer UniformConstant %63
|
||||||
|
%_ptr_UniformConstant_64 = OpTypePointer UniformConstant %64
|
||||||
|
%_ptr_UniformConstant_65 = OpTypePointer UniformConstant %65
|
||||||
|
%_ptr_UniformConstant_66 = OpTypePointer UniformConstant %66
|
||||||
|
%_ptr_UniformConstant_67 = OpTypePointer UniformConstant %67
|
||||||
|
%_ptr_UniformConstant_68 = OpTypePointer UniformConstant %68
|
||||||
|
%_ptr_UniformConstant_69 = OpTypePointer UniformConstant %69
|
||||||
|
%_ptr_UniformConstant_70 = OpTypePointer UniformConstant %70
|
||||||
|
%_ptr_UniformConstant_71 = OpTypePointer UniformConstant %71
|
||||||
|
%_ptr_UniformConstant_72 = OpTypePointer UniformConstant %72
|
||||||
|
%_ptr_UniformConstant_73 = OpTypePointer UniformConstant %73
|
||||||
|
%_ptr_UniformConstant_74 = OpTypePointer UniformConstant %74
|
||||||
|
%_ptr_UniformConstant_75 = OpTypePointer UniformConstant %75
|
||||||
|
%_ptr_UniformConstant_76 = OpTypePointer UniformConstant %76
|
||||||
|
%_ptr_UniformConstant_77 = OpTypePointer UniformConstant %77
|
||||||
|
%_ptr_UniformConstant_78 = OpTypePointer UniformConstant %78
|
||||||
|
%_ptr_UniformConstant_79 = OpTypePointer UniformConstant %79
|
||||||
|
%_ptr_UniformConstant_80 = OpTypePointer UniformConstant %80
|
||||||
|
%_ptr_UniformConstant_81 = OpTypePointer UniformConstant %81
|
||||||
|
%_ptr_UniformConstant_82 = OpTypePointer UniformConstant %82
|
||||||
|
%_ptr_UniformConstant_83 = OpTypePointer UniformConstant %83
|
||||||
|
%_ptr_UniformConstant_84 = OpTypePointer UniformConstant %84
|
||||||
|
%_ptr_UniformConstant_85 = OpTypePointer UniformConstant %85
|
||||||
|
%_ptr_UniformConstant_86 = OpTypePointer UniformConstant %86
|
||||||
|
%124 = OpTypeSampledImage %52
|
||||||
|
%125 = OpConstantNull %v2float
|
||||||
|
%126 = OpConstantNull %v3float
|
||||||
|
%10 = OpVariable %_ptr_UniformConstant_50 UniformConstant
|
||||||
|
%20 = OpVariable %_ptr_UniformConstant_52 UniformConstant
|
||||||
|
%1 = OpFunction %void None %3
|
||||||
|
%127 = OpLabel
|
||||||
|
%128 = OpLoad %50 %10
|
||||||
|
%129 = OpLoad %52 %20
|
||||||
|
%130 = OpSampledImage %124 %129 %128
|
||||||
|
%131 = OpImageSampleProjDrefExplicitLod %float %130 %126 %float_0_200000003 Lod %29
|
||||||
|
OpReturn
|
||||||
|
OpFunctionEnd
|
||||||
|
|
|
@ -0,0 +1,29 @@
|
||||||
|
; Test: SpvModuleScopeVarParserTest_MatrixStrideDecoration.spvasm
|
||||||
|
; SPIR-V
|
||||||
|
; Version: 1.0
|
||||||
|
; Generator: Khronos SPIR-V Tools Assembler; 0
|
||||||
|
; Bound: 11
|
||||||
|
; Schema: 0
|
||||||
|
OpCapability Shader
|
||||||
|
OpMemoryModel Logical Simple
|
||||||
|
OpEntryPoint Fragment %1 "main"
|
||||||
|
OpExecutionMode %1 OriginUpperLeft
|
||||||
|
OpName %myvar "myvar"
|
||||||
|
OpDecorate %myvar DescriptorSet 0
|
||||||
|
OpDecorate %myvar Binding 0
|
||||||
|
OpDecorate %_struct_3 Block
|
||||||
|
OpMemberDecorate %_struct_3 0 MatrixStride 64
|
||||||
|
OpMemberDecorate %_struct_3 0 Offset 0
|
||||||
|
%void = OpTypeVoid
|
||||||
|
%5 = OpTypeFunction %void
|
||||||
|
%float = OpTypeFloat 32
|
||||||
|
%v2float = OpTypeVector %float 2
|
||||||
|
%mat3v2float = OpTypeMatrix %v2float 3
|
||||||
|
%_struct_3 = OpTypeStruct %mat3v2float
|
||||||
|
%_ptr_StorageBuffer__struct_3 = OpTypePointer StorageBuffer %_struct_3
|
||||||
|
%myvar = OpVariable %_ptr_StorageBuffer__struct_3 StorageBuffer
|
||||||
|
%1 = OpFunction %void None %5
|
||||||
|
%10 = OpLabel
|
||||||
|
OpReturn
|
||||||
|
OpFunctionEnd
|
||||||
|
|
|
@ -0,0 +1,29 @@
|
||||||
|
; Test: SpvModuleScopeVarParserTest_MatrixStrideDecoration_Natural_Dropped.spvasm
|
||||||
|
; SPIR-V
|
||||||
|
; Version: 1.0
|
||||||
|
; Generator: Khronos SPIR-V Tools Assembler; 0
|
||||||
|
; Bound: 11
|
||||||
|
; Schema: 0
|
||||||
|
OpCapability Shader
|
||||||
|
OpMemoryModel Logical Simple
|
||||||
|
OpEntryPoint Fragment %1 "main"
|
||||||
|
OpExecutionMode %1 OriginUpperLeft
|
||||||
|
OpName %myvar "myvar"
|
||||||
|
OpDecorate %myvar DescriptorSet 0
|
||||||
|
OpDecorate %myvar Binding 0
|
||||||
|
OpDecorate %_struct_3 Block
|
||||||
|
OpMemberDecorate %_struct_3 0 MatrixStride 8
|
||||||
|
OpMemberDecorate %_struct_3 0 Offset 0
|
||||||
|
%void = OpTypeVoid
|
||||||
|
%5 = OpTypeFunction %void
|
||||||
|
%float = OpTypeFloat 32
|
||||||
|
%v2float = OpTypeVector %float 2
|
||||||
|
%mat3v2float = OpTypeMatrix %v2float 3
|
||||||
|
%_struct_3 = OpTypeStruct %mat3v2float
|
||||||
|
%_ptr_StorageBuffer__struct_3 = OpTypePointer StorageBuffer %_struct_3
|
||||||
|
%myvar = OpVariable %_ptr_StorageBuffer__struct_3 StorageBuffer
|
||||||
|
%1 = OpFunction %void None %5
|
||||||
|
%10 = OpLabel
|
||||||
|
OpReturn
|
||||||
|
OpFunctionEnd
|
||||||
|
|
|
@ -0,0 +1,53 @@
|
||||||
|
; Test: SpvParserCFGTest_ClassifyCFGEdges_LoopBreak_FromContinueConstructHeader.spvasm
|
||||||
|
; SPIR-V
|
||||||
|
; Version: 1.0
|
||||||
|
; Generator: Khronos SPIR-V Tools Assembler; 0
|
||||||
|
; Bound: 1000
|
||||||
|
; Schema: 0
|
||||||
|
OpCapability Shader
|
||||||
|
OpMemoryModel Logical Simple
|
||||||
|
OpEntryPoint Fragment %100 "main"
|
||||||
|
OpExecutionMode %100 OriginUpperLeft
|
||||||
|
OpName %var "var"
|
||||||
|
%void = OpTypeVoid
|
||||||
|
%3 = OpTypeFunction %void
|
||||||
|
%bool = OpTypeBool
|
||||||
|
%5 = OpConstantNull %bool
|
||||||
|
%true = OpConstantTrue %bool
|
||||||
|
%false = OpConstantFalse %bool
|
||||||
|
%uint = OpTypeInt 32 0
|
||||||
|
%int = OpTypeInt 32 1
|
||||||
|
%uint_42 = OpConstant %uint 42
|
||||||
|
%int_42 = OpConstant %int 42
|
||||||
|
%13 = OpTypeFunction %uint
|
||||||
|
%uint_0 = OpConstant %uint 0
|
||||||
|
%uint_1 = OpConstant %uint 1
|
||||||
|
%uint_2 = OpConstant %uint 2
|
||||||
|
%uint_3 = OpConstant %uint 3
|
||||||
|
%uint_4 = OpConstant %uint 4
|
||||||
|
%uint_5 = OpConstant %uint 5
|
||||||
|
%uint_6 = OpConstant %uint 6
|
||||||
|
%uint_7 = OpConstant %uint 7
|
||||||
|
%uint_8 = OpConstant %uint 8
|
||||||
|
%uint_10 = OpConstant %uint 10
|
||||||
|
%uint_20 = OpConstant %uint 20
|
||||||
|
%uint_30 = OpConstant %uint 30
|
||||||
|
%uint_40 = OpConstant %uint 40
|
||||||
|
%uint_50 = OpConstant %uint 50
|
||||||
|
%uint_90 = OpConstant %uint 90
|
||||||
|
%uint_99 = OpConstant %uint 99
|
||||||
|
%_ptr_Private_uint = OpTypePointer Private %uint
|
||||||
|
%var = OpVariable %_ptr_Private_uint Private
|
||||||
|
%uint_999 = OpConstant %uint 999
|
||||||
|
%100 = OpFunction %void None %3
|
||||||
|
%10 = OpLabel
|
||||||
|
OpBranch %20
|
||||||
|
%20 = OpLabel
|
||||||
|
OpLoopMerge %99 %30 None
|
||||||
|
OpBranchConditional %5 %30 %99
|
||||||
|
%30 = OpLabel
|
||||||
|
OpBranchConditional %true %20 %99
|
||||||
|
%99 = OpLabel
|
||||||
|
OpReturn
|
||||||
|
OpFunctionEnd
|
||||||
|
|
|
@ -0,0 +1,57 @@
|
||||||
|
; Test: SpvParserCFGTest_ClassifyCFGEdges_LoopBreak_FromContinueConstructTail.spvasm
|
||||||
|
; SPIR-V
|
||||||
|
; Version: 1.0
|
||||||
|
; Generator: Khronos SPIR-V Tools Assembler; 0
|
||||||
|
; Bound: 1000
|
||||||
|
; Schema: 0
|
||||||
|
OpCapability Shader
|
||||||
|
OpMemoryModel Logical Simple
|
||||||
|
OpEntryPoint Fragment %100 "main"
|
||||||
|
OpExecutionMode %100 OriginUpperLeft
|
||||||
|
OpName %var "var"
|
||||||
|
%void = OpTypeVoid
|
||||||
|
%3 = OpTypeFunction %void
|
||||||
|
%bool = OpTypeBool
|
||||||
|
%5 = OpConstantNull %bool
|
||||||
|
%true = OpConstantTrue %bool
|
||||||
|
%false = OpConstantFalse %bool
|
||||||
|
%uint = OpTypeInt 32 0
|
||||||
|
%int = OpTypeInt 32 1
|
||||||
|
%uint_42 = OpConstant %uint 42
|
||||||
|
%int_42 = OpConstant %int 42
|
||||||
|
%13 = OpTypeFunction %uint
|
||||||
|
%uint_0 = OpConstant %uint 0
|
||||||
|
%uint_1 = OpConstant %uint 1
|
||||||
|
%uint_2 = OpConstant %uint 2
|
||||||
|
%uint_3 = OpConstant %uint 3
|
||||||
|
%uint_4 = OpConstant %uint 4
|
||||||
|
%uint_5 = OpConstant %uint 5
|
||||||
|
%uint_6 = OpConstant %uint 6
|
||||||
|
%uint_7 = OpConstant %uint 7
|
||||||
|
%uint_8 = OpConstant %uint 8
|
||||||
|
%uint_10 = OpConstant %uint 10
|
||||||
|
%uint_20 = OpConstant %uint 20
|
||||||
|
%uint_30 = OpConstant %uint 30
|
||||||
|
%uint_40 = OpConstant %uint 40
|
||||||
|
%uint_50 = OpConstant %uint 50
|
||||||
|
%uint_90 = OpConstant %uint 90
|
||||||
|
%uint_99 = OpConstant %uint 99
|
||||||
|
%_ptr_Private_uint = OpTypePointer Private %uint
|
||||||
|
%var = OpVariable %_ptr_Private_uint Private
|
||||||
|
%uint_999 = OpConstant %uint 999
|
||||||
|
%100 = OpFunction %void None %3
|
||||||
|
%10 = OpLabel
|
||||||
|
OpBranch %20
|
||||||
|
%20 = OpLabel
|
||||||
|
OpLoopMerge %99 %50 None
|
||||||
|
OpBranchConditional %5 %30 %99
|
||||||
|
%30 = OpLabel
|
||||||
|
OpBranch %50
|
||||||
|
%50 = OpLabel
|
||||||
|
OpBranch %60
|
||||||
|
%60 = OpLabel
|
||||||
|
OpBranchConditional %true %20 %99
|
||||||
|
%99 = OpLabel
|
||||||
|
OpReturn
|
||||||
|
OpFunctionEnd
|
||||||
|
|
|
@ -0,0 +1,55 @@
|
||||||
|
; Test: SpvParserCFGTest_ComputeBlockOrder_Loop_Continue_HasBreakIf.spvasm
|
||||||
|
; SPIR-V
|
||||||
|
; Version: 1.0
|
||||||
|
; Generator: Khronos SPIR-V Tools Assembler; 0
|
||||||
|
; Bound: 1000
|
||||||
|
; Schema: 0
|
||||||
|
OpCapability Shader
|
||||||
|
OpMemoryModel Logical Simple
|
||||||
|
OpEntryPoint Fragment %100 "main"
|
||||||
|
OpExecutionMode %100 OriginUpperLeft
|
||||||
|
OpName %var "var"
|
||||||
|
%void = OpTypeVoid
|
||||||
|
%3 = OpTypeFunction %void
|
||||||
|
%bool = OpTypeBool
|
||||||
|
%5 = OpConstantNull %bool
|
||||||
|
%true = OpConstantTrue %bool
|
||||||
|
%false = OpConstantFalse %bool
|
||||||
|
%uint = OpTypeInt 32 0
|
||||||
|
%int = OpTypeInt 32 1
|
||||||
|
%uint_42 = OpConstant %uint 42
|
||||||
|
%int_42 = OpConstant %int 42
|
||||||
|
%13 = OpTypeFunction %uint
|
||||||
|
%uint_0 = OpConstant %uint 0
|
||||||
|
%uint_1 = OpConstant %uint 1
|
||||||
|
%uint_2 = OpConstant %uint 2
|
||||||
|
%uint_3 = OpConstant %uint 3
|
||||||
|
%uint_4 = OpConstant %uint 4
|
||||||
|
%uint_5 = OpConstant %uint 5
|
||||||
|
%uint_6 = OpConstant %uint 6
|
||||||
|
%uint_7 = OpConstant %uint 7
|
||||||
|
%uint_8 = OpConstant %uint 8
|
||||||
|
%uint_10 = OpConstant %uint 10
|
||||||
|
%uint_20 = OpConstant %uint 20
|
||||||
|
%uint_30 = OpConstant %uint 30
|
||||||
|
%uint_40 = OpConstant %uint 40
|
||||||
|
%uint_50 = OpConstant %uint 50
|
||||||
|
%uint_90 = OpConstant %uint 90
|
||||||
|
%uint_99 = OpConstant %uint 99
|
||||||
|
%_ptr_Private_uint = OpTypePointer Private %uint
|
||||||
|
%var = OpVariable %_ptr_Private_uint Private
|
||||||
|
%uint_999 = OpConstant %uint 999
|
||||||
|
%100 = OpFunction %void None %3
|
||||||
|
%10 = OpLabel
|
||||||
|
OpBranch %20
|
||||||
|
%20 = OpLabel
|
||||||
|
OpLoopMerge %99 %50 None
|
||||||
|
OpBranchConditional %5 %30 %99
|
||||||
|
%30 = OpLabel
|
||||||
|
OpBranch %50
|
||||||
|
%50 = OpLabel
|
||||||
|
OpBranchConditional %true %99 %20
|
||||||
|
%99 = OpLabel
|
||||||
|
OpReturn
|
||||||
|
OpFunctionEnd
|
||||||
|
|
|
@ -0,0 +1,55 @@
|
||||||
|
; Test: SpvParserCFGTest_ComputeBlockOrder_Loop_Continue_HasBreakUnless.spvasm
|
||||||
|
; SPIR-V
|
||||||
|
; Version: 1.0
|
||||||
|
; Generator: Khronos SPIR-V Tools Assembler; 0
|
||||||
|
; Bound: 1000
|
||||||
|
; Schema: 0
|
||||||
|
OpCapability Shader
|
||||||
|
OpMemoryModel Logical Simple
|
||||||
|
OpEntryPoint Fragment %100 "main"
|
||||||
|
OpExecutionMode %100 OriginUpperLeft
|
||||||
|
OpName %var "var"
|
||||||
|
%void = OpTypeVoid
|
||||||
|
%3 = OpTypeFunction %void
|
||||||
|
%bool = OpTypeBool
|
||||||
|
%5 = OpConstantNull %bool
|
||||||
|
%true = OpConstantTrue %bool
|
||||||
|
%false = OpConstantFalse %bool
|
||||||
|
%uint = OpTypeInt 32 0
|
||||||
|
%int = OpTypeInt 32 1
|
||||||
|
%uint_42 = OpConstant %uint 42
|
||||||
|
%int_42 = OpConstant %int 42
|
||||||
|
%13 = OpTypeFunction %uint
|
||||||
|
%uint_0 = OpConstant %uint 0
|
||||||
|
%uint_1 = OpConstant %uint 1
|
||||||
|
%uint_2 = OpConstant %uint 2
|
||||||
|
%uint_3 = OpConstant %uint 3
|
||||||
|
%uint_4 = OpConstant %uint 4
|
||||||
|
%uint_5 = OpConstant %uint 5
|
||||||
|
%uint_6 = OpConstant %uint 6
|
||||||
|
%uint_7 = OpConstant %uint 7
|
||||||
|
%uint_8 = OpConstant %uint 8
|
||||||
|
%uint_10 = OpConstant %uint 10
|
||||||
|
%uint_20 = OpConstant %uint 20
|
||||||
|
%uint_30 = OpConstant %uint 30
|
||||||
|
%uint_40 = OpConstant %uint 40
|
||||||
|
%uint_50 = OpConstant %uint 50
|
||||||
|
%uint_90 = OpConstant %uint 90
|
||||||
|
%uint_99 = OpConstant %uint 99
|
||||||
|
%_ptr_Private_uint = OpTypePointer Private %uint
|
||||||
|
%var = OpVariable %_ptr_Private_uint Private
|
||||||
|
%uint_999 = OpConstant %uint 999
|
||||||
|
%100 = OpFunction %void None %3
|
||||||
|
%10 = OpLabel
|
||||||
|
OpBranch %20
|
||||||
|
%20 = OpLabel
|
||||||
|
OpLoopMerge %99 %50 None
|
||||||
|
OpBranchConditional %5 %30 %99
|
||||||
|
%30 = OpLabel
|
||||||
|
OpBranch %50
|
||||||
|
%50 = OpLabel
|
||||||
|
OpBranchConditional %true %20 %99
|
||||||
|
%99 = OpLabel
|
||||||
|
OpReturn
|
||||||
|
OpFunctionEnd
|
||||||
|
|
|
@ -0,0 +1,51 @@
|
||||||
|
; Test: SpvParserTest_Composite_Construct_ConstantComposite_Struct_NoDeduplication.spvasm
|
||||||
|
; SPIR-V
|
||||||
|
; Version: 1.0
|
||||||
|
; Generator: Khronos SPIR-V Tools Assembler; 0
|
||||||
|
; Bound: 302
|
||||||
|
; Schema: 0
|
||||||
|
OpCapability Shader
|
||||||
|
OpMemoryModel Logical Simple
|
||||||
|
OpEntryPoint GLCompute %100 "main"
|
||||||
|
OpExecutionMode %100 LocalSize 1 1 1
|
||||||
|
%void = OpTypeVoid
|
||||||
|
%4 = OpTypeFunction %void
|
||||||
|
%uint = OpTypeInt 32 0
|
||||||
|
%int = OpTypeInt 32 1
|
||||||
|
%float = OpTypeFloat 32
|
||||||
|
%uint_10 = OpConstant %uint 10
|
||||||
|
%uint_20 = OpConstant %uint 20
|
||||||
|
%uint_3 = OpConstant %uint 3
|
||||||
|
%uint_4 = OpConstant %uint 4
|
||||||
|
%uint_5 = OpConstant %uint 5
|
||||||
|
%int_1 = OpConstant %int 1
|
||||||
|
%int_30 = OpConstant %int 30
|
||||||
|
%int_40 = OpConstant %int 40
|
||||||
|
%float_50 = OpConstant %float 50
|
||||||
|
%float_60 = OpConstant %float 60
|
||||||
|
%float_70 = OpConstant %float 70
|
||||||
|
%v2uint = OpTypeVector %uint 2
|
||||||
|
%v3uint = OpTypeVector %uint 3
|
||||||
|
%v4uint = OpTypeVector %uint 4
|
||||||
|
%v2int = OpTypeVector %int 2
|
||||||
|
%v2float = OpTypeVector %float 2
|
||||||
|
%mat3v2float = OpTypeMatrix %v2float 3
|
||||||
|
%25 = OpConstantNull %mat3v2float
|
||||||
|
%_struct_26 = OpTypeStruct %v2float %uint %int
|
||||||
|
%_arr_uint_uint_5 = OpTypeArray %uint %uint_5
|
||||||
|
%28 = OpConstantComposite %v2uint %uint_3 %uint_4
|
||||||
|
%29 = OpConstantComposite %v2uint %uint_4 %uint_3
|
||||||
|
%30 = OpConstantComposite %v2float %float_50 %float_60
|
||||||
|
%31 = OpConstantComposite %v2float %float_60 %float_50
|
||||||
|
%32 = OpConstantComposite %v2float %float_70 %float_70
|
||||||
|
%_struct_200 = OpTypeStruct %uint
|
||||||
|
%_struct_300 = OpTypeStruct %uint
|
||||||
|
%201 = OpConstantComposite %_struct_200 %uint_10
|
||||||
|
%301 = OpConstantComposite %_struct_300 %uint_10
|
||||||
|
%100 = OpFunction %void None %4
|
||||||
|
%33 = OpLabel
|
||||||
|
%2 = OpCopyObject %_struct_200 %201
|
||||||
|
%3 = OpCopyObject %_struct_300 %301
|
||||||
|
OpReturn
|
||||||
|
OpFunctionEnd
|
||||||
|
|
|
@ -0,0 +1,23 @@
|
||||||
|
; Test: SpvParserTest_ConvertType_Array_NoDeduplication.spvasm
|
||||||
|
; SPIR-V
|
||||||
|
; Version: 1.0
|
||||||
|
; Generator: Khronos SPIR-V Tools Assembler; 0
|
||||||
|
; Bound: 22
|
||||||
|
; Schema: 0
|
||||||
|
OpCapability Shader
|
||||||
|
OpMemoryModel Logical Simple
|
||||||
|
OpEntryPoint Fragment %1 "x_100"
|
||||||
|
OpExecutionMode %1 OriginUpperLeft
|
||||||
|
%uint = OpTypeInt 32 0
|
||||||
|
%_struct_10 = OpTypeStruct %uint
|
||||||
|
%_struct_11 = OpTypeStruct %uint
|
||||||
|
%uint_1 = OpConstant %uint 1
|
||||||
|
%_arr__struct_10_uint_1 = OpTypeArray %_struct_10 %uint_1
|
||||||
|
%_arr__struct_11_uint_1 = OpTypeArray %_struct_11 %uint_1
|
||||||
|
%void = OpTypeVoid
|
||||||
|
%5 = OpTypeFunction %void
|
||||||
|
%1 = OpFunction %void None %5
|
||||||
|
%6 = OpLabel
|
||||||
|
OpReturn
|
||||||
|
OpFunctionEnd
|
||||||
|
|
|
@ -0,0 +1,23 @@
|
||||||
|
; Test: SpvParserTest_ConvertType_RuntimeArray_NoDeduplication.spvasm
|
||||||
|
; SPIR-V
|
||||||
|
; Version: 1.0
|
||||||
|
; Generator: Khronos SPIR-V Tools Assembler; 0
|
||||||
|
; Bound: 23
|
||||||
|
; Schema: 0
|
||||||
|
OpCapability Shader
|
||||||
|
OpMemoryModel Logical Simple
|
||||||
|
OpEntryPoint Fragment %1 "x_100"
|
||||||
|
OpExecutionMode %1 OriginUpperLeft
|
||||||
|
%uint = OpTypeInt 32 0
|
||||||
|
%_struct_10 = OpTypeStruct %uint
|
||||||
|
%_struct_11 = OpTypeStruct %uint
|
||||||
|
%_runtimearr__struct_10 = OpTypeRuntimeArray %_struct_10
|
||||||
|
%_runtimearr__struct_11 = OpTypeRuntimeArray %_struct_11
|
||||||
|
%_runtimearr__struct_10_0 = OpTypeRuntimeArray %_struct_10
|
||||||
|
%void = OpTypeVoid
|
||||||
|
%4 = OpTypeFunction %void
|
||||||
|
%1 = OpFunction %void None %4
|
||||||
|
%5 = OpLabel
|
||||||
|
OpReturn
|
||||||
|
OpFunctionEnd
|
||||||
|
|
|
@ -0,0 +1,20 @@
|
||||||
|
; Test: SpvParserTest_ConvertType_Struct_NoDeduplication.spvasm
|
||||||
|
; SPIR-V
|
||||||
|
; Version: 1.0
|
||||||
|
; Generator: Khronos SPIR-V Tools Assembler; 0
|
||||||
|
; Bound: 12
|
||||||
|
; Schema: 0
|
||||||
|
OpCapability Shader
|
||||||
|
OpMemoryModel Logical Simple
|
||||||
|
OpEntryPoint Fragment %1 "x_100"
|
||||||
|
OpExecutionMode %1 OriginUpperLeft
|
||||||
|
%uint = OpTypeInt 32 0
|
||||||
|
%_struct_10 = OpTypeStruct %uint
|
||||||
|
%_struct_11 = OpTypeStruct %uint
|
||||||
|
%void = OpTypeVoid
|
||||||
|
%4 = OpTypeFunction %void
|
||||||
|
%1 = OpFunction %void None %4
|
||||||
|
%5 = OpLabel
|
||||||
|
OpReturn
|
||||||
|
OpFunctionEnd
|
||||||
|
|
|
@ -0,0 +1,92 @@
|
||||||
|
; Test: SpvParserTest_GlslStd450_Ldexp_Scalar_Float_Uint.spvasm
|
||||||
|
; SPIR-V
|
||||||
|
; Version: 1.0
|
||||||
|
; Generator: Khronos SPIR-V Tools Assembler; 0
|
||||||
|
; Bound: 101
|
||||||
|
; Schema: 0
|
||||||
|
OpCapability Shader
|
||||||
|
%2 = OpExtInstImport "GLSL.std.450"
|
||||||
|
OpMemoryModel Logical GLSL450
|
||||||
|
OpEntryPoint GLCompute %100 "main"
|
||||||
|
OpExecutionMode %100 LocalSize 1 1 1
|
||||||
|
OpName %u1 "u1"
|
||||||
|
OpName %u2 "u2"
|
||||||
|
OpName %u3 "u3"
|
||||||
|
OpName %i1 "i1"
|
||||||
|
OpName %i2 "i2"
|
||||||
|
OpName %i3 "i3"
|
||||||
|
OpName %f1 "f1"
|
||||||
|
OpName %f2 "f2"
|
||||||
|
OpName %f3 "f3"
|
||||||
|
OpName %v2u1 "v2u1"
|
||||||
|
OpName %v2u2 "v2u2"
|
||||||
|
OpName %v2u3 "v2u3"
|
||||||
|
OpName %v2i1 "v2i1"
|
||||||
|
OpName %v2i2 "v2i2"
|
||||||
|
OpName %v2i3 "v2i3"
|
||||||
|
OpName %v2f1 "v2f1"
|
||||||
|
OpName %v2f2 "v2f2"
|
||||||
|
OpName %v2f3 "v2f3"
|
||||||
|
OpName %v3f1 "v3f1"
|
||||||
|
OpName %v3f2 "v3f2"
|
||||||
|
OpName %v4f1 "v4f1"
|
||||||
|
OpName %v4f2 "v4f2"
|
||||||
|
%void = OpTypeVoid
|
||||||
|
%26 = OpTypeFunction %void
|
||||||
|
%uint = OpTypeInt 32 0
|
||||||
|
%int = OpTypeInt 32 1
|
||||||
|
%float = OpTypeFloat 32
|
||||||
|
%uint_10 = OpConstant %uint 10
|
||||||
|
%uint_15 = OpConstant %uint 15
|
||||||
|
%uint_20 = OpConstant %uint 20
|
||||||
|
%int_30 = OpConstant %int 30
|
||||||
|
%int_35 = OpConstant %int 35
|
||||||
|
%int_40 = OpConstant %int 40
|
||||||
|
%float_50 = OpConstant %float 50
|
||||||
|
%float_60 = OpConstant %float 60
|
||||||
|
%float_70 = OpConstant %float 70
|
||||||
|
%v2uint = OpTypeVector %uint 2
|
||||||
|
%v2int = OpTypeVector %int 2
|
||||||
|
%v2float = OpTypeVector %float 2
|
||||||
|
%v3float = OpTypeVector %float 3
|
||||||
|
%v4float = OpTypeVector %float 4
|
||||||
|
%44 = OpConstantComposite %v2uint %uint_10 %uint_20
|
||||||
|
%45 = OpConstantComposite %v2uint %uint_20 %uint_10
|
||||||
|
%46 = OpConstantComposite %v2uint %uint_15 %uint_15
|
||||||
|
%47 = OpConstantComposite %v2int %int_30 %int_40
|
||||||
|
%48 = OpConstantComposite %v2int %int_40 %int_30
|
||||||
|
%49 = OpConstantComposite %v2int %int_35 %int_35
|
||||||
|
%50 = OpConstantComposite %v2float %float_50 %float_60
|
||||||
|
%51 = OpConstantComposite %v2float %float_60 %float_50
|
||||||
|
%52 = OpConstantComposite %v2float %float_70 %float_70
|
||||||
|
%53 = OpConstantComposite %v3float %float_50 %float_60 %float_70
|
||||||
|
%54 = OpConstantComposite %v3float %float_60 %float_70 %float_50
|
||||||
|
%55 = OpConstantComposite %v4float %float_50 %float_50 %float_50 %float_50
|
||||||
|
%100 = OpFunction %void None %26
|
||||||
|
%56 = OpLabel
|
||||||
|
%u1 = OpCopyObject %uint %uint_10
|
||||||
|
%u2 = OpCopyObject %uint %uint_15
|
||||||
|
%u3 = OpCopyObject %uint %uint_20
|
||||||
|
%i1 = OpCopyObject %int %int_30
|
||||||
|
%i2 = OpCopyObject %int %int_35
|
||||||
|
%i3 = OpCopyObject %int %int_40
|
||||||
|
%f1 = OpCopyObject %float %float_50
|
||||||
|
%f2 = OpCopyObject %float %float_60
|
||||||
|
%f3 = OpCopyObject %float %float_70
|
||||||
|
%v2u1 = OpCopyObject %v2uint %44
|
||||||
|
%v2u2 = OpCopyObject %v2uint %45
|
||||||
|
%v2u3 = OpCopyObject %v2uint %46
|
||||||
|
%v2i1 = OpCopyObject %v2int %47
|
||||||
|
%v2i2 = OpCopyObject %v2int %48
|
||||||
|
%v2i3 = OpCopyObject %v2int %49
|
||||||
|
%v2f1 = OpCopyObject %v2float %50
|
||||||
|
%v2f2 = OpCopyObject %v2float %51
|
||||||
|
%v2f3 = OpCopyObject %v2float %52
|
||||||
|
%v3f1 = OpCopyObject %v3float %53
|
||||||
|
%v3f2 = OpCopyObject %v3float %54
|
||||||
|
%v4f1 = OpCopyObject %v4float %55
|
||||||
|
%v4f2 = OpCopyObject %v4float %v4f1
|
||||||
|
%1 = OpExtInst %float %2 Ldexp %f1 %u1
|
||||||
|
OpReturn
|
||||||
|
OpFunctionEnd
|
||||||
|
|
|
@ -0,0 +1,92 @@
|
||||||
|
; Test: SpvParserTest_GlslStd450_Ldexp_Vector_Floatvec_Uintvec.spvasm
|
||||||
|
; SPIR-V
|
||||||
|
; Version: 1.0
|
||||||
|
; Generator: Khronos SPIR-V Tools Assembler; 0
|
||||||
|
; Bound: 101
|
||||||
|
; Schema: 0
|
||||||
|
OpCapability Shader
|
||||||
|
%2 = OpExtInstImport "GLSL.std.450"
|
||||||
|
OpMemoryModel Logical GLSL450
|
||||||
|
OpEntryPoint GLCompute %100 "main"
|
||||||
|
OpExecutionMode %100 LocalSize 1 1 1
|
||||||
|
OpName %u1 "u1"
|
||||||
|
OpName %u2 "u2"
|
||||||
|
OpName %u3 "u3"
|
||||||
|
OpName %i1 "i1"
|
||||||
|
OpName %i2 "i2"
|
||||||
|
OpName %i3 "i3"
|
||||||
|
OpName %f1 "f1"
|
||||||
|
OpName %f2 "f2"
|
||||||
|
OpName %f3 "f3"
|
||||||
|
OpName %v2u1 "v2u1"
|
||||||
|
OpName %v2u2 "v2u2"
|
||||||
|
OpName %v2u3 "v2u3"
|
||||||
|
OpName %v2i1 "v2i1"
|
||||||
|
OpName %v2i2 "v2i2"
|
||||||
|
OpName %v2i3 "v2i3"
|
||||||
|
OpName %v2f1 "v2f1"
|
||||||
|
OpName %v2f2 "v2f2"
|
||||||
|
OpName %v2f3 "v2f3"
|
||||||
|
OpName %v3f1 "v3f1"
|
||||||
|
OpName %v3f2 "v3f2"
|
||||||
|
OpName %v4f1 "v4f1"
|
||||||
|
OpName %v4f2 "v4f2"
|
||||||
|
%void = OpTypeVoid
|
||||||
|
%26 = OpTypeFunction %void
|
||||||
|
%uint = OpTypeInt 32 0
|
||||||
|
%int = OpTypeInt 32 1
|
||||||
|
%float = OpTypeFloat 32
|
||||||
|
%uint_10 = OpConstant %uint 10
|
||||||
|
%uint_15 = OpConstant %uint 15
|
||||||
|
%uint_20 = OpConstant %uint 20
|
||||||
|
%int_30 = OpConstant %int 30
|
||||||
|
%int_35 = OpConstant %int 35
|
||||||
|
%int_40 = OpConstant %int 40
|
||||||
|
%float_50 = OpConstant %float 50
|
||||||
|
%float_60 = OpConstant %float 60
|
||||||
|
%float_70 = OpConstant %float 70
|
||||||
|
%v2uint = OpTypeVector %uint 2
|
||||||
|
%v2int = OpTypeVector %int 2
|
||||||
|
%v2float = OpTypeVector %float 2
|
||||||
|
%v3float = OpTypeVector %float 3
|
||||||
|
%v4float = OpTypeVector %float 4
|
||||||
|
%44 = OpConstantComposite %v2uint %uint_10 %uint_20
|
||||||
|
%45 = OpConstantComposite %v2uint %uint_20 %uint_10
|
||||||
|
%46 = OpConstantComposite %v2uint %uint_15 %uint_15
|
||||||
|
%47 = OpConstantComposite %v2int %int_30 %int_40
|
||||||
|
%48 = OpConstantComposite %v2int %int_40 %int_30
|
||||||
|
%49 = OpConstantComposite %v2int %int_35 %int_35
|
||||||
|
%50 = OpConstantComposite %v2float %float_50 %float_60
|
||||||
|
%51 = OpConstantComposite %v2float %float_60 %float_50
|
||||||
|
%52 = OpConstantComposite %v2float %float_70 %float_70
|
||||||
|
%53 = OpConstantComposite %v3float %float_50 %float_60 %float_70
|
||||||
|
%54 = OpConstantComposite %v3float %float_60 %float_70 %float_50
|
||||||
|
%55 = OpConstantComposite %v4float %float_50 %float_50 %float_50 %float_50
|
||||||
|
%100 = OpFunction %void None %26
|
||||||
|
%56 = OpLabel
|
||||||
|
%u1 = OpCopyObject %uint %uint_10
|
||||||
|
%u2 = OpCopyObject %uint %uint_15
|
||||||
|
%u3 = OpCopyObject %uint %uint_20
|
||||||
|
%i1 = OpCopyObject %int %int_30
|
||||||
|
%i2 = OpCopyObject %int %int_35
|
||||||
|
%i3 = OpCopyObject %int %int_40
|
||||||
|
%f1 = OpCopyObject %float %float_50
|
||||||
|
%f2 = OpCopyObject %float %float_60
|
||||||
|
%f3 = OpCopyObject %float %float_70
|
||||||
|
%v2u1 = OpCopyObject %v2uint %44
|
||||||
|
%v2u2 = OpCopyObject %v2uint %45
|
||||||
|
%v2u3 = OpCopyObject %v2uint %46
|
||||||
|
%v2i1 = OpCopyObject %v2int %47
|
||||||
|
%v2i2 = OpCopyObject %v2int %48
|
||||||
|
%v2i3 = OpCopyObject %v2int %49
|
||||||
|
%v2f1 = OpCopyObject %v2float %50
|
||||||
|
%v2f2 = OpCopyObject %v2float %51
|
||||||
|
%v2f3 = OpCopyObject %v2float %52
|
||||||
|
%v3f1 = OpCopyObject %v3float %53
|
||||||
|
%v3f2 = OpCopyObject %v3float %54
|
||||||
|
%v4f1 = OpCopyObject %v4float %55
|
||||||
|
%v4f2 = OpCopyObject %v4float %v4f1
|
||||||
|
%1 = OpExtInst %v2float %2 Ldexp %v2f1 %v2u1
|
||||||
|
OpReturn
|
||||||
|
OpFunctionEnd
|
||||||
|
|
Loading…
Reference in New Issue