From 5b037aaac41d54416a2ff9f596f3e59be3151a6a Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Mon, 24 Apr 2023 16:27:11 -0400 Subject: [PATCH] i915: use util_copy_framebuffer_state to set fb state MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fixes: f5bde99cbdd ("gallium: plumb resolve attachments through from frontends -> pipe_framebuffer_state") Reviewed-by: José Roberto de Souza Reviewed-by: Emma Anholt Part-of: (cherry picked from commit b86f0280d780a199e2336aa7fd2c1a6836418b1f) --- .pick_status.json | 2 +- src/gallium/drivers/i915/i915_state.c | 11 ++--------- 2 files changed, 3 insertions(+), 10 deletions(-) diff --git a/.pick_status.json b/.pick_status.json index 957c3e469d3..21b40343e6d 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -688,7 +688,7 @@ "description": "i915: use util_copy_framebuffer_state to set fb state", "nominated": true, "nomination_type": 1, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": "f5bde99cbdd208916795dc463663ddd97428ecc1" }, diff --git a/src/gallium/drivers/i915/i915_state.c b/src/gallium/drivers/i915/i915_state.c index cb5db6208af..f4640c0d501 100644 --- a/src/gallium/drivers/i915/i915_state.c +++ b/src/gallium/drivers/i915/i915_state.c @@ -815,12 +815,8 @@ i915_set_framebuffer_state(struct pipe_context *pipe, { struct i915_context *i915 = i915_context(pipe); - i915->framebuffer.width = fb->width; - i915->framebuffer.height = fb->height; - i915->framebuffer.nr_cbufs = fb->nr_cbufs; + util_copy_framebuffer_state(&i915->framebuffer, fb); if (fb->nr_cbufs) { - pipe_surface_reference(&i915->framebuffer.cbufs[0], fb->cbufs[0]); - struct i915_surface *surf = i915_surface(i915->framebuffer.cbufs[0]); if (i915->current.fixup_swizzle != surf->oc_swizzle) { i915->current.fixup_swizzle = surf->oc_swizzle; @@ -828,10 +824,7 @@ i915_set_framebuffer_state(struct pipe_context *pipe, sizeof(surf->color_swizzle)); i915->dirty |= I915_NEW_COLOR_SWIZZLE; } - } else { - pipe_surface_reference(&i915->framebuffer.cbufs[0], NULL); - } - pipe_surface_reference(&i915->framebuffer.zsbuf, fb->zsbuf); + } if (fb->zsbuf) draw_set_zs_format(i915->draw, fb->zsbuf->format);