<div dir="ltr"><div><div><div>This has some interesting implications...<br><br></div>From the Sky Lake PRM, Vol 7, section "Vertex XY Clamping and Quantization",<br><br>> In addition, in order to be correctly rendered, objects must have a screenspace<br>> bounding box not exceeding 8K in the X or Y direction. This additional restriction<br>> must also be comprehended by software, i.e., enforced by use of clipping.<br><br></div>This seems to imply that you can't render a single primitive that's larger than 8K which would imply that you can't really have a render target that large. The text dates back to at least Sandy Bridge so it may be out-of-date.<br><br>I did a little archaeology and found out that, in January of 2013, commit 416326e33, Eric updated our guardband settings to follow this rule to fix a GTF clip test on Ivy Bridge. In August of 2014, commit 0bac2551e4041, Ken disabled the guardband clip test for the case where the viewport is larger than the guardband to fix some ES3 conformance tests. Given my (admittedly a bit shaky) understanding of clipping, both of these make sense in a world with 8Kx8K framebuffers but not with 16Kx16K given the PRM text.<br><br></div><div><div>Have you run the CTS at 16Kx16K yet? Have you seen any issues doing so?<br></div></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Nov 30, 2016 at 8:12 PM, Jordan Justen <span dir="ltr"><<a href="mailto:jordan.l.justen@intel.com" target="_blank">jordan.l.justen@intel.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Bugzilla: <a href="https://bugs.freedesktop.org/show_bug.cgi?id=98297" rel="noreferrer" target="_blank">https://bugs.freedesktop.org/<wbr>show_bug.cgi?id=98297</a><br>
Signed-off-by: Jordan Justen <<a href="mailto:jordan.l.justen@intel.com">jordan.l.justen@intel.com</a>><br>
---<br>
src/mesa/drivers/dri/i965/brw_<wbr>context.c | 13 ++++++++++---<br>
1 file changed, 10 insertions(+), 3 deletions(-)<br>
<br>
diff --git a/src/mesa/drivers/dri/i965/<wbr>brw_context.c b/src/mesa/drivers/dri/i965/<wbr>brw_context.c<br>
index b928f94..4ca77c7 100644<br>
--- a/src/mesa/drivers/dri/i965/<wbr>brw_context.c<br>
+++ b/src/mesa/drivers/dri/i965/<wbr>brw_context.c<br>
@@ -527,14 +527,21 @@ brw_initialize_context_<wbr>constants(struct brw_context *brw)<br>
<br>
ctx->Const.<wbr>MaxTextureCoordUnits = 8; /* Mesa limit */<br>
ctx->Const.MaxImageUnits = MAX_IMAGE_UNITS;<br>
- ctx->Const.MaxRenderbufferSize = 8192;<br>
- ctx->Const.MaxTextureLevels = MIN2(14 /* 8192 */, MAX_TEXTURE_LEVELS);<br>
+ if (brw->gen >= 7) {<br>
+ ctx->Const.MaxRenderbufferSize = 16384;<br>
+ ctx->Const.MaxTextureLevels = MIN2(15 /* 16384 */, MAX_TEXTURE_LEVELS);<br>
+ ctx->Const.<wbr>MaxCubeTextureLevels = 15; /* 16384 */<br>
+ } else {<br>
+ ctx->Const.MaxRenderbufferSize = 8192;<br>
+ ctx->Const.MaxTextureLevels = MIN2(14 /* 8192 */, MAX_TEXTURE_LEVELS);<br>
+ ctx->Const.<wbr>MaxCubeTextureLevels = 14; /* 8192 */<br>
+ }<br>
ctx->Const.Max3DTextureLevels = 12; /* 2048 */<br>
- ctx->Const.<wbr>MaxCubeTextureLevels = 14; /* 8192 */<br>
ctx->Const.<wbr>MaxArrayTextureLayers = brw->gen >= 7 ? 2048 : 512;<br>
ctx->Const.MaxTextureMbytes = 1536;<br>
ctx->Const.MaxTextureRectSize = 1 << 12;<br>
ctx->Const.<wbr>MaxTextureMaxAnisotropy = 16.0;<br>
+ ctx->Const.MaxTextureLodBias = 15.0;<br>
ctx->Const.StripTextureBorder = true;<br>
if (brw->gen >= 7) {<br>
ctx->Const.<wbr>MaxProgramTextureGatherCompone<wbr>nts = 4;<br>
<span class="HOEnZb"><font color="#888888">--<br>
2.10.2<br>
<br>
______________________________<wbr>_________________<br>
mesa-dev mailing list<br>
<a href="mailto:mesa-dev@lists.freedesktop.org">mesa-dev@lists.freedesktop.org</a><br>
<a href="https://lists.freedesktop.org/mailman/listinfo/mesa-dev" rel="noreferrer" target="_blank">https://lists.freedesktop.org/<wbr>mailman/listinfo/mesa-dev</a><br>
</font></span></blockquote></div><br></div>