mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-02 18:10:17 +01:00
i915: move the FALLBACK_DRAW_OFFSET check outside the drawing rect check
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@linux.intel.com> Reviewed-by: Eric Anholt <eric@anholt.net>
This commit is contained in:
parent
4aa1ac5fe9
commit
cf2f9ef015
1 changed files with 3 additions and 4 deletions
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue