zink: stop swizzling conditional render during batch flush

conditional render is only supposed to be enabled during renderpasses,
and this ends up doing mismatched start/stop in and out of renderpasses

affects:
GTF-GL46.gtf30.GL3Tests.conditional_render*

cc: mesa-stable

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23511>
(cherry picked from commit 6aa9e95021)
This commit is contained in:
Mike Blumenkrantz 2023-05-11 10:29:00 -04:00 committed by Eric Engestrom
parent 67ff45c08e
commit a1a71c0857
2 changed files with 1 additions and 5 deletions

View file

@ -3352,7 +3352,7 @@
"description": "zink: stop swizzling conditional render during batch flush",
"nominated": true,
"nomination_type": 0,
"resolution": 0,
"resolution": 1,
"main_sha": null,
"because_sha": null
},

View file

@ -3201,8 +3201,6 @@ flush_batch(struct zink_context *ctx, bool sync)
if (ctx->clears_enabled)
/* start rp to do all the clears */
zink_batch_rp(ctx);
bool conditional_render_active = ctx->render_condition.active;
zink_stop_conditional_render(ctx);
zink_batch_no_rp_safe(ctx);
zink_end_batch(ctx, batch);
ctx->deferred_fence = NULL;
@ -3231,8 +3229,6 @@ flush_batch(struct zink_context *ctx, bool sync)
VKCTX(CmdSetPatchControlPointsEXT)(ctx->batch.state->cmdbuf, ctx->gfx_pipeline_state.dyn_state2.vertices_per_patch);
VKCTX(CmdSetPatchControlPointsEXT)(ctx->batch.state->barrier_cmdbuf, 1);
}
if (conditional_render_active)
zink_start_conditional_render(ctx);
reapply_color_write(ctx);
update_layered_rendering_state(ctx);
tc_renderpass_info_reset(&ctx->dynamic_fb.tc_info);