[Mesa-dev] [PATCH] i965: Fix the render ring prelude on Gen4-5.

Pohjolainen, Topi topi.pohjolainen at intel.com
Wed Apr 27 16:48:02 UTC 2016


On Tue, Apr 26, 2016 at 04:41:08PM -0700, Kenneth Graunke wrote:
> My intention was to have the render ring prelude occur at the first
> point where we start emiting render commands into a batch.
> 
> Gen4-5 have a single ring that handles both BLT and 3D commands, so it's
> possible to have a BLT -> RENDER transition in the middle of a batch
> (not just at the start when prev_ring == UNKNOWN).  We want to call the
> prelude here as well.
> 
> Today, this means we'll miss a OA bookend snapshot.  Topi's also
> thinking of moving some code here that absolutely must run before RENDER
> commands happen, at which point fixing this will be more critical.

I dropped those plans in the end but I think this is worth fixing anyway:

Reviewed-by: Topi Pohjolainen <topi.pohjolainen at intel.com>

> 
> Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
> ---
>  src/mesa/drivers/dri/i965/intel_batchbuffer.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/src/mesa/drivers/dri/i965/intel_batchbuffer.c b/src/mesa/drivers/dri/i965/intel_batchbuffer.c
> index e41f927..47a2864 100644
> --- a/src/mesa/drivers/dri/i965/intel_batchbuffer.c
> +++ b/src/mesa/drivers/dri/i965/intel_batchbuffer.c
> @@ -128,7 +128,7 @@ intel_batchbuffer_require_space(struct brw_context *brw, GLuint sz,
>      */
>     brw->batch.ring = ring;
>  
> -   if (unlikely(prev_ring == UNKNOWN_RING && ring == RENDER_RING))
> +   if (unlikely(prev_ring != RENDER_RING && ring == RENDER_RING))
>        intel_batchbuffer_emit_render_ring_prelude(brw);
>  }
>  
> -- 
> 2.8.0
> 


More information about the mesa-dev mailing list