Skip to content
Snippets Groups Projects
Commit 00affcf3 authored by Marek Olšák's avatar Marek Olšák
Browse files

arb_framebuffer_object: add missing MSAA alpha-to-coverage and alpha-to-one tests


The missing test is the one that enables both alpha-to-coverage and
alpha-to-one. It currently fails on AMD drivers, but passes on llvmpipe.

Reviewed-by: default avatarPierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <!978>
parent 4c0fd15f
No related branches found
No related tags found
1 merge request!978arb_framebuffer_object: add missing MSAA alpha-to-coverage and alpha-to-one tests
Pipeline #1329403 passed
......@@ -3591,6 +3591,8 @@ static const struct string_to_enum enable_table[] = {
{ "GL_PROGRAM_POINT_SIZE", GL_PROGRAM_POINT_SIZE },
{ "GL_DEPTH_TEST", GL_DEPTH_TEST },
{ "GL_DEPTH_CLAMP", GL_DEPTH_CLAMP },
{ "GL_SAMPLE_ALPHA_TO_ONE", GL_SAMPLE_ALPHA_TO_ONE },
{ "GL_SAMPLE_ALPHA_TO_COVERAGE", GL_SAMPLE_ALPHA_TO_COVERAGE },
{ NULL, 0 }
};
......
[require]
GL >= 3.0
GLSL >= 1.30
INT GL_MAX_SAMPLES >= 4
[vertex shader]
#version 130
in vec4 vertex;
void main()
{
gl_Position = vertex;
}
[fragment shader]
#version 130
out vec4 fcolor;
void main()
{
float g = gl_FragCoord.x / 250.0;
fcolor = vec4(0, g, 0, g);
}
[test]
fb ms GL_RGBA8 250 250 4
clear color 0.5 0.5 0.5 0.5
clear
enable GL_SAMPLE_ALPHA_TO_COVERAGE
draw rect -1 -1 2 2
fb draw winsys
blit color linear
fb read winsys
relative probe rgba (0, 0) (0.5, 0.5, 0.5, 0.5)
relative probe rgba (0.25, 0) (0.375, 0.4375, 0.375, 0.4375)
relative probe rgba (0.5, 0) (0.25, 0.5, 0.25, 0.5)
relative probe rgba (0.75, 0) (0.125, 0.6875, 0.125, 0.6875)
relative probe rgba (1, 0) (0, 1, 0, 1)
# GL_SAMPLE_ALPHA_TO_ONE is applied after GL_SAMPLE_ALPHA_TO_COVERAGE
# determines the coverage.
[require]
GL >= 3.0
GLSL >= 1.30
INT GL_MAX_SAMPLES >= 4
[vertex shader]
#version 130
in vec4 vertex;
void main()
{
gl_Position = vertex;
}
[fragment shader]
#version 130
out vec4 fcolor;
void main()
{
float g = gl_FragCoord.x / 250.0;
fcolor = vec4(0, g, 0, g);
}
[test]
fb ms GL_RGBA8 250 250 4
clear color 0.5 0.5 0.5 0.5
clear
enable GL_SAMPLE_ALPHA_TO_COVERAGE
enable GL_SAMPLE_ALPHA_TO_ONE
draw rect -1 -1 2 2
fb draw winsys
blit color linear
fb read winsys
relative probe rgba (0, 0) (0.5, 0.5, 0.5, 0.5)
relative probe rgba (0.25, 0) (0.375, 0.4375, 0.375, 0.625)
relative probe rgba (0.5, 0) (0.25, 0.5, 0.25, 0.75)
relative probe rgba (0.75, 0) (0.125, 0.6875, 0.125, 0.875)
relative probe rgba (1, 0) (0, 1, 0, 1)
# GL_SAMPLE_ALPHA_TO_ONE is applied after GL_SAMPLE_ALPHA_TO_COVERAGE
# determines the coverage while gl_FragDepth is also written.
[require]
GL >= 3.0
GLSL >= 1.30
INT GL_MAX_SAMPLES >= 4
[vertex shader]
#version 130
in vec4 vertex;
void main()
{
gl_Position = vertex;
}
[fragment shader]
#version 130
out vec4 fcolor;
void main()
{
float g = gl_FragCoord.x / 250.0;
fcolor = vec4(0, g, 0, g);
gl_FragDepth = gl_FragCoord.z > -1000 ? gl_FragCoord.z : 0;
}
[test]
fb ms GL_RGBA8 250 250 4
clear color 0.5 0.5 0.5 0.5
clear
enable GL_SAMPLE_ALPHA_TO_COVERAGE
enable GL_SAMPLE_ALPHA_TO_ONE
draw rect -1 -1 2 2
fb draw winsys
blit color linear
fb read winsys
relative probe rgba (0, 0) (0.5, 0.5, 0.5, 0.5)
relative probe rgba (0.25, 0) (0.375, 0.4375, 0.375, 0.625)
relative probe rgba (0.5, 0) (0.25, 0.5, 0.25, 0.75)
relative probe rgba (0.75, 0) (0.125, 0.6875, 0.125, 0.875)
relative probe rgba (1, 0) (0, 1, 0, 1)
[require]
GL >= 3.0
GLSL >= 1.30
INT GL_MAX_SAMPLES >= 4
[vertex shader]
#version 130
in vec4 vertex;
void main()
{
gl_Position = vertex;
}
[fragment shader]
#version 130
out vec4 fcolor;
void main()
{
float g = gl_FragCoord.x / 250.0;
fcolor = vec4(0, g, 0, g);
}
[test]
fb ms GL_RGBA8 250 250 4
clear color 0.1 0.1 0.1 0.1
clear
enable GL_SAMPLE_ALPHA_TO_ONE
draw rect -1 -1 2 2
fb draw winsys
blit color linear
fb read winsys
relative probe rgba (0, 0) (0, 0, 0, 1)
relative probe rgba (0.25, 0) (0, 0.25, 0, 1)
relative probe rgba (0.5, 0) (0, 0.5, 0, 1)
relative probe rgba (0.75, 0) (0, 0.75, 0, 1)
relative probe rgba (1, 0) (0, 1, 0, 1)
[require]
GL >= 3.0
GLSL >= 1.30
INT GL_MAX_SAMPLES >= 4
[vertex shader]
#version 130
in vec4 vertex;
void main()
{
gl_Position = vertex;
}
[fragment shader]
#version 130
out vec4 fcolor;
void main()
{
float g = gl_FragCoord.x / 250.0;
fcolor = vec4(0, g, 0, g);
}
[test]
fb ms GL_RGBA8 250 250 4
clear color 0.1 0.1 0.1 0.1
clear
draw rect -1 -1 2 2
fb draw winsys
blit color linear
fb read winsys
relative probe rgba (0, 0) (0, 0, 0, 0)
relative probe rgba (0.25, 0) (0, 0.25, 0, 0.25)
relative probe rgba (0.5, 0) (0, 0.5, 0, 0.5)
relative probe rgba (0.75, 0) (0, 0.75, 0, 0.75)
relative probe rgba (1, 0) (0, 1, 0, 1)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment