• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1; SPIR-V
2; Version: 1.0
3; Generator: Khronos Glslang Reference Front End; 7
4; Bound: 79
5; Schema: 0
6               OpCapability Shader
7          %1 = OpExtInstImport "GLSL.std.450"
8               OpMemoryModel Logical GLSL450
9               OpEntryPoint Vertex %VS "main" %PosL_1 %instanceID_1 %_entryPointOutput_Position %_entryPointOutput_Color
10               OpSource HLSL 500
11               OpName %VS "VS"
12               OpName %V2F "V2F"
13               OpMemberName %V2F 0 "Position"
14               OpMemberName %V2F 1 "Color"
15               OpName %_VS_vf3_u1_ "@VS(vf3;u1;"
16               OpName %PosL "PosL"
17               OpName %instanceID "instanceID"
18               OpName %InstanceData "InstanceData"
19               OpMemberName %InstanceData 0 "MATRIX_MVP"
20               OpMemberName %InstanceData 1 "Color"
21               OpName %instData "instData"
22               OpName %InstanceData_0 "InstanceData"
23               OpMemberName %InstanceData_0 0 "MATRIX_MVP"
24               OpMemberName %InstanceData_0 1 "Color"
25               OpName %gInstanceData "gInstanceData"
26               OpMemberName %gInstanceData 0 "@data"
27               OpName %gInstanceData_0 "gInstanceData"
28               OpName %v2f "v2f"
29               OpName %PosL_0 "PosL"
30               OpName %PosL_1 "PosL"
31               OpName %instanceID_0 "instanceID"
32               OpName %instanceID_1 "instanceID"
33               OpName %flattenTemp "flattenTemp"
34               OpName %param "param"
35               OpName %param_0 "param"
36               OpName %_entryPointOutput_Position "@entryPointOutput.Position"
37               OpName %_entryPointOutput_Color "@entryPointOutput.Color"
38               OpMemberDecorate %InstanceData_0 0 RowMajor
39               OpMemberDecorate %InstanceData_0 0 Offset 0
40               OpMemberDecorate %InstanceData_0 0 MatrixStride 16
41               OpMemberDecorate %InstanceData_0 1 Offset 64
42               OpDecorate %_runtimearr_InstanceData_0 ArrayStride 80
43               OpMemberDecorate %gInstanceData 0 NonWritable
44               OpMemberDecorate %gInstanceData 0 Offset 0
45               OpDecorate %gInstanceData BufferBlock
46               OpDecorate %gInstanceData_0 DescriptorSet 1
47               OpDecorate %gInstanceData_0 Binding 0
48               OpDecorate %PosL_1 Location 0
49               OpDecorate %instanceID_1 BuiltIn InstanceIndex
50               OpDecorate %_entryPointOutput_Position BuiltIn Position
51               OpDecorate %_entryPointOutput_Color Location 0
52       %void = OpTypeVoid
53          %3 = OpTypeFunction %void
54      %float = OpTypeFloat 32
55    %v3float = OpTypeVector %float 3
56%_ptr_Function_v3float = OpTypePointer Function %v3float
57       %uint = OpTypeInt 32 0
58%_ptr_Function_uint = OpTypePointer Function %uint
59    %v4float = OpTypeVector %float 4
60        %V2F = OpTypeStruct %v4float %v4float
61         %13 = OpTypeFunction %V2F %_ptr_Function_v3float %_ptr_Function_uint
62%mat4v4float = OpTypeMatrix %v4float 4
63%InstanceData = OpTypeStruct %mat4v4float %v4float
64%_ptr_Function_InstanceData = OpTypePointer Function %InstanceData
65%InstanceData_0 = OpTypeStruct %mat4v4float %v4float
66%_runtimearr_InstanceData_0 = OpTypeRuntimeArray %InstanceData_0
67%gInstanceData = OpTypeStruct %_runtimearr_InstanceData_0
68%_ptr_Uniform_gInstanceData = OpTypePointer Uniform %gInstanceData
69%gInstanceData_0 = OpVariable %_ptr_Uniform_gInstanceData Uniform
70        %int = OpTypeInt 32 1
71      %int_0 = OpConstant %int 0
72%_ptr_Uniform_InstanceData_0 = OpTypePointer Uniform %InstanceData_0
73%_ptr_Function_mat4v4float = OpTypePointer Function %mat4v4float
74      %int_1 = OpConstant %int 1
75%_ptr_Function_v4float = OpTypePointer Function %v4float
76%_ptr_Function_V2F = OpTypePointer Function %V2F
77    %float_1 = OpConstant %float 1
78%_ptr_Input_v3float = OpTypePointer Input %v3float
79     %PosL_1 = OpVariable %_ptr_Input_v3float Input
80%_ptr_Input_uint = OpTypePointer Input %uint
81%instanceID_1 = OpVariable %_ptr_Input_uint Input
82%_ptr_Output_v4float = OpTypePointer Output %v4float
83%_entryPointOutput_Position = OpVariable %_ptr_Output_v4float Output
84%_entryPointOutput_Color = OpVariable %_ptr_Output_v4float Output
85         %VS = OpFunction %void None %3
86          %5 = OpLabel
87     %PosL_0 = OpVariable %_ptr_Function_v3float Function
88%instanceID_0 = OpVariable %_ptr_Function_uint Function
89%flattenTemp = OpVariable %_ptr_Function_V2F Function
90      %param = OpVariable %_ptr_Function_v3float Function
91    %param_0 = OpVariable %_ptr_Function_uint Function
92         %61 = OpLoad %v3float %PosL_1
93               OpStore %PosL_0 %61
94         %65 = OpLoad %uint %instanceID_1
95               OpStore %instanceID_0 %65
96         %68 = OpLoad %v3float %PosL_0
97               OpStore %param %68
98         %70 = OpLoad %uint %instanceID_0
99               OpStore %param_0 %70
100         %71 = OpFunctionCall %V2F %_VS_vf3_u1_ %param %param_0
101               OpStore %flattenTemp %71
102         %74 = OpAccessChain %_ptr_Function_v4float %flattenTemp %int_0
103         %75 = OpLoad %v4float %74
104               OpStore %_entryPointOutput_Position %75
105         %77 = OpAccessChain %_ptr_Function_v4float %flattenTemp %int_1
106         %78 = OpLoad %v4float %77
107               OpStore %_entryPointOutput_Color %78
108               OpReturn
109               OpFunctionEnd
110%_VS_vf3_u1_ = OpFunction %V2F None %13
111       %PosL = OpFunctionParameter %_ptr_Function_v3float
112 %instanceID = OpFunctionParameter %_ptr_Function_uint
113         %17 = OpLabel
114   %instData = OpVariable %_ptr_Function_InstanceData Function
115        %v2f = OpVariable %_ptr_Function_V2F Function
116         %29 = OpLoad %uint %instanceID
117         %31 = OpAccessChain %_ptr_Uniform_InstanceData_0 %gInstanceData_0 %int_0 %29
118         %32 = OpLoad %InstanceData_0 %31
119         %33 = OpCompositeExtract %mat4v4float %32 0
120         %35 = OpAccessChain %_ptr_Function_mat4v4float %instData %int_0
121               OpStore %35 %33
122         %36 = OpCompositeExtract %v4float %32 1
123         %39 = OpAccessChain %_ptr_Function_v4float %instData %int_1
124               OpStore %39 %36
125         %42 = OpAccessChain %_ptr_Function_mat4v4float %instData %int_0
126         %43 = OpLoad %mat4v4float %42
127         %44 = OpLoad %v3float %PosL
128         %46 = OpCompositeExtract %float %44 0
129         %47 = OpCompositeExtract %float %44 1
130         %48 = OpCompositeExtract %float %44 2
131         %49 = OpCompositeConstruct %v4float %46 %47 %48 %float_1
132         %50 = OpMatrixTimesVector %v4float %43 %49
133         %51 = OpAccessChain %_ptr_Function_v4float %v2f %int_0
134               OpStore %51 %50
135         %52 = OpAccessChain %_ptr_Function_v4float %instData %int_1
136         %53 = OpLoad %v4float %52
137         %54 = OpAccessChain %_ptr_Function_v4float %v2f %int_1
138               OpStore %54 %53
139         %55 = OpLoad %V2F %v2f
140               OpReturnValue %55
141               OpFunctionEnd
142