(struct pipe_framebuffer_state*)r300->fb_state.state;
/* Only color clear allowed, and only one colorbuffer. */
- if (clear_buffers != PIPE_CLEAR_COLOR || fb->nr_cbufs != 1)
+ if ((clear_buffers & ~PIPE_CLEAR_COLOR) != 0 || fb->nr_cbufs != 1)
return FALSE;
return r300_surface(fb->cbufs[0])->cbzb_allowed;
/* Clear. */
if (buffers) {
- enum pipe_format cformat = fb->nr_cbufs ? fb->cbufs[0]->format : PIPE_FORMAT_NONE;
/* Clear using the blitter. */
r300_blitter_begin(r300, R300_CLEAR);
- util_blitter_clear(r300->blitter,
- width,
- height,
- fb->nr_cbufs,
- buffers, cformat, color, depth, stencil);
+ util_blitter_clear(r300->blitter, width, height, 1,
+ buffers, color, depth, stencil);
r300_blitter_end(r300);
} else if (r300->zmask_clear.dirty ||
r300->hiz_clear.dirty ||
r300_blitter_end(r300);
}
+static void r300_flush_resource(struct pipe_context *ctx,
+ struct pipe_resource *resource)
+{
+}
+
void r300_init_blit_functions(struct r300_context *r300)
{
r300->context.clear = r300_clear;
r300->context.clear_depth_stencil = r300_clear_depth_stencil;
r300->context.resource_copy_region = r300_resource_copy_region;
r300->context.blit = r300_blit;
+ r300->context.flush_resource = r300_flush_resource;
}