blob: fc3f326bc4cd3811d98c96579a683c662d3a44da [file] [log] [blame]
Ben Claytonda5424b2022-10-24 23:58:53 +00001; SPIR-V
2; Version: 1.3
3; Generator: Google Tint Compiler; 0
Natalie Chouinarde9027182024-06-13 18:50:19 +00004; Bound: 59
Ben Claytonda5424b2022-10-24 23:58:53 +00005; Schema: 0
6 OpCapability Shader
7 OpMemoryModel Logical GLSL450
Ben Claytonda5424b2022-10-24 23:58:53 +00008 OpEntryPoint Fragment %fragment_main "fragment_main"
9 OpEntryPoint GLCompute %compute_main "compute_main"
Natalie Chouinarde9027182024-06-13 18:50:19 +000010 OpEntryPoint Vertex %vertex_main "vertex_main" %pos_1 %prevent_dce_1 %vertex_point_size
Ben Claytonda5424b2022-10-24 23:58:53 +000011 OpExecutionMode %fragment_main OriginUpperLeft
12 OpExecutionMode %compute_main LocalSize 1 1 1
Natalie Chouinarde9027182024-06-13 18:50:19 +000013 OpName %pos_1 "pos_1"
14 OpName %prevent_dce_1 "prevent_dce_1"
Ben Claytonda5424b2022-10-24 23:58:53 +000015 OpName %vertex_point_size "vertex_point_size"
16 OpName %arg_0 "arg_0"
Ben Clayton77a90cb2023-03-06 18:25:08 +000017 OpName %prevent_dce_block "prevent_dce_block"
18 OpMemberName %prevent_dce_block 0 "inner"
19 OpName %prevent_dce "prevent_dce"
Ben Claytonda5424b2022-10-24 23:58:53 +000020 OpName %textureLoad_9ed19e "textureLoad_9ed19e"
21 OpName %res "res"
Ben Claytonda5424b2022-10-24 23:58:53 +000022 OpName %fragment_main "fragment_main"
23 OpName %compute_main "compute_main"
Natalie Chouinarde9027182024-06-13 18:50:19 +000024 OpName %VertexOutput "VertexOutput"
25 OpMemberName %VertexOutput 0 "pos"
26 OpMemberName %VertexOutput 1 "prevent_dce"
27 OpName %vertex_main_inner "vertex_main_inner"
28 OpName %out "out"
29 OpName %vertex_main "vertex_main"
30 OpDecorate %pos_1 BuiltIn Position
31 OpDecorate %prevent_dce_1 Location 0
32 OpDecorate %prevent_dce_1 Flat
Ben Claytonda5424b2022-10-24 23:58:53 +000033 OpDecorate %vertex_point_size BuiltIn PointSize
34 OpDecorate %arg_0 DescriptorSet 1
35 OpDecorate %arg_0 Binding 0
Ben Clayton77a90cb2023-03-06 18:25:08 +000036 OpDecorate %prevent_dce_block Block
37 OpMemberDecorate %prevent_dce_block 0 Offset 0
Natalie Chouinarde9027182024-06-13 18:50:19 +000038 OpDecorate %prevent_dce DescriptorSet 0
Ben Clayton77a90cb2023-03-06 18:25:08 +000039 OpDecorate %prevent_dce Binding 0
Natalie Chouinarde9027182024-06-13 18:50:19 +000040 OpMemberDecorate %VertexOutput 0 Offset 0
41 OpMemberDecorate %VertexOutput 1 Offset 16
Ben Claytonda5424b2022-10-24 23:58:53 +000042 %float = OpTypeFloat 32
43 %v4float = OpTypeVector %float 4
44%_ptr_Output_v4float = OpTypePointer Output %v4float
45 %5 = OpConstantNull %v4float
Natalie Chouinarde9027182024-06-13 18:50:19 +000046 %pos_1 = OpVariable %_ptr_Output_v4float Output %5
Ben Claytonda5424b2022-10-24 23:58:53 +000047%_ptr_Output_float = OpTypePointer Output %float
48 %8 = OpConstantNull %float
Natalie Chouinarde9027182024-06-13 18:50:19 +000049%prevent_dce_1 = OpVariable %_ptr_Output_float Output %8
Ben Claytonda5424b2022-10-24 23:58:53 +000050%vertex_point_size = OpVariable %_ptr_Output_float Output %8
Natalie Chouinarde9027182024-06-13 18:50:19 +000051 %12 = OpTypeImage %float 2D 0 0 0 1 Unknown
52%_ptr_UniformConstant_12 = OpTypePointer UniformConstant %12
53 %arg_0 = OpVariable %_ptr_UniformConstant_12 UniformConstant
Ben Clayton77a90cb2023-03-06 18:25:08 +000054%prevent_dce_block = OpTypeStruct %float
55%_ptr_StorageBuffer_prevent_dce_block = OpTypePointer StorageBuffer %prevent_dce_block
56%prevent_dce = OpVariable %_ptr_StorageBuffer_prevent_dce_block StorageBuffer
Natalie Chouinarde9027182024-06-13 18:50:19 +000057 %16 = OpTypeFunction %float
Ben Claytonda5424b2022-10-24 23:58:53 +000058 %uint = OpTypeInt 32 0
59 %v2uint = OpTypeVector %uint 2
Ben Claytonda5424b2022-10-24 23:58:53 +000060 %uint_1 = OpConstant %uint 1
Ben Clayton77a90cb2023-03-06 18:25:08 +000061 %25 = OpConstantComposite %v2uint %uint_1 %uint_1
Ben Claytonda5424b2022-10-24 23:58:53 +000062%_ptr_Function_float = OpTypePointer Function %float
Natalie Chouinarde9027182024-06-13 18:50:19 +000063 %void = OpTypeVoid
64 %29 = OpTypeFunction %void
Ben Clayton77a90cb2023-03-06 18:25:08 +000065 %uint_0 = OpConstant %uint 0
66%_ptr_StorageBuffer_float = OpTypePointer StorageBuffer %float
Natalie Chouinarde9027182024-06-13 18:50:19 +000067%VertexOutput = OpTypeStruct %v4float %float
68 %41 = OpTypeFunction %VertexOutput
69%_ptr_Function_VertexOutput = OpTypePointer Function %VertexOutput
70 %47 = OpConstantNull %VertexOutput
71%_ptr_Function_v4float = OpTypePointer Function %v4float
Ben Claytonda5424b2022-10-24 23:58:53 +000072 %float_1 = OpConstant %float 1
Natalie Chouinarde9027182024-06-13 18:50:19 +000073%textureLoad_9ed19e = OpFunction %float None %16
Ben Clayton77a90cb2023-03-06 18:25:08 +000074 %18 = OpLabel
Ben Claytonda5424b2022-10-24 23:58:53 +000075 %res = OpVariable %_ptr_Function_float Function %8
Natalie Chouinarde9027182024-06-13 18:50:19 +000076 %21 = OpLoad %12 %arg_0
Ben Clayton77a90cb2023-03-06 18:25:08 +000077 %20 = OpImageFetch %v4float %21 %25 Lod %uint_1
78 %19 = OpCompositeExtract %float %20 0
79 OpStore %res %19
Natalie Chouinarde9027182024-06-13 18:50:19 +000080 %28 = OpLoad %float %res
81 OpReturnValue %28
82 OpFunctionEnd
83%fragment_main = OpFunction %void None %29
84 %32 = OpLabel
85 %35 = OpAccessChain %_ptr_StorageBuffer_float %prevent_dce %uint_0
86 %36 = OpFunctionCall %float %textureLoad_9ed19e
87 OpStore %35 %36
Ben Claytonda5424b2022-10-24 23:58:53 +000088 OpReturn
89 OpFunctionEnd
Natalie Chouinarde9027182024-06-13 18:50:19 +000090%compute_main = OpFunction %void None %29
91 %38 = OpLabel
92 %39 = OpAccessChain %_ptr_StorageBuffer_float %prevent_dce %uint_0
93 %40 = OpFunctionCall %float %textureLoad_9ed19e
94 OpStore %39 %40
Ben Claytonda5424b2022-10-24 23:58:53 +000095 OpReturn
96 OpFunctionEnd
Natalie Chouinarde9027182024-06-13 18:50:19 +000097%vertex_main_inner = OpFunction %VertexOutput None %41
Ben Clayton77a90cb2023-03-06 18:25:08 +000098 %44 = OpLabel
Natalie Chouinarde9027182024-06-13 18:50:19 +000099 %out = OpVariable %_ptr_Function_VertexOutput Function %47
100 %49 = OpAccessChain %_ptr_Function_v4float %out %uint_0
101 OpStore %49 %5
102 %50 = OpAccessChain %_ptr_Function_float %out %uint_1
103 %51 = OpFunctionCall %float %textureLoad_9ed19e
104 OpStore %50 %51
105 %52 = OpLoad %VertexOutput %out
106 OpReturnValue %52
107 OpFunctionEnd
108%vertex_main = OpFunction %void None %29
109 %54 = OpLabel
110 %55 = OpFunctionCall %VertexOutput %vertex_main_inner
111 %56 = OpCompositeExtract %v4float %55 0
112 OpStore %pos_1 %56
113 %57 = OpCompositeExtract %float %55 1
114 OpStore %prevent_dce_1 %57
115 OpStore %vertex_point_size %float_1
Ben Claytonda5424b2022-10-24 23:58:53 +0000116 OpReturn
117 OpFunctionEnd