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

2014-08-26 Thread Kenneth Graunke
On Monday, August 25, 2014 04:38:53 PM Ian Romanick wrote:
 On 08/14/2014 09:09 AM, Topi Pohjolainen wrote:
  From: Topi Pohjolainen topi.pohjolai...@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.pohjolai...@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;
  +
 
 I've had this on my various trees for almost two weeks now, and it
 doesn't seem to have caused any problems.  I'm wondering if we want to
 make this check a bit more specific to the stencil blit case.
 
 Either way, I'd like to see this or something similar land soon.

NAK.  While it does appear to fix the problem, this seems much too broad to me 
- there are plenty of meta operations that don't even touch W-tiled buffers. 

This also expands the guardband to be 16K x 8K, which (as I understand it), 
would result in TA_GB for a primitive with a screenspace bounding box wider 
than 8K pixels.  This could mean such primitives get trivially accepted, which 
violates the rule in the vertex X,Y quantization section that all primitives 
must have width/height = 8K, which explicitly states that software must 
guarantee that via clipping.

I have an alternate patch which should fix the problem a bit differently, and 
likely some other issues we'll hit if/when we bump the maximum texture size to 
16K:

http://mid.gmane.org/1409096395-19654-1-git-send-email-kenn...@whitecape.org

--Ken

signature.asc
Description: This is a digitally signed message part.
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev


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

2014-08-25 Thread Ian Romanick
On 08/14/2014 09:09 AM, Topi Pohjolainen wrote:
 From: Topi Pohjolainen topi.pohjolai...@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.pohjolai...@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;
 +

I've had this on my various trees for almost two weeks now, and it
doesn't seem to have caused any problems.  I'm wondering if we want to
make this check a bit more specific to the stencil blit case.

Either way, I'd like to see this or something similar land soon.

/* _NEW_VIEWPORT: Guardband Clipping */
vp[8]  = -gbx; /* x-min */
vp[9]  =  gbx; /* x-max */
 

___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev


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

2014-08-14 Thread Topi Pohjolainen
From: Topi Pohjolainen topi.pohjolai...@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.pohjolai...@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

___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev


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

2014-08-14 Thread Ian Romanick
I've added this patch to my gles3conform-v5 and gles3conform-v6-wip
branches.

On 08/14/2014 09:09 AM, Topi Pohjolainen wrote:
 From: Topi Pohjolainen topi.pohjolai...@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.pohjolai...@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 */
 

___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev


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

2014-08-14 Thread Anuj Phogat
On Thu, Aug 14, 2014 at 9:09 AM, Topi Pohjolainen 
topi.pohjolai...@intel.com wrote:

 From: Topi Pohjolainen topi.pohjolai...@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.pohjolai...@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

 ___
 mesa-dev mailing list
 mesa-dev@lists.freedesktop.org
 http://lists.freedesktop.org/mailman/listinfo/mesa-dev


Tested-by: Anuj Phogat anuj.pho...@gmail.com
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev