[spirv] Generate IR expectations.
This CL generates the expectations for the SPIR-V IR backend.
Bug: 354711610
Change-Id: I70b32c31e9c99637f20abc3299874cec49cb1d0e
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/201274
Reviewed-by: Antonio Maiorano <amaiorano@google.com>
Commit-Queue: dan sinclair <dsinclair@chromium.org>
diff --git a/test/tint/builtins/gen/literal/textureDimensions/cdc6c9.wgsl.expected.ir.spvasm b/test/tint/builtins/gen/literal/textureDimensions/cdc6c9.wgsl.expected.ir.spvasm
new file mode 100644
index 0000000..c6b9303
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureDimensions/cdc6c9.wgsl.expected.ir.spvasm
@@ -0,0 +1,272 @@
+; SPIR-V
+; Version: 1.3
+; Generator: Google Tint Compiler; 1
+; Bound: 104
+; Schema: 0
+ OpCapability Shader
+ OpMemoryModel Logical GLSL450
+ OpEntryPoint Fragment %fragment_main "fragment_main"
+ OpEntryPoint GLCompute %compute_main "compute_main"
+ OpEntryPoint Vertex %vertex_main "vertex_main" %vertex_main_position_Output %vertex_main_loc0_Output %vertex_main___point_size_Output
+ OpExecutionMode %fragment_main OriginUpperLeft
+ OpExecutionMode %compute_main LocalSize 1 1 1
+ OpMemberName %tint_symbol_1 0 "tint_symbol"
+ OpName %tint_symbol_1 "tint_symbol_1"
+ OpName %arg_0_plane0 "arg_0_plane0"
+ OpName %arg_0_plane1 "arg_0_plane1"
+ OpMemberName %tint_ExternalTextureParams_std140 0 "numPlanes"
+ OpMemberName %tint_ExternalTextureParams_std140 1 "doYuvToRgbConversionOnly"
+ OpMemberName %tint_ExternalTextureParams_std140 2 "yuvToRgbConversionMatrix"
+ OpMemberName %tint_GammaTransferParams 0 "G"
+ OpMemberName %tint_GammaTransferParams 1 "A"
+ OpMemberName %tint_GammaTransferParams 2 "B"
+ OpMemberName %tint_GammaTransferParams 3 "C"
+ OpMemberName %tint_GammaTransferParams 4 "D"
+ OpMemberName %tint_GammaTransferParams 5 "E"
+ OpMemberName %tint_GammaTransferParams 6 "F"
+ OpMemberName %tint_GammaTransferParams 7 "padding"
+ OpName %tint_GammaTransferParams "tint_GammaTransferParams"
+ OpMemberName %tint_ExternalTextureParams_std140 3 "gammaDecodeParams"
+ OpMemberName %tint_ExternalTextureParams_std140 4 "gammaEncodeParams"
+ OpMemberName %tint_ExternalTextureParams_std140 5 "gamutConversionMatrix_col0"
+ OpMemberName %tint_ExternalTextureParams_std140 6 "gamutConversionMatrix_col1"
+ OpMemberName %tint_ExternalTextureParams_std140 7 "gamutConversionMatrix_col2"
+ OpMemberName %tint_ExternalTextureParams_std140 8 "sampleTransform_col0"
+ OpMemberName %tint_ExternalTextureParams_std140 9 "sampleTransform_col1"
+ OpMemberName %tint_ExternalTextureParams_std140 10 "sampleTransform_col2"
+ OpMemberName %tint_ExternalTextureParams_std140 11 "loadTransform_col0"
+ OpMemberName %tint_ExternalTextureParams_std140 12 "loadTransform_col1"
+ OpMemberName %tint_ExternalTextureParams_std140 13 "loadTransform_col2"
+ OpMemberName %tint_ExternalTextureParams_std140 14 "samplePlane0RectMin"
+ OpMemberName %tint_ExternalTextureParams_std140 15 "samplePlane0RectMax"
+ OpMemberName %tint_ExternalTextureParams_std140 16 "samplePlane1RectMin"
+ OpMemberName %tint_ExternalTextureParams_std140 17 "samplePlane1RectMax"
+ OpMemberName %tint_ExternalTextureParams_std140 18 "visibleSize"
+ OpMemberName %tint_ExternalTextureParams_std140 19 "plane1CoordFactor"
+ OpName %tint_ExternalTextureParams_std140 "tint_ExternalTextureParams_std140"
+ OpMemberName %tint_symbol_3_std140 0 "tint_symbol_2"
+ OpName %tint_symbol_3_std140 "tint_symbol_3_std140"
+ OpName %vertex_main_position_Output "vertex_main_position_Output"
+ OpName %vertex_main_loc0_Output "vertex_main_loc0_Output"
+ OpName %vertex_main___point_size_Output "vertex_main___point_size_Output"
+ OpName %textureDimensions_cdc6c9 "textureDimensions_cdc6c9"
+ OpMemberName %tint_ExternalTextureParams 0 "numPlanes"
+ OpMemberName %tint_ExternalTextureParams 1 "doYuvToRgbConversionOnly"
+ OpMemberName %tint_ExternalTextureParams 2 "yuvToRgbConversionMatrix"
+ OpMemberName %tint_ExternalTextureParams 3 "gammaDecodeParams"
+ OpMemberName %tint_ExternalTextureParams 4 "gammaEncodeParams"
+ OpMemberName %tint_ExternalTextureParams 5 "gamutConversionMatrix"
+ OpMemberName %tint_ExternalTextureParams 6 "sampleTransform"
+ OpMemberName %tint_ExternalTextureParams 7 "loadTransform"
+ OpMemberName %tint_ExternalTextureParams 8 "samplePlane0RectMin"
+ OpMemberName %tint_ExternalTextureParams 9 "samplePlane0RectMax"
+ OpMemberName %tint_ExternalTextureParams 10 "samplePlane1RectMin"
+ OpMemberName %tint_ExternalTextureParams 11 "samplePlane1RectMax"
+ OpMemberName %tint_ExternalTextureParams 12 "visibleSize"
+ OpMemberName %tint_ExternalTextureParams 13 "plane1CoordFactor"
+ OpName %tint_ExternalTextureParams "tint_ExternalTextureParams"
+ OpName %res "res"
+ OpName %fragment_main "fragment_main"
+ OpName %compute_main "compute_main"
+ OpName %vertex_main_inner "vertex_main_inner"
+ OpMemberName %VertexOutput 0 "pos"
+ OpMemberName %VertexOutput 1 "prevent_dce"
+ OpName %VertexOutput "VertexOutput"
+ OpName %out "out"
+ OpName %vertex_main "vertex_main"
+ OpName %convert_tint_ExternalTextureParams "convert_tint_ExternalTextureParams"
+ OpName %input "input"
+ OpMemberDecorate %tint_symbol_1 0 Offset 0
+ OpDecorate %tint_symbol_1 Block
+ OpDecorate %1 DescriptorSet 0
+ OpDecorate %1 Binding 0
+ OpDecorate %arg_0_plane0 DescriptorSet 1
+ OpDecorate %arg_0_plane0 Binding 0
+ OpDecorate %arg_0_plane1 DescriptorSet 1
+ OpDecorate %arg_0_plane1 Binding 1
+ OpMemberDecorate %tint_ExternalTextureParams_std140 0 Offset 0
+ OpMemberDecorate %tint_ExternalTextureParams_std140 1 Offset 4
+ OpMemberDecorate %tint_ExternalTextureParams_std140 2 Offset 16
+ OpMemberDecorate %tint_ExternalTextureParams_std140 2 ColMajor
+ OpMemberDecorate %tint_ExternalTextureParams_std140 2 MatrixStride 16
+ OpMemberDecorate %tint_GammaTransferParams 0 Offset 0
+ OpMemberDecorate %tint_GammaTransferParams 1 Offset 4
+ OpMemberDecorate %tint_GammaTransferParams 2 Offset 8
+ OpMemberDecorate %tint_GammaTransferParams 3 Offset 12
+ OpMemberDecorate %tint_GammaTransferParams 4 Offset 16
+ OpMemberDecorate %tint_GammaTransferParams 5 Offset 20
+ OpMemberDecorate %tint_GammaTransferParams 6 Offset 24
+ OpMemberDecorate %tint_GammaTransferParams 7 Offset 28
+ OpMemberDecorate %tint_ExternalTextureParams_std140 3 Offset 64
+ OpMemberDecorate %tint_ExternalTextureParams_std140 4 Offset 96
+ OpMemberDecorate %tint_ExternalTextureParams_std140 5 Offset 128
+ OpMemberDecorate %tint_ExternalTextureParams_std140 6 Offset 144
+ OpMemberDecorate %tint_ExternalTextureParams_std140 7 Offset 160
+ OpMemberDecorate %tint_ExternalTextureParams_std140 8 Offset 176
+ OpMemberDecorate %tint_ExternalTextureParams_std140 9 Offset 184
+ OpMemberDecorate %tint_ExternalTextureParams_std140 10 Offset 192
+ OpMemberDecorate %tint_ExternalTextureParams_std140 11 Offset 200
+ OpMemberDecorate %tint_ExternalTextureParams_std140 12 Offset 208
+ OpMemberDecorate %tint_ExternalTextureParams_std140 13 Offset 216
+ OpMemberDecorate %tint_ExternalTextureParams_std140 14 Offset 224
+ OpMemberDecorate %tint_ExternalTextureParams_std140 15 Offset 232
+ OpMemberDecorate %tint_ExternalTextureParams_std140 16 Offset 240
+ OpMemberDecorate %tint_ExternalTextureParams_std140 17 Offset 248
+ OpMemberDecorate %tint_ExternalTextureParams_std140 18 Offset 256
+ OpMemberDecorate %tint_ExternalTextureParams_std140 19 Offset 264
+ OpMemberDecorate %tint_symbol_3_std140 0 Offset 0
+ OpDecorate %tint_symbol_3_std140 Block
+ OpDecorate %11 DescriptorSet 1
+ OpDecorate %11 Binding 2
+ OpDecorate %11 NonWritable
+ OpDecorate %vertex_main_position_Output BuiltIn Position
+ OpDecorate %vertex_main_loc0_Output Location 0
+ OpDecorate %vertex_main_loc0_Output Flat
+ OpDecorate %vertex_main___point_size_Output BuiltIn PointSize
+ OpMemberDecorate %tint_ExternalTextureParams 0 Offset 0
+ OpMemberDecorate %tint_ExternalTextureParams 1 Offset 4
+ OpMemberDecorate %tint_ExternalTextureParams 2 Offset 16
+ OpMemberDecorate %tint_ExternalTextureParams 2 ColMajor
+ OpMemberDecorate %tint_ExternalTextureParams 2 MatrixStride 16
+ OpMemberDecorate %tint_ExternalTextureParams 3 Offset 64
+ OpMemberDecorate %tint_ExternalTextureParams 4 Offset 96
+ OpMemberDecorate %tint_ExternalTextureParams 5 Offset 128
+ OpMemberDecorate %tint_ExternalTextureParams 5 ColMajor
+ OpMemberDecorate %tint_ExternalTextureParams 5 MatrixStride 16
+ OpMemberDecorate %tint_ExternalTextureParams 6 Offset 176
+ OpMemberDecorate %tint_ExternalTextureParams 6 ColMajor
+ OpMemberDecorate %tint_ExternalTextureParams 6 MatrixStride 8
+ OpMemberDecorate %tint_ExternalTextureParams 7 Offset 200
+ OpMemberDecorate %tint_ExternalTextureParams 7 ColMajor
+ OpMemberDecorate %tint_ExternalTextureParams 7 MatrixStride 8
+ OpMemberDecorate %tint_ExternalTextureParams 8 Offset 224
+ OpMemberDecorate %tint_ExternalTextureParams 9 Offset 232
+ OpMemberDecorate %tint_ExternalTextureParams 10 Offset 240
+ OpMemberDecorate %tint_ExternalTextureParams 11 Offset 248
+ OpMemberDecorate %tint_ExternalTextureParams 12 Offset 256
+ OpMemberDecorate %tint_ExternalTextureParams 13 Offset 264
+ OpMemberDecorate %VertexOutput 0 Offset 0
+ OpMemberDecorate %VertexOutput 1 Offset 16
+ %uint = OpTypeInt 32 0
+ %v2uint = OpTypeVector %uint 2
+%tint_symbol_1 = OpTypeStruct %v2uint
+%_ptr_StorageBuffer_tint_symbol_1 = OpTypePointer StorageBuffer %tint_symbol_1
+ %1 = OpVariable %_ptr_StorageBuffer_tint_symbol_1 StorageBuffer
+ %float = OpTypeFloat 32
+ %8 = OpTypeImage %float 2D 0 0 0 1 Unknown
+%_ptr_UniformConstant_8 = OpTypePointer UniformConstant %8
+%arg_0_plane0 = OpVariable %_ptr_UniformConstant_8 UniformConstant
+%arg_0_plane1 = OpVariable %_ptr_UniformConstant_8 UniformConstant
+ %v4float = OpTypeVector %float 4
+%mat3v4float = OpTypeMatrix %v4float 3
+%tint_GammaTransferParams = OpTypeStruct %float %float %float %float %float %float %float %uint
+ %v3float = OpTypeVector %float 3
+ %v2float = OpTypeVector %float 2
+%tint_ExternalTextureParams_std140 = OpTypeStruct %uint %uint %mat3v4float %tint_GammaTransferParams %tint_GammaTransferParams %v3float %v3float %v3float %v2float %v2float %v2float %v2float %v2float %v2float %v2float %v2float %v2float %v2float %v2uint %v2float
+%tint_symbol_3_std140 = OpTypeStruct %tint_ExternalTextureParams_std140
+%_ptr_Uniform_tint_symbol_3_std140 = OpTypePointer Uniform %tint_symbol_3_std140
+ %11 = OpVariable %_ptr_Uniform_tint_symbol_3_std140 Uniform
+%_ptr_Output_v4float = OpTypePointer Output %v4float
+%vertex_main_position_Output = OpVariable %_ptr_Output_v4float Output
+%_ptr_Output_v2uint = OpTypePointer Output %v2uint
+%vertex_main_loc0_Output = OpVariable %_ptr_Output_v2uint Output
+%_ptr_Output_float = OpTypePointer Output %float
+%vertex_main___point_size_Output = OpVariable %_ptr_Output_float Output
+ %27 = OpTypeFunction %v2uint
+%_ptr_Uniform_tint_ExternalTextureParams_std140 = OpTypePointer Uniform %tint_ExternalTextureParams_std140
+ %uint_0 = OpConstant %uint 0
+%mat3v3float = OpTypeMatrix %v3float 3
+%mat3v2float = OpTypeMatrix %v2float 3
+%tint_ExternalTextureParams = OpTypeStruct %uint %uint %mat3v4float %tint_GammaTransferParams %tint_GammaTransferParams %mat3v3float %mat3v2float %mat3v2float %v2float %v2float %v2float %v2float %v2uint %v2float
+ %uint_1 = OpConstant %uint 1
+ %42 = OpConstantComposite %v2uint %uint_1 %uint_1
+%_ptr_Function_v2uint = OpTypePointer Function %v2uint
+ %void = OpTypeVoid
+ %49 = OpTypeFunction %void
+%_ptr_StorageBuffer_v2uint = OpTypePointer StorageBuffer %v2uint
+%VertexOutput = OpTypeStruct %v4float %v2uint
+ %60 = OpTypeFunction %VertexOutput
+%_ptr_Function_VertexOutput = OpTypePointer Function %VertexOutput
+ %64 = OpConstantNull %VertexOutput
+%_ptr_Function_v4float = OpTypePointer Function %v4float
+ %67 = OpConstantNull %v4float
+ %float_1 = OpConstant %float 1
+ %78 = OpTypeFunction %tint_ExternalTextureParams %tint_ExternalTextureParams_std140
+%textureDimensions_cdc6c9 = OpFunction %v2uint None %27
+ %28 = OpLabel
+ %res = OpVariable %_ptr_Function_v2uint Function
+ %29 = OpLoad %8 %arg_0_plane0
+ %30 = OpLoad %8 %arg_0_plane1
+ %31 = OpAccessChain %_ptr_Uniform_tint_ExternalTextureParams_std140 %11 %uint_0
+ %34 = OpLoad %tint_ExternalTextureParams_std140 %31
+ %35 = OpFunctionCall %tint_ExternalTextureParams %convert_tint_ExternalTextureParams %34
+ %40 = OpCompositeExtract %v2uint %35 12
+ %41 = OpIAdd %v2uint %40 %42
+ OpStore %res %41
+ %46 = OpLoad %v2uint %res
+ OpReturnValue %46
+ OpFunctionEnd
+%fragment_main = OpFunction %void None %49
+ %50 = OpLabel
+ %51 = OpFunctionCall %v2uint %textureDimensions_cdc6c9
+ %52 = OpAccessChain %_ptr_StorageBuffer_v2uint %1 %uint_0
+ OpStore %52 %51
+ OpReturn
+ OpFunctionEnd
+%compute_main = OpFunction %void None %49
+ %55 = OpLabel
+ %56 = OpFunctionCall %v2uint %textureDimensions_cdc6c9
+ %57 = OpAccessChain %_ptr_StorageBuffer_v2uint %1 %uint_0
+ OpStore %57 %56
+ OpReturn
+ OpFunctionEnd
+%vertex_main_inner = OpFunction %VertexOutput None %60
+ %61 = OpLabel
+ %out = OpVariable %_ptr_Function_VertexOutput Function %64
+ %65 = OpAccessChain %_ptr_Function_v4float %out %uint_0
+ OpStore %65 %67
+ %68 = OpAccessChain %_ptr_Function_v2uint %out %uint_1
+ %69 = OpFunctionCall %v2uint %textureDimensions_cdc6c9
+ OpStore %68 %69
+ %70 = OpLoad %VertexOutput %out
+ OpReturnValue %70
+ OpFunctionEnd
+%vertex_main = OpFunction %void None %49
+ %72 = OpLabel
+ %73 = OpFunctionCall %VertexOutput %vertex_main_inner
+ %74 = OpCompositeExtract %v4float %73 0
+ OpStore %vertex_main_position_Output %74
+ %75 = OpCompositeExtract %v2uint %73 1
+ OpStore %vertex_main_loc0_Output %75
+ OpStore %vertex_main___point_size_Output %float_1
+ OpReturn
+ OpFunctionEnd
+%convert_tint_ExternalTextureParams = OpFunction %tint_ExternalTextureParams None %78
+ %input = OpFunctionParameter %tint_ExternalTextureParams_std140
+ %79 = OpLabel
+ %80 = OpCompositeExtract %uint %input 0
+ %81 = OpCompositeExtract %uint %input 1
+ %82 = OpCompositeExtract %mat3v4float %input 2
+ %83 = OpCompositeExtract %tint_GammaTransferParams %input 3
+ %84 = OpCompositeExtract %tint_GammaTransferParams %input 4
+ %85 = OpCompositeExtract %v3float %input 5
+ %86 = OpCompositeExtract %v3float %input 6
+ %87 = OpCompositeExtract %v3float %input 7
+ %88 = OpCompositeConstruct %mat3v3float %85 %86 %87
+ %89 = OpCompositeExtract %v2float %input 8
+ %90 = OpCompositeExtract %v2float %input 9
+ %91 = OpCompositeExtract %v2float %input 10
+ %92 = OpCompositeConstruct %mat3v2float %89 %90 %91
+ %93 = OpCompositeExtract %v2float %input 11
+ %94 = OpCompositeExtract %v2float %input 12
+ %95 = OpCompositeExtract %v2float %input 13
+ %96 = OpCompositeConstruct %mat3v2float %93 %94 %95
+ %97 = OpCompositeExtract %v2float %input 14
+ %98 = OpCompositeExtract %v2float %input 15
+ %99 = OpCompositeExtract %v2float %input 16
+ %100 = OpCompositeExtract %v2float %input 17
+ %101 = OpCompositeExtract %v2uint %input 18
+ %102 = OpCompositeExtract %v2float %input 19
+ %103 = OpCompositeConstruct %tint_ExternalTextureParams %80 %81 %82 %83 %84 %88 %92 %96 %97 %98 %99 %100 %101 %102
+ OpReturnValue %103
+ OpFunctionEnd