#version 130 #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; in vec4 gl_Color; flat in vec4 gl_Color; #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; uniform float f; uniform vec2 v2; uniform vec3 v3; uniform vec4 v4; void bar7() { vec4 v; o += texture2DRect(s2DR, v2); o += texture2DRectProj(s2DR, v3); o += texture2DRectProj(s2DR, v4); o += shadow2DRect(s2DRS, v3); o += shadow2DRectProj(s2DRS, v4); o += texture1DGradARB(s1D, f, f, f); o += texture2DProjGradARB(s2D, v, v2, v2); o += shadow2DProjGradARB(s2DS, v, v2, v2); o += shadow2DRectProjGradARB(s2DRS, v, v2, v2); } void main() { o = textureGather(sampC, vec3(0.2)); o.y = gl_ClipDistance[3]; bar3(); bar4(); bar5(); bar6(); bar7(); }