Mesa (master): intel/isl/gen7: Allow msaa with signed integer formats

Topi Pohjolainen tpohjola at kemper.freedesktop.org
Fri Jul 21 21:14:59 UTC 2017


Module: Mesa
Branch: master
Commit: df9bb8dc059a3cdb0a2099deb25cb4292e301933
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=df9bb8dc059a3cdb0a2099deb25cb4292e301933

Author: Topi Pohjolainen <topi.pohjolainen at intel.com>
Date:   Tue Jul 18 17:06:07 2017 +0300

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 <jason at jlekstrand.net>
Signed-off-by: Topi Pohjolainen <topi.pohjolainen at intel.com>

---

 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 4c5edb4b93..ab47a7f622 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))




More information about the mesa-commit mailing list