[Mesa-dev] [PATCH] i965/gen8: Allow 16k viewport when blitting stencil

Topi Pohjolainen topi.pohjolainen at intel.com
Thu Aug 14 09:09:59 PDT 2014


From: Topi Pohjolainen <topi.pohjolainen at gmail.com>

Fixes gles3 conformance tests:

framebuffer_blit_functionality_negative_height_blit
framebuffer_blit_functionality_negative_width_blit
framebuffer_blit_functionality_negative_dimensions_blit
framebuffer_blit_functionality_magnifying_blit
framebuffer_blit_functionality_multisampled_to_singlesampled_blit

Signed-off-by: Topi Pohjolainen <topi.pohjolainen at gmail.com>
---
 src/mesa/drivers/dri/i965/gen8_viewport_state.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/src/mesa/drivers/dri/i965/gen8_viewport_state.c b/src/mesa/drivers/dri/i965/gen8_viewport_state.c
index 9c89532..eda9aad 100644
--- a/src/mesa/drivers/dri/i965/gen8_viewport_state.c
+++ b/src/mesa/drivers/dri/i965/gen8_viewport_state.c
@@ -94,6 +94,13 @@ gen8_upload_sf_clip_viewport(struct brw_context *brw)
       float gbx = maximum_guardband_extent / ctx->ViewportArray[i].Width;
       float gby = maximum_guardband_extent / ctx->ViewportArray[i].Height;
 
+      /**
+       * Stencil blits require W-tiled to be treated as Y-tiled needing in
+       * turn width to be programmed twice the original.
+       */
+      if (brw->meta_in_progress)
+         gbx *= 2;
+
       /* _NEW_VIEWPORT: Guardband Clipping */
       vp[8]  = -gbx; /* x-min */
       vp[9]  =  gbx; /* x-max */
-- 
1.9.1



More information about the mesa-dev mailing list