| #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(); | |
| } |