| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- // Run: %dxc -T vs_6_0 -E main
- // There is no interface variable for VSIn or VSOut empty structs (See OpEntryPoint below).
- struct VSIn {};
- struct VSOut {};
- VSOut main(VSIn input)
- {
- VSOut result;
- return result;
- }
- // CHECK-WHOLE-SPIR-V:
- // OpCapability Shader
- // OpMemoryModel Logical GLSL450
- // OpEntryPoint Vertex %main "main" %gl_PerVertexOut
- // OpName %bb_entry "bb.entry"
- // OpName %src_main "src.main"
- // OpName %main "main"
- // OpName %type_gl_PerVertex "type.gl_PerVertex"
- // OpName %gl_PerVertexOut "gl_PerVertexOut"
- // OpName %VSIn "VSIn"
- // OpName %param_var_input "param.var.input"
- // OpName %input "input"
- // OpName %result "result"
- // OpMemberDecorate %type_gl_PerVertex 0 BuiltIn Position
- // OpMemberDecorate %type_gl_PerVertex 1 BuiltIn PointSize
- // OpMemberDecorate %type_gl_PerVertex 2 BuiltIn ClipDistance
- // OpMemberDecorate %type_gl_PerVertex 3 BuiltIn CullDistance
- // OpDecorate %type_gl_PerVertex Block
- // %void = OpTypeVoid
- // %3 = OpTypeFunction %void
- // %float = OpTypeFloat 32
- // %v4float = OpTypeVector %float 4
- // %uint = OpTypeInt 32 0
- // %uint_1 = OpConstant %uint 1
- // %_arr_float_uint_1 = OpTypeArray %float %uint_1
- // %type_gl_PerVertex = OpTypeStruct %v4float %float %_arr_float_uint_1 %_arr_float_uint_1
- // %_ptr_Output_type_gl_PerVertex = OpTypePointer Output %type_gl_PerVertex
- // %VSIn = OpTypeStruct
- // %_ptr_Function_VSIn = OpTypePointer Function %VSIn
- // %19 = OpTypeFunction %VSIn %_ptr_Function_VSIn
- // %gl_PerVertexOut = OpVariable %_ptr_Output_type_gl_PerVertex Output
- // %main = OpFunction %void None %3
- // %13 = OpLabel
- // %param_var_input = OpVariable %_ptr_Function_VSIn Function
- // %17 = OpCompositeConstruct %VSIn
- // OpStore %param_var_input %17
- // %18 = OpFunctionCall %VSIn %src_main %param_var_input
- // OpReturn
- // OpFunctionEnd
- // %src_main = OpFunction %VSIn None %19
- // %input = OpFunctionParameter %_ptr_Function_VSIn
- // %bb_entry = OpLabel
- // %result = OpVariable %_ptr_Function_VSIn Function
- // %23 = OpLoad %VSIn %result
- // OpReturnValue %23
- // OpFunctionEnd
|