|
| 1 | + OpCapability Shader |
| 2 | + OpMemoryModel Logical GLSL450 |
| 3 | + OpEntryPoint Vertex %VSMain "main" %gl_VertexIndex %gl_Position |
| 4 | + OpSource HLSL 600 |
| 5 | + OpName %type_Float2Array "type.Float2Array" |
| 6 | + OpMemberName %type_Float2Array 0 "arr" |
| 7 | + OpName %Float2Array "Float2Array" |
| 8 | + OpName %VSMain "VSMain" |
| 9 | + OpName %param_var_i "param.var.i" |
| 10 | + OpName %src_VSMain "src.VSMain" |
| 11 | + OpName %i "i" |
| 12 | + OpName %bb_entry "bb.entry" |
| 13 | + OpDecorate %gl_VertexIndex BuiltIn VertexIndex |
| 14 | + OpDecorate %gl_Position BuiltIn Position |
| 15 | + OpDecorate %Float2Array DescriptorSet 0 |
| 16 | + OpDecorate %Float2Array Binding 0 |
| 17 | + OpDecorate %_arr_v2float_uint_3 ArrayStride 16 |
| 18 | + OpMemberDecorate %type_Float2Array 0 Offset 0 |
| 19 | + OpDecorate %type_Float2Array Block |
| 20 | + %int = OpTypeInt 32 1 |
| 21 | + %int_0 = OpConstant %int 0 |
| 22 | + %float = OpTypeFloat 32 |
| 23 | + %float_0 = OpConstant %float 0 |
| 24 | + %float_1 = OpConstant %float 1 |
| 25 | + %uint = OpTypeInt 32 0 |
| 26 | + %uint_3 = OpConstant %uint 3 |
| 27 | + %v2float = OpTypeVector %float 2 |
| 28 | +%_arr_v2float_uint_3 = OpTypeArray %v2float %uint_3 |
| 29 | +%type_Float2Array = OpTypeStruct %_arr_v2float_uint_3 |
| 30 | +%_ptr_Uniform_type_Float2Array = OpTypePointer Uniform %type_Float2Array |
| 31 | +%_ptr_Input_uint = OpTypePointer Input %uint |
| 32 | + %v4float = OpTypeVector %float 4 |
| 33 | +%_ptr_Output_v4float = OpTypePointer Output %v4float |
| 34 | + %void = OpTypeVoid |
| 35 | + %20 = OpTypeFunction %void |
| 36 | +%_ptr_Function_uint = OpTypePointer Function %uint |
| 37 | + %27 = OpTypeFunction %v4float %_ptr_Function_uint |
| 38 | +%_ptr_Uniform__arr_v2float_uint_3 = OpTypePointer Uniform %_arr_v2float_uint_3 |
| 39 | +%_ptr_Uniform_v2float = OpTypePointer Uniform %v2float |
| 40 | +%Float2Array = OpVariable %_ptr_Uniform_type_Float2Array Uniform |
| 41 | +%gl_VertexIndex = OpVariable %_ptr_Input_uint Input |
| 42 | +%gl_Position = OpVariable %_ptr_Output_v4float Output |
| 43 | + %VSMain = OpFunction %void None %20 |
| 44 | + %21 = OpLabel |
| 45 | +%param_var_i = OpVariable %_ptr_Function_uint Function |
| 46 | + %24 = OpLoad %uint %gl_VertexIndex |
| 47 | + OpStore %param_var_i %24 |
| 48 | + %25 = OpFunctionCall %v4float %src_VSMain %param_var_i |
| 49 | + OpStore %gl_Position %25 |
| 50 | + OpReturn |
| 51 | + OpFunctionEnd |
| 52 | + %src_VSMain = OpFunction %v4float None %27 |
| 53 | + %i = OpFunctionParameter %_ptr_Function_uint |
| 54 | + %bb_entry = OpLabel |
| 55 | + %30 = OpLoad %uint %i |
| 56 | + %32 = OpAccessChain %_ptr_Uniform__arr_v2float_uint_3 %Float2Array %int_0 |
| 57 | + %34 = OpAccessChain %_ptr_Uniform_v2float %32 %30 |
| 58 | + %35 = OpLoad %v2float %34 |
| 59 | + %36 = OpCompositeExtract %float %35 0 |
| 60 | + %37 = OpCompositeExtract %float %35 1 |
| 61 | + %38 = OpCompositeConstruct %v4float %36 %37 %float_0 %float_1 |
| 62 | + OpReturnValue %38 |
| 63 | + OpFunctionEnd |
0 commit comments