diff options
Diffstat (limited to 'src/gallium/drivers/i915/i915_state_static.c')
-rw-r--r-- | src/gallium/drivers/i915/i915_state_static.c | 31 |
1 files changed, 3 insertions, 28 deletions
diff --git a/src/gallium/drivers/i915/i915_state_static.c b/src/gallium/drivers/i915/i915_state_static.c index fbbcf94fd1..70b3dffee3 100644 --- a/src/gallium/drivers/i915/i915_state_static.c +++ b/src/gallium/drivers/i915/i915_state_static.c @@ -78,29 +78,6 @@ buf_3d_tiling_bits(enum i915_winsys_buffer_tile tiling) return tiling_bits; } -/** - * Examine framebuffer state to determine width, height. - */ -static boolean -framebuffer_size(const struct pipe_framebuffer_state *fb, - uint *width, uint *height) -{ - if (fb->cbufs[0]) { - *width = fb->cbufs[0]->width; - *height = fb->cbufs[0]->height; - return TRUE; - } - else if (fb->zsbuf) { - *width = fb->zsbuf->width; - *height = fb->zsbuf->height; - return TRUE; - } - else { - *width = *height = 0; - return FALSE; - } -} - static void update_framebuffer(struct i915_context *i915) { struct pipe_surface *cbuf_surface = i915->framebuffer.cbufs[0]; @@ -109,7 +86,6 @@ static void update_framebuffer(struct i915_context *i915) unsigned x, y, w, h; int layer; uint32_t draw_offset; - boolean ret; if (cbuf_surface) { struct i915_texture *tex = i915_texture(cbuf_surface->texture); @@ -160,15 +136,14 @@ static void update_framebuffer(struct i915_context *i915) /* drawing rect calculations */ draw_offset = x | (y << 16); - ret = framebuffer_size(&i915->framebuffer, &w, &h); - assert(ret); if (i915->current.draw_offset != draw_offset) { i915->current.draw_offset = draw_offset; i915_set_flush_dirty(i915, I915_PIPELINE_FLUSH); } + + w = i915->framebuffer.width; + h = i915->framebuffer.height; i915->current.draw_size = (w - 1 + x) | ((h - 1 + y) << 16); - i915->current.fb_height = h; - i915->current.fb_width = w; i915->hardware_dirty |= I915_HW_STATIC; |