/* Destination surface dimensions. */
unsigned dst_width;
unsigned dst_height;
-
- boolean running;
};
static void blitter_draw_rectangle(struct blitter_context *blitter,
static void blitter_check_saved_CSOs(struct blitter_context_priv *ctx)
{
- if (ctx->running) {
+ if (ctx->base.running) {
_debug_printf("u_blitter: Caught recursion on save. "
"This is a driver bug.\n");
}
- ctx->running = TRUE;
+ ctx->base.running = TRUE;
/* make sure these CSOs have been saved */
assert(ctx->base.saved_blend_state != INVALID_PTR &&
ctx->base.saved_num_vertex_buffers = ~0;
}
- if (!ctx->running) {
+ if (!ctx->base.running) {
_debug_printf("u_blitter: Caught recursion on restore. "
"This is a driver bug.\n");
}
- ctx->running = FALSE;
+ ctx->base.running = FALSE;
}
static void blitter_set_rectangle(struct blitter_context_priv *ctx,
dst->nr_samples, bind, 0) ||
!screen->is_format_supported(screen, src->format, src->target,
src->nr_samples, PIPE_BIND_SAMPLER_VIEW, 0)) {
+ ctx->base.running = TRUE;
util_resource_copy_region(pipe, dst, dstlevel, dstx, dsty, dstz,
src, srclevel, srcbox);
+ ctx->base.running = FALSE;
return;
}