I think should mention that the reference probably isn't quite right (if I try it here, the reference is the same with or without alpha-to-one, but with nvidia with alpha-to-one it's a bit different (darker) than without). I think it's because the reference drawing doesn't really take into account that the samples which get written thanks to coverage-to-alpha also had their alpha values changed to 1.0, but I could be wrong and maybe it is correct after all...
In any case, Reviewed-by: Roland Scheidegger <srol...@vmware.com> Am 04.08.2017 um 19:03 schrieb Brian Paul: > Alpha-to-one only makes sense when used with alpha-to-coverage. This > patch adds a flag to the alpha-to-coverage test to exercise alpha-to-one. > This will fail with drivers which emulate alpha-to-one in the FS. > --- > tests/all.py | 4 ++++ > .../ext_framebuffer_multisample/sample-alpha-to-coverage.cpp | 11 > ++++++++--- > 2 files changed, 12 insertions(+), 3 deletions(-) > > diff --git a/tests/all.py b/tests/all.py > index ae55425..abe6185 100644 > --- a/tests/all.py > +++ b/tests/all.py > @@ -3044,6 +3044,10 @@ with profile.test_list.group_manager( > sample_count, buffer_type], > 'sample-alpha-to-coverage {} {}'.format( > sample_count, buffer_type)) > + g(['ext_framebuffer_multisample-sample-alpha-to-coverage', > + sample_count, buffer_type, '--alpha-to-one'], > + 'sample-alpha-to-coverage-alpha-to-one {} {}'.format( > + sample_count, buffer_type)) > > for test in ['line-smooth', 'point-smooth', 'polygon-smooth', > 'sample-alpha-to-one', > diff --git > a/tests/spec/ext_framebuffer_multisample/sample-alpha-to-coverage.cpp > b/tests/spec/ext_framebuffer_multisample/sample-alpha-to-coverage.cpp > index 7b756ba..32b4161 100644 > --- a/tests/spec/ext_framebuffer_multisample/sample-alpha-to-coverage.cpp > +++ b/tests/spec/ext_framebuffer_multisample/sample-alpha-to-coverage.cpp > @@ -54,11 +54,12 @@ PIGLIT_GL_TEST_CONFIG_BEGIN > PIGLIT_GL_TEST_CONFIG_END > > static GLenum buffer_to_test; > +static bool alpha_to_one = false; > > void > print_usage_and_exit(char *prog_name) > { > - printf("Usage: %s <num_samples> <test_type>\n" > + printf("Usage: %s <num_samples> <test_type> [--alpha-to-one]\n" > " where <test_type> is one of:\n" > " color\n" > " depth\n", > @@ -93,6 +94,10 @@ piglit_init(int argc, char **argv) > } else > print_usage_and_exit(argv[0]); > > + if (argc == 4 && strcmp(argv[3], "--alpha-to-one") == 0) { > + alpha_to_one = true; > + } > + > int pattern_width = piglit_width / 2; > int pattern_height = piglit_height / num_attachments; > > @@ -133,10 +138,10 @@ piglit_display() > */ > if(buffer_to_test == GL_COLOR_BUFFER_BIT) > draw_reference_image(true /* sample_alpha_to_coverage */, > - false /* sample_alpha_to_one */); > + alpha_to_one); > > draw_test_image(true /* sample_alpha_to_coverage */, > - false /* sample_alpha_to_one */); > + alpha_to_one); > > pass = piglit_check_gl_error(GL_NO_ERROR) && pass; > > _______________________________________________ Piglit mailing list Piglit@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/piglit