<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Mon, Feb 20, 2017 at 8:10 AM, Lionel Landwerlin <span dir="ltr"><<a href="mailto:lionel.g.landwerlin@intel.com" target="_blank">lionel.g.landwerlin@intel.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">Applies on top of Jason's patch :<br>
<br>
   <a href="https://patchwork.freedesktop.org/patch/139603/" rel="noreferrer" target="_blank">https://patchwork.freedesktop.<wbr>org/patch/139603/</a><br>
<br>
Signed-off-by: Lionel Landwerlin <<a href="mailto:lionel.g.landwerlin@intel.com">lionel.g.landwerlin@intel.com</a><wbr>><br>
Cc: Jason Ekstrand <<a href="mailto:jason@jlekstrand.net">jason@jlekstrand.net</a>><br>
---<br>
</span> src/intel/isl/isl.c | 9 +++++++++<br>
 1 file changed, 9 insertions(+)<br>
<br>
diff --git a/src/intel/isl/isl.c b/src/intel/isl/isl.c<br>
index 1a47da5257..b7f3aaee1c 100644<br>
--- a/src/intel/isl/isl.c<br>
+++ b/src/intel/isl/isl.c<br>
@@ -1417,6 +1417,15 @@ isl_surf_get_mcs_surf(const struct isl_device *dev,<br>
<span class="">    assert(surf->levels == 1);<br>
    assert(surf->logical_level0_<wbr>px.depth == 1);<br>
<br>
</span>+   /* Internal documentation says (not found in PRMs) :<br>
+    *<br>
+    *    "If Number of Multisamples is MULTISAMPLECOUNT_16, then Width must be<br>
+    *     8K texels or less, or the surface must not use the a multisample<br>
+    *     control surface (MCS)."<br></blockquote><div><br></div><div>I just remembered there's actually a very simple (and a bit silly) reason for this restriction.  The "Auxiliary Surface Pitch" field is only 9 bits which means 512 tiles.  A 16k wide MCS for 16x MSAA is 1024 tiles wide.  We should probably document that rather than the opaque internal spec citation.<br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
+    */<br>
+   if (surf->samples == 16 && surf->width > 8192)<br>
<div class="HOEnZb"><div class="h5">+      return false;<br>
+<br>
    enum isl_format mcs_format;<br>
    switch (surf->samples) {<br>
    case 2:  mcs_format = ISL_FORMAT_MCS_2X;  break;<br>
--<br>
2.11.0<br>
</div></div></blockquote></div><br></div></div>