bgfx/3rdparty/glslang/Test/spv.130.frag
Branimir Karadžić f46d6a5803 Added glslang.
2016-12-15 14:19:54 -08:00

93 lines
2.1 KiB
GLSL

#version 140
#extension GL_ARB_texture_gather : enable
vec3 a;
float b;
in vec4 i;
out vec4 o;
out ivec3 io;
out uvec4 uo;
flat in float fflat;
smooth in float fsmooth;
noperspective in float fnop;
uniform samplerCube sampC;
#extension GL_ARB_texture_rectangle : enable
uniform sampler2D samp2D;
uniform sampler2DShadow samp2DS;
uniform sampler2DRect samp2DR;
uniform sampler2DArray samp2DA;
void bar3()
{
o += textureGatherOffset(samp2D, vec2(0.3), ivec2(1));
o += textureGatherOffset(samp2DA, vec3(0.3), ivec2(1));
}
#extension GL_ARB_gpu_shader5 : enable
void bar4()
{
o += textureGatherOffset(samp2DR, vec2(0.3), ivec2(1));
o += textureGatherOffset(samp2DS, vec2(0.3), 1.3, ivec2(1));
o += textureGatherOffset(samp2D, vec2(0.3), ivec2(1), 2);
}
#extension GL_ARB_texture_cube_map_array : enable
uniform samplerCubeArray Sca;
uniform isamplerCubeArray Isca;
uniform usamplerCubeArray Usca;
uniform samplerCubeArrayShadow Scas;
void bar5()
{
io = textureSize(Sca, 3);
o += texture(Sca, i);
io += texture(Isca, i, 0.7).xyz;
uo = texture(Usca, i);
o += textureLod(Sca, i, 1.7);
a = textureSize(Scas, 3);
float f = texture(Scas, i, i.y);
ivec4 c = textureGrad(Isca, i, vec3(0.1), vec3(0.2));
o += vec4(a, f + c);
}
#extension GL_ARB_shading_language_420pack : enable
const int ai[3] = { 10, 23, 32 };
uniform layout(binding=0) sampler2D bounds;
void bar6()
{
mat4x3 m43;
float a1 = m43[3].y;
//int a2 = m43.length(); // ERROR until shading_language_420pack is fully implemented
const float b = 2 * a1;
//a.x = gl_MinProgramTexelOffset + gl_MaxProgramTexelOffset; // ERROR until shading_language_420pack is fully implemented
}
#extension GL_ARB_texture_rectangle : enable
#extension GL_ARB_shader_texture_lod : require
uniform sampler2D s2D;
uniform sampler2DRect s2DR;
uniform sampler2DRectShadow s2DRS;
uniform sampler1D s1D;
uniform sampler2DShadow s2DS;
void main()
{
o = textureGather(sampC, vec3(0.2));
o.y = gl_ClipDistance[3];
bar3();
bar4();
bar5();
bar6();
}