mirror of
https://github.com/KhronosGroup/glslang
synced 2024-11-08 19:40:06 +00:00
dc005fb083
This makes struct returns from functions work, but breaks structs containing arrays, due to limitations in subsequent transforms in spirv-opt. This is expected to be fixed soon.
28 lines
605 B
GLSL
28 lines
605 B
GLSL
struct FxaaTex { SamplerState smpl; Texture2D tex; };
|
|
SamplerState g_tInputTexture_sampler; Texture2D g_tInputTexture;
|
|
|
|
float4 lookUp(FxaaTex tex)
|
|
{
|
|
return tex.tex.Sample(tex.smpl, float2(0.3, 0.4));
|
|
}
|
|
|
|
FxaaTex fillOpaque()
|
|
{
|
|
FxaaTex t;
|
|
t.smpl = g_tInputTexture_sampler;
|
|
t.tex = g_tInputTexture;
|
|
return t;
|
|
}
|
|
|
|
float4 main() : SV_TARGET0
|
|
{
|
|
FxaaTex tex1 = { g_tInputTexture_sampler, g_tInputTexture };
|
|
float4 res = lookUp(tex1);
|
|
FxaaTex tex2 = fillOpaque();
|
|
res += lookUp(tex2);
|
|
FxaaTex tex3 = tex1;
|
|
res += lookUp(tex3);
|
|
|
|
return res;
|
|
}
|