Files
CosmicEngine/lib/All/SPIRV-Reflect/tests/issues/102/function_parameter_access.glsl

52 lines
1.3 KiB
Plaintext
Raw Normal View History

/*
glslangValidator -V -S frag -g0 --ku -o function_parameter_access.spv function_parameter_access.glsl
*/
#version 450
layout(binding = 0) uniform sampler Sampler;
layout(binding = 1) uniform texture2D Texture;
layout(binding = 2) uniform sampler2D Sampler2D;
layout(binding = 3) uniform sampler NeverAccessedSampler;
layout(binding = 4) uniform texture2D NeverAccessedTexture;
layout(binding = 5) uniform sampler2D NeverAccessedSampler2D;
layout(location = 0) out vec4 color;
vec4 access_sampler_and_texture(texture2D t, sampler s, vec2 coord)
{
vec4 ret = texture(sampler2D(t, s), coord);
return vec4(5.0) * ret;
}
vec4 access_combined_sampler(sampler2D s)
{
vec2 coord = vec2(0.5, 0.5);
vec4 ret = texture(s, coord);
return vec4(1.0, 2.0, 3.0, 1.0) * ret;
}
vec4 call_access_functions(texture2D t, sampler s)
{
return access_combined_sampler(Sampler2D) + access_sampler_and_texture(t, s, vec2(0.25, 0.75));
}
vec4 never_called(texture2D t, sampler s, float u, float v)
{
vec4 ret = texture(sampler2D(t, s), vec2(u, v));
return vec4(-3.0) * ret;
}
vec4 never_called_2(vec2 coord)
{
vec4 ret = texture(sampler2D(NeverAccessedTexture, NeverAccessedSampler), coord);
ret *= texture(NeverAccessedSampler2D, coord);
return ret;
}
void main()
{
color = vec4(-1.0) * call_access_functions(Texture, Sampler);
}