Yes, it passes here as well but I believe the test allows a lot of variance - that was just visual inspection. (I believe if you'd just implement that in the driver as ignore alpha-to-one if alpha-to-coverage is also active only then you'd get a perfect match.)
Roland Am 04.08.2017 um 19:28 schrieb Brian Paul: > It passes here for me w/ NVIDIA's driver but I'll hold off on this until > I can take a closer look. > > -Brina > > On 08/04/2017 11:11 AM, Roland Scheidegger wrote: >> 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