Commit dfada60b authored by Emma Anholt's avatar Emma Anholt
Browse files

glsl-fs-texture2d-dependent-*: Try to improve coverage of texturing issues.

It turns out these weren't the bugs I was looking for in the i965
driver, but they look different from our other texturing tests in
useful ways.
parent 21804346
......@@ -443,6 +443,11 @@ add_shader_generic(shaders, 'glsl-fs-tan-3')
add_shader_generic(shaders, 'glsl-fs-texture2d')
add_shader_generic(shaders, 'glsl-fs-texture2d-bias')
add_shader_generic(shaders, 'glsl-fs-texture2d-branching')
add_shader_generic(shaders, 'glsl-fs-texture2d-dependent-1')
add_shader_generic(shaders, 'glsl-fs-texture2d-dependent-2')
add_shader_generic(shaders, 'glsl-fs-texture2d-dependent-3')
add_shader_generic(shaders, 'glsl-fs-texture2d-dependent-4')
add_shader_generic(shaders, 'glsl-fs-texture2d-dependent-5')
add_shader_generic(shaders, 'glsl-fs-texture2d-masked')
add_shader_generic(shaders, 'glsl-fs-texture2d-masked-2')
add_shader_generic(shaders, 'glsl-fs-texture2d-masked-3')
......
[require]
GLSL >= 1.10
[vertex shader]
varying vec4 texcoords;
void main()
{
gl_Position = gl_Vertex;
texcoords = (gl_Vertex + 1.0) / 2.0;
}
[fragment shader]
varying vec4 texcoords;
uniform sampler2D tex;
void main()
{
vec4 result = texture2D(tex, texcoords.xy);
gl_FragColor = texture2D(tex, result.xy);
}
[test]
uniform int tex 0
texture rgbw 0 (8, 8)
draw rect -1 -1 2 2
relative probe rgb (0.25, 0.25) (0.0, 1.0, 0.0)
relative probe rgb (0.75, 0.25) (0.0, 0.0, 1.0)
relative probe rgb (0.25, 0.75) (1.0, 0.0, 0.0)
relative probe rgb (0.75, 0.75) (1.0, 1.0, 1.0)
[require]
GLSL >= 1.10
[vertex shader]
varying vec4 texcoords;
void main()
{
gl_Position = gl_Vertex;
texcoords = (gl_Vertex + 1.0) / 2.0;
}
[fragment shader]
varying vec4 texcoords;
uniform sampler2D tex;
void main()
{
vec4 result = texture2D(tex, texcoords.xy);
result.y = result.y * 0.9;
result.x = result.x * 0.9;
gl_FragColor = texture2D(tex, result.xy);
}
[test]
uniform int tex 0
texture rgbw 0 (8, 8)
draw rect -1 -1 2 2
relative probe rgb (0.25, 0.25) (0.0, 1.0, 0.0)
relative probe rgb (0.75, 0.25) (0.0, 0.0, 1.0)
relative probe rgb (0.25, 0.75) (1.0, 0.0, 0.0)
relative probe rgb (0.75, 0.75) (1.0, 1.0, 1.0)
[require]
GLSL >= 1.10
[vertex shader]
varying vec4 texcoords;
void main()
{
gl_Position = gl_Vertex;
texcoords = (gl_Vertex + 1.0);
}
[fragment shader]
varying vec4 texcoords;
uniform sampler2D tex;
void main()
{
/* Try to trick i965's type handling by using integers. */
ivec2 itc = ivec2(texcoords + 0.5);
gl_FragColor = texture2D(tex, vec2(itc));
}
[test]
uniform int tex 0
texture rgbw 0 (8, 8)
draw rect -1 -1 2 2
relative probe rgb (0.1, 0.1) (1.0, 0.0, 0.0)
relative probe rgb (0.9, 0.1) (0.0, 1.0, 0.0)
relative probe rgb (0.1, 0.9) (0.0, 0.0, 1.0)
relative probe rgb (0.9, 0.9) (1.0, 1.0, 1.0)
relative probe rgb (0.3, 0.3) (1.0, 1.0, 1.0)
[require]
GLSL >= 1.10
[vertex shader]
varying vec4 texcoords;
void main()
{
gl_Position = gl_Vertex;
texcoords = -(gl_Vertex + 1.0) / 2.0;
}
[fragment shader]
varying vec4 texcoords;
uniform sampler2D tex;
void main()
{
gl_FragColor = texture2D(tex, -texcoords.xy);
}
[test]
uniform int tex 0
texture rgbw 0 (8, 8)
draw rect -1 -1 2 2
relative probe rgb (0.1, 0.1) (1.0, 0.0, 0.0)
relative probe rgb (0.9, 0.1) (0.0, 1.0, 0.0)
relative probe rgb (0.1, 0.9) (0.0, 0.0, 1.0)
relative probe rgb (0.9, 0.9) (1.0, 1.0, 1.0)
[require]
GLSL >= 1.10
[vertex shader]
varying vec4 texcoords;
void main()
{
gl_Position = gl_Vertex;
texcoords = -(gl_Vertex + 1.0) / 2.0;
}
[fragment shader]
varying vec4 texcoords;
uniform sampler2D tex;
void main()
{
gl_FragColor = texture2D(tex, abs(texcoords.xy));
}
[test]
uniform int tex 0
texture rgbw 0 (8, 8)
draw rect -1 -1 2 2
relative probe rgb (0.1, 0.1) (1.0, 0.0, 0.0)
relative probe rgb (0.9, 0.1) (0.0, 1.0, 0.0)
relative probe rgb (0.1, 0.9) (0.0, 0.0, 1.0)
relative probe rgb (0.9, 0.9) (1.0, 1.0, 1.0)
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment