|
#version 150 core |
|
|
|
in vec4 gl_FragCoord; |
|
layout(origin_upper_left, pixel_center_integer) in vec4 gl_FragCoord; |
|
layout(pixel_center_integer) in vec4 gl_FragCoord; |
|
layout(origin_upper_left) in vec4 foo; |
|
layout(origin_upper_left, pixel_center_integer) in vec4 gl_FragCoord; |
|
|
|
void main() |
|
{ |
|
vec4 c = gl_FragCoord; |
|
} |
|
|
|
layout(origin_upper_left, pixel_center_integer) in vec4 gl_FragCoord; |
|
|
|
in struct S { float f; } s; |
|
|
|
float patch = 3.1; |
|
|
|
uniform sampler2DMS sms; |
|
uniform isampler2DMS isms; |
|
uniform usampler2DMS usms; |
|
uniform sampler2DMSArray smsa; |
|
uniform isampler2DMSArray ismsa; |
|
uniform usampler2DMSArray usmsa; |
|
|
|
flat in ivec2 p2; |
|
flat in ivec3 p3; |
|
flat in int samp; |
|
|
|
void barWxyz() |
|
{ |
|
ivec2 t11 = textureSize( sms); |
|
ivec2 t12 = textureSize(isms); |
|
ivec2 t13 = textureSize(usms); |
|
ivec3 t21 = textureSize( smsa); |
|
ivec3 t22 = textureSize(ismsa); |
|
ivec3 t23 = textureSize(usmsa); |
|
vec4 t31 = texelFetch( sms, p2, samp); |
|
ivec4 t32 = texelFetch(isms, p2, samp); |
|
uvec4 t33 = texelFetch(usms, p2, 3); |
|
vec4 t41 = texelFetch( smsa, p3, samp); |
|
ivec4 t42 = texelFetch(ismsa, ivec3(2), samp); |
|
uvec4 t43 = texelFetch(usmsa, p3, samp); |
|
} |
|
|
|
int primitiveID() |
|
{ |
|
return gl_PrimitiveID; |
|
gl_PerFragment; |
|
} |
|
|
|
in double type1; |
|
#extension GL_ARB_gpu_shader_fp64 : enable |
|
double type2; |
|
double type3 = 2.0; |
|
int absTest = sqrt(type3); |
|
double absTest2 = sqrt(type3); |
|
double absTest3 = sqrt(2); |
|
float dk = sqrt(11); |
|
|
|
#extension GL_ARB_shader_bit_encoding: enable |
|
|
|
float f; |
|
vec4 v4; |
|
ivec4 iv4a; |
|
uvec2 uv2c; |
|
void bitEncodingPass() |
|
{ |
|
int i = floatBitsToInt(f); |
|
uvec4 uv11 = floatBitsToUint(v4); |
|
vec4 v14 = intBitsToFloat(iv4a); |
|
vec2 v15 = uintBitsToFloat(uv2c); |
|
} |
|
|
|
#extension GL_ARB_shader_bit_encoding: disable |
|
|
|
void bitEncodingFail() |
|
{ |
|
int i = floatBitsToInt(f); |
|
} |
|
|
|
#extension GL_ARB_shading_language_packing : enable |
|
vec2 v2a; |
|
uint uy; |
|
|
|
void packingPass() |
|
{ |
|
uint u19 = packSnorm2x16(v2a); |
|
vec2 v20 = unpackSnorm2x16(uy); |
|
uint u15 = packUnorm2x16(v2a); |
|
vec2 v16 = unpackUnorm2x16(uy); |
|
uint u17 = packHalf2x16(v2a); |
|
vec2 v18 = unpackHalf2x16(uy); |
|
} |
|
|
|
#extension GL_ARB_shading_language_packing : disable |
|
void packingFail() |
|
{ |
|
uint u19 = packSnorm2x16(v2a); |
|
} |
|
|
|
|
|
uniform sampler1D samp1D; |
|
uniform sampler2DShadow samp2Ds; |
|
|
|
void qlodFail() |
|
{ |
|
vec2 lod; |
|
float pf; |
|
vec2 pf2; |
|
vec3 pf3; |
|
|
|
lod = textureQueryLOD(samp1D, pf); |
|
lod = textureQueryLOD(samp2Ds, pf2); |
|
} |
|
|
|
#extension GL_ARB_texture_query_lod : enable |
|
|
|
uniform isampler2D isamp2D; |
|
uniform usampler3D usamp3D; |
|
uniform samplerCube sampCube; |
|
uniform isampler1DArray isamp1DA; |
|
uniform usampler2DArray usamp2DA; |
|
|
|
uniform sampler1DShadow samp1Ds; |
|
uniform samplerCubeShadow sampCubes; |
|
uniform sampler1DArrayShadow samp1DAs; |
|
uniform sampler2DArrayShadow samp2DAs; |
|
|
|
uniform samplerBuffer sampBuf; |
|
uniform sampler2DRect sampRect; |
|
|
|
void qlodPass() |
|
{ |
|
vec2 lod; |
|
float pf; |
|
vec2 pf2; |
|
vec3 pf3; |
|
|
|
lod = textureQueryLOD(samp1D, pf); |
|
lod = textureQueryLOD(isamp2D, pf2); |
|
lod = textureQueryLOD(usamp3D, pf3); |
|
lod = textureQueryLOD(sampCube, pf3); |
|
lod = textureQueryLOD(isamp1DA, pf); |
|
lod = textureQueryLOD(usamp2DA, pf2); |
|
|
|
lod = textureQueryLOD(samp1Ds, pf); |
|
lod = textureQueryLOD(samp2Ds, pf2); |
|
lod = textureQueryLOD(sampCubes, pf3); |
|
lod = textureQueryLOD(samp1DAs, pf); |
|
lod = textureQueryLOD(samp2DAs, pf2); |
|
|
|
lod = textureQueryLOD(sampBuf, pf); |
|
lod = textureQueryLOD(sampRect, pf2); |
|
} |
|
|
|
|
|
#extension GL_EXT_shader_integer_mix : enable |
|
bool b1, b2, b; |
|
int x,y; |
|
uint z,w; |
|
|
|
void testmix() |
|
{ |
|
int ival = mix(x, y, b); |
|
ivec2 iv2 = mix(ivec2(x), ivec2(y), bvec2(b)); |
|
ivec3 iv3 = mix(ivec3(x), ivec3(y), bvec3(b)); |
|
ivec4 iv4 = mix(ivec4(x), ivec4(x), bvec4(b)); |
|
uint uiv = mix(z, w, b); |
|
uvec2 uv2 = mix(uvec2(z), uvec2(z), bvec2(b)); |
|
uvec3 uv3 = mix(uvec3(z), uvec3(z), bvec3(b)); |
|
uvec4 uv4 = mix(uvec4(z), uvec4(z), bvec4(b)); |
|
bool bv = mix(b1, b2, b); |
|
bvec2 bv2 = mix(bvec2(b1), bvec2(b2), bvec2(b)); |
|
bvec3 bv3 = mix(bvec3(b1), bvec3(b2), bvec3(b)); |
|
bvec4 bv4 = mix(bvec4(b1), bvec4(b2), bvec4(b)); |
|
} |
|
|
|
#extension GL_EXT_shader_integer_mix : disable |
|
void testmixFail() |
|
{ |
|
int ival = mix(x, y, b); |
|
} |
|
|