blob: 897421e0e15dfd0c05ef491be88393f73c38282d [file] [log] [blame]
James Pricebb0496e2021-06-03 09:38:34 +00001; SPIR-V
2; Version: 1.3
3; Generator: Google Tint Compiler; 0
Ben Clayton8e348522022-06-01 15:57:22 +00004; Bound: 47
James Pricebb0496e2021-06-03 09:38:34 +00005; Schema: 0
6 OpCapability Shader
7 OpMemoryModel Logical GLSL450
James Price11c6fcd2021-08-05 17:34:19 +00008 OpEntryPoint Fragment %main "main" %loc0_1 %frag_depth_1 %loc1_1 %loc2_1 %sample_mask_1 %loc3_1
James Pricebb0496e2021-06-03 09:38:34 +00009 OpExecutionMode %main OriginUpperLeft
10 OpExecutionMode %main DepthReplacing
James Price11c6fcd2021-08-05 17:34:19 +000011 OpName %loc0_1 "loc0_1"
12 OpName %frag_depth_1 "frag_depth_1"
13 OpName %loc1_1 "loc1_1"
14 OpName %loc2_1 "loc2_1"
15 OpName %sample_mask_1 "sample_mask_1"
16 OpName %loc3_1 "loc3_1"
James Pricebb0496e2021-06-03 09:38:34 +000017 OpName %FragmentOutputs "FragmentOutputs"
18 OpMemberName %FragmentOutputs 0 "loc0"
19 OpMemberName %FragmentOutputs 1 "frag_depth"
20 OpMemberName %FragmentOutputs 2 "loc1"
21 OpMemberName %FragmentOutputs 3 "loc2"
22 OpMemberName %FragmentOutputs 4 "sample_mask"
23 OpMemberName %FragmentOutputs 5 "loc3"
James Price11c6fcd2021-08-05 17:34:19 +000024 OpName %main_inner "main_inner"
James Pricebb0496e2021-06-03 09:38:34 +000025 OpName %main "main"
James Price11c6fcd2021-08-05 17:34:19 +000026 OpDecorate %loc0_1 Location 0
27 OpDecorate %frag_depth_1 BuiltIn FragDepth
28 OpDecorate %loc1_1 Location 1
29 OpDecorate %loc2_1 Location 2
James Pricebb0496e2021-06-03 09:38:34 +000030 OpDecorate %_arr_uint_uint_1 ArrayStride 4
James Price11c6fcd2021-08-05 17:34:19 +000031 OpDecorate %sample_mask_1 BuiltIn SampleMask
32 OpDecorate %loc3_1 Location 3
James Pricebb0496e2021-06-03 09:38:34 +000033 OpMemberDecorate %FragmentOutputs 0 Offset 0
34 OpMemberDecorate %FragmentOutputs 1 Offset 4
35 OpMemberDecorate %FragmentOutputs 2 Offset 8
36 OpMemberDecorate %FragmentOutputs 3 Offset 12
37 OpMemberDecorate %FragmentOutputs 4 Offset 16
38 OpMemberDecorate %FragmentOutputs 5 Offset 32
39 %int = OpTypeInt 32 1
40%_ptr_Output_int = OpTypePointer Output %int
41 %4 = OpConstantNull %int
James Price11c6fcd2021-08-05 17:34:19 +000042 %loc0_1 = OpVariable %_ptr_Output_int Output %4
James Pricebb0496e2021-06-03 09:38:34 +000043 %float = OpTypeFloat 32
44%_ptr_Output_float = OpTypePointer Output %float
45 %8 = OpConstantNull %float
James Price11c6fcd2021-08-05 17:34:19 +000046%frag_depth_1 = OpVariable %_ptr_Output_float Output %8
James Pricebb0496e2021-06-03 09:38:34 +000047 %uint = OpTypeInt 32 0
48%_ptr_Output_uint = OpTypePointer Output %uint
49 %12 = OpConstantNull %uint
James Price11c6fcd2021-08-05 17:34:19 +000050 %loc1_1 = OpVariable %_ptr_Output_uint Output %12
51 %loc2_1 = OpVariable %_ptr_Output_float Output %8
James Pricebb0496e2021-06-03 09:38:34 +000052 %uint_1 = OpConstant %uint 1
53%_arr_uint_uint_1 = OpTypeArray %uint %uint_1
54%_ptr_Output__arr_uint_uint_1 = OpTypePointer Output %_arr_uint_uint_1
55 %18 = OpConstantNull %_arr_uint_uint_1
James Price11c6fcd2021-08-05 17:34:19 +000056%sample_mask_1 = OpVariable %_ptr_Output__arr_uint_uint_1 Output %18
James Pricebb0496e2021-06-03 09:38:34 +000057 %v4float = OpTypeVector %float 4
58%_ptr_Output_v4float = OpTypePointer Output %v4float
59 %22 = OpConstantNull %v4float
James Price11c6fcd2021-08-05 17:34:19 +000060 %loc3_1 = OpVariable %_ptr_Output_v4float Output %22
James Pricebb0496e2021-06-03 09:38:34 +000061%FragmentOutputs = OpTypeStruct %int %float %uint %float %uint %v4float
James Price11c6fcd2021-08-05 17:34:19 +000062 %23 = OpTypeFunction %FragmentOutputs
James Pricebb0496e2021-06-03 09:38:34 +000063 %int_1 = OpConstant %int 1
64 %float_2 = OpConstant %float 2
65 %float_1 = OpConstant %float 1
66 %uint_2 = OpConstant %uint 2
67 %float_3 = OpConstant %float 3
68 %float_4 = OpConstant %float 4
James Price11c6fcd2021-08-05 17:34:19 +000069 %33 = OpConstantComposite %v4float %float_1 %float_2 %float_3 %float_4
70 %34 = OpConstantComposite %FragmentOutputs %int_1 %float_2 %uint_1 %float_1 %uint_2 %33
71 %void = OpTypeVoid
72 %35 = OpTypeFunction %void
James Price11c6fcd2021-08-05 17:34:19 +000073 %main_inner = OpFunction %FragmentOutputs None %23
74 %26 = OpLabel
75 OpReturnValue %34
James Pricebb0496e2021-06-03 09:38:34 +000076 OpFunctionEnd
James Price11c6fcd2021-08-05 17:34:19 +000077 %main = OpFunction %void None %35
78 %38 = OpLabel
79 %39 = OpFunctionCall %FragmentOutputs %main_inner
80 %40 = OpCompositeExtract %int %39 0
81 OpStore %loc0_1 %40
82 %41 = OpCompositeExtract %float %39 1
83 OpStore %frag_depth_1 %41
84 %42 = OpCompositeExtract %uint %39 2
85 OpStore %loc1_1 %42
86 %43 = OpCompositeExtract %float %39 3
87 OpStore %loc2_1 %43
Ben Clayton8e348522022-06-01 15:57:22 +000088 %44 = OpAccessChain %_ptr_Output_uint %sample_mask_1 %4
89 %45 = OpCompositeExtract %uint %39 4
90 OpStore %44 %45
91 %46 = OpCompositeExtract %v4float %39 5
92 OpStore %loc3_1 %46
James Pricebb0496e2021-06-03 09:38:34 +000093 OpReturn
94 OpFunctionEnd