2c90ea3acc
HLSL UAVs are a bit annoying because they can share block types, so reflection becomes rather awkward. Sometimes we will need to make some nasty fallbacks, so add a reflection interface which lets you query post-shader compile which names was actually declared in the shader.
38 lines
496 B
Plaintext
38 lines
496 B
Plaintext
#version 310 es
|
|
layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
|
|
|
|
struct alias
|
|
{
|
|
vec3 alias[100];
|
|
};
|
|
|
|
struct alias_1
|
|
{
|
|
vec4 alias;
|
|
vec2 alias_1[10];
|
|
alias alias_2[2];
|
|
};
|
|
|
|
struct alias_2
|
|
{
|
|
vec4 alias;
|
|
alias_1 alias_1;
|
|
};
|
|
|
|
layout(binding = 0, std430) buffer alias_3
|
|
{
|
|
alias_2 alias;
|
|
} alias_4;
|
|
|
|
layout(binding = 1, std140) buffer alias_5
|
|
{
|
|
alias_2 alias;
|
|
} alias_6;
|
|
|
|
void main()
|
|
{
|
|
alias_2 alias_7 = alias_4.alias;
|
|
alias_6.alias = alias_7;
|
|
}
|
|
|