summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/i915
diff options
context:
space:
mode:
Diffstat (limited to 'src/gallium/drivers/i915')
-rw-r--r--src/gallium/drivers/i915/i915_state.c11
1 files changed, 2 insertions, 9 deletions
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);