RetroArch/reference/opt/shaders-hlsl/asm/vert/extract-transposed-matrix-from-struct.asm.vert
libretroadmin da29639d70 Squashed 'deps/SPIRV-Cross/' content from commit f3a75d1d4b
git-subtree-dir: deps/SPIRV-Cross
git-subtree-split: f3a75d1d4ba6b559d5c89550f800a518baad522d
2023-01-20 18:00:31 +01:00

46 lines
1 KiB
GLSL

struct InstanceData
{
column_major float4x4 MATRIX_MVP;
float4 Color;
};
cbuffer gInstanceData : register(b0)
{
InstanceData gInstanceData_1_data[32] : packoffset(c0);
};
static float4 gl_Position;
static int gl_InstanceIndex;
static float3 PosL;
static float4 _entryPointOutput_Color;
struct SPIRV_Cross_Input
{
float3 PosL : TEXCOORD0;
uint gl_InstanceIndex : SV_InstanceID;
};
struct SPIRV_Cross_Output
{
float4 _entryPointOutput_Color : TEXCOORD0;
float4 gl_Position : SV_Position;
};
void vert_main()
{
gl_Position = mul(float4(PosL, 1.0f), gInstanceData_1_data[uint(gl_InstanceIndex)].MATRIX_MVP);
_entryPointOutput_Color = gInstanceData_1_data[uint(gl_InstanceIndex)].Color;
}
SPIRV_Cross_Output main(SPIRV_Cross_Input stage_input)
{
gl_InstanceIndex = int(stage_input.gl_InstanceIndex);
PosL = stage_input.PosL;
vert_main();
SPIRV_Cross_Output stage_output;
stage_output.gl_Position = gl_Position;
stage_output._entryPointOutput_Color = _entryPointOutput_Color;
return stage_output;
}