From df9bb8dc059a3cdb0a2099deb25cb4292e301933 Mon Sep 17 00:00:00 2001 From: Topi Pohjolainen Date: Tue, 18 Jul 2017 17:06:07 +0300 Subject: [PATCH] intel/isl/gen7: Allow msaa with signed integer formats These formats are already allowed by the i965 GL driver, and the feature seems to work just fine. There are tests for multisampled rendering in piglit: tests/spec/ext_framebuffer_multisample which can be patched to try 16I/32I in addition to GL_RGBA8I. IvyBridge passed all tests with all sample numbers. Reviewed-by: Jason Ekstrand Signed-off-by: Topi Pohjolainen --- src/intel/isl/isl_gen7.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/intel/isl/isl_gen7.c b/src/intel/isl/isl_gen7.c index 4c5edb4b93c..ab47a7f6229 100644 --- a/src/intel/isl/isl_gen7.c +++ b/src/intel/isl/isl_gen7.c @@ -76,9 +76,10 @@ isl_gen7_choose_msaa_layout(const struct isl_device *dev, * Note that the above SINT restrictions apply only to *MSRTs* (that is, * *multisampled* render targets). The restrictions seem to permit an MCS * if the render target is singlesampled. + * + * Moreover, empirically it looks that hardware can render multisampled + * surfaces with RGBA8I, RGBA16I and RGBA32I. */ - if (isl_format_has_sint_channel(info->format)) - return false; /* More obvious restrictions */ if (isl_surf_usage_is_display(info->usage)) -- 2.30.2