xkslang/Test/spv.130.frag

119 строки
2.7 KiB
GLSL

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