mirror of
https://github.com/libretro/RetroArch
synced 2025-02-02 23:54:06 +00:00
420b7913d4
2820ab0b51 Merge pull request #1076 from KhronosGroup/bitcast-pre-330-glsl 63bcbd511e GLSL: Need extension to use bitcast on GLSL < 330. 9f3bebe3d0 Merge pull request #1075 from lifpan/master b11c20fc1d Remove unreasonable assertion for OpTypeImage Sampled parameter. 1a592b7c0f Merge pull request #1067 from cdavis5e/msl-scalar-block-layout 28454facbb MSL: Handle packed matrices. ea5c0ed82f MSL: Fix alignment of packed types. 44f688bf0b Merge pull request #1070 from KhronosGroup/fix-1066 25c74b324e Forget loop variable enables after emitting block chain. 6b010e0cbc Merge pull request #1069 from KhronosGroup/fix-1053 f6f849397e MSL: Re-roll array expressions in initializers. e5fa7edfd6 MSL: Support scalar block layout. git-subtree-dir: deps/SPIRV-Cross git-subtree-split: 2820ab0b51bf5e4187435d904b34e762b988f48b
76 lines
1.6 KiB
GLSL
76 lines
1.6 KiB
GLSL
struct Foo
|
|
{
|
|
float3 a;
|
|
float3 b;
|
|
float3 c;
|
|
};
|
|
|
|
static float4 gl_Position;
|
|
static float4 Input2;
|
|
static float4 Input4;
|
|
static float4 Input0;
|
|
static float vLocation0;
|
|
static float vLocation1;
|
|
static float vLocation2[2];
|
|
static Foo vLocation4;
|
|
static float vLocation9;
|
|
|
|
struct VertexOut
|
|
{
|
|
float3 color : TEXCOORD7;
|
|
float3 foo : TEXCOORD8;
|
|
};
|
|
|
|
static VertexOut vout;
|
|
|
|
struct SPIRV_Cross_Input
|
|
{
|
|
float4 Input0 : TEXCOORD0;
|
|
float4 Input2 : TEXCOORD2;
|
|
float4 Input4 : TEXCOORD4;
|
|
};
|
|
|
|
struct SPIRV_Cross_Output
|
|
{
|
|
float vLocation0 : TEXCOORD0;
|
|
float vLocation1 : TEXCOORD1;
|
|
float vLocation2[2] : TEXCOORD2;
|
|
Foo vLocation4 : TEXCOORD4;
|
|
float vLocation9 : TEXCOORD9;
|
|
float4 gl_Position : SV_Position;
|
|
};
|
|
|
|
void vert_main()
|
|
{
|
|
gl_Position = ((1.0f.xxxx + Input2) + Input4) + Input0;
|
|
vLocation0 = 0.0f;
|
|
vLocation1 = 1.0f;
|
|
vLocation2[0] = 2.0f;
|
|
vLocation2[1] = 2.0f;
|
|
Foo foo;
|
|
foo.a = 1.0f.xxx;
|
|
foo.b = 1.0f.xxx;
|
|
foo.c = 1.0f.xxx;
|
|
vLocation4 = foo;
|
|
vLocation9 = 9.0f;
|
|
vout.color = 2.0f.xxx;
|
|
vout.foo = 4.0f.xxx;
|
|
}
|
|
|
|
SPIRV_Cross_Output main(SPIRV_Cross_Input stage_input, out VertexOut stage_outputvout)
|
|
{
|
|
Input2 = stage_input.Input2;
|
|
Input4 = stage_input.Input4;
|
|
Input0 = stage_input.Input0;
|
|
vert_main();
|
|
stage_outputvout = vout;
|
|
SPIRV_Cross_Output stage_output;
|
|
stage_output.gl_Position = gl_Position;
|
|
stage_output.vLocation0 = vLocation0;
|
|
stage_output.vLocation1 = vLocation1;
|
|
stage_output.vLocation2 = vLocation2;
|
|
stage_output.vLocation4 = vLocation4;
|
|
stage_output.vLocation9 = vLocation9;
|
|
return stage_output;
|
|
}
|