Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11371>
*/
bool in_discard_blit : 1 dt;
+ /* For catching recursion problems with blit fallback: */
+ bool in_blit : 1 dt;
+
/* points to either scissor or disabled_scissor depending on rast state: */
struct pipe_scissor_state *current_scissor dt;
{
struct pipe_context *pctx = &ctx->base;
+ assert(!ctx->in_blit);
+ ctx->in_blit = true;
+
/* TODO size threshold too?? */
if (fallback || !fd_blit(pctx, blit)) {
/* do blit on cpu: */
blit->dst.box.z, blit->src.resource,
blit->src.level, &blit->src.box);
}
+
+ ctx->in_blit = false;
}
/**