1struct V2F
2{
3    float4 Position;
4    float4 Color;
5};
6
7struct InstanceData
8{
9    column_major float4x4 MATRIX_MVP;
10    float4 Color;
11};
12
13cbuffer gInstanceData : register(b0)
14{
15    InstanceData gInstanceData_1_data[32] : packoffset(c0);
16};
17
18
19static float4 gl_Position;
20static int gl_InstanceIndex;
21static float3 PosL;
22static float4 _entryPointOutput_Color;
23
24struct SPIRV_Cross_Input
25{
26    float3 PosL : TEXCOORD0;
27    uint gl_InstanceIndex : SV_InstanceID;
28};
29
30struct SPIRV_Cross_Output
31{
32    float4 _entryPointOutput_Color : TEXCOORD0;
33    float4 gl_Position : SV_Position;
34};
35
36V2F _VS(float3 PosL_1, uint instanceID)
37{
38    InstanceData instData;
39    instData.MATRIX_MVP = gInstanceData_1_data[instanceID].MATRIX_MVP;
40    instData.Color = gInstanceData_1_data[instanceID].Color;
41    V2F v2f;
42    v2f.Position = mul(float4(PosL_1, 1.0f), instData.MATRIX_MVP);
43    v2f.Color = instData.Color;
44    return v2f;
45}
46
47void vert_main()
48{
49    float3 PosL_1 = PosL;
50    uint instanceID = uint(gl_InstanceIndex);
51    float3 param = PosL_1;
52    uint param_1 = instanceID;
53    V2F flattenTemp = _VS(param, param_1);
54    gl_Position = flattenTemp.Position;
55    _entryPointOutput_Color = flattenTemp.Color;
56}
57
58SPIRV_Cross_Output main(SPIRV_Cross_Input stage_input)
59{
60    gl_InstanceIndex = int(stage_input.gl_InstanceIndex);
61    PosL = stage_input.PosL;
62    vert_main();
63    SPIRV_Cross_Output stage_output;
64    stage_output.gl_Position = gl_Position;
65    stage_output._entryPointOutput_Color = _entryPointOutput_Color;
66    return stage_output;
67}
68