<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>