diff options
Diffstat (limited to 'src/gallium/drivers/i915')
-rw-r--r-- | src/gallium/drivers/i915/i915_state.c | 11 |
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); |