[Mesa-dev] [PATCH] i915: move the FALLBACK_DRAW_OFFSET check outside the drawing rect check

Eric Anholt eric at anholt.net
Tue Mar 6 08:26:46 PST 2012


On Tue,  6 Mar 2012 14:40:32 +0800, Yuanhan Liu <yuanhan.liu at linux.intel.com> wrote:
> We have to do fallback when the 'Clipped Drawing Rectangle X/Y Max'
> exceed the hardware's limit no matter the drawing rectangle offset
> changed or not.
> 
> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=46665
> 
> NOTE: This is a candidate for stable release branches.
> 
> Signed-off-by: Yuanhan Liu <yuanhan.liu at linux.intel.com>
> ---
>  src/mesa/drivers/dri/i915/i915_vtbl.c |    7 +++----
>  1 files changed, 3 insertions(+), 4 deletions(-)
> 
> diff --git a/src/mesa/drivers/dri/i915/i915_vtbl.c b/src/mesa/drivers/dri/i915/i915_vtbl.c
> index 11e8a35..e78dbc8 100644
> --- a/src/mesa/drivers/dri/i915/i915_vtbl.c
> +++ b/src/mesa/drivers/dri/i915/i915_vtbl.c
> @@ -665,12 +665,11 @@ i915_set_draw_region(struct intel_context *intel,
>  
>     draw_offset = (draw_y << 16) | draw_x;
>  
> +   FALLBACK(intel, I915_FALLBACK_DRAW_OFFSET,
> +            (ctx->DrawBuffer->Width + draw_x > 2048) ||
> +            (ctx->DrawBuffer->Height + draw_y > 2048));
>     /* When changing drawing rectangle offset, an MI_FLUSH is first required. */
>     if (draw_offset != i915->last_draw_offset) {
> -      FALLBACK(intel, I915_FALLBACK_DRAW_OFFSET,
> -               (ctx->DrawBuffer->Width + draw_x > 2048) ||
> -               (ctx->DrawBuffer->Height + draw_y > 2048));
> -
>        state->Buffer[I915_DESTREG_DRAWRECT0] = MI_FLUSH | INHIBIT_FLUSH_RENDER_CACHE;
>        i915->last_draw_offset = draw_offset;
>     } else

Reviewed-by: Eric Anholt <eric at anholt.net>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 197 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/mesa-dev/attachments/20120306/e3838005/attachment.pgp>


More information about the mesa-dev mailing list