zink: only add deferred barrier on fb unbind when layout needs to change
this otherwise may have been a surface that was never drawn to or already had its layout corrected, in which case a deferred barrier is not only unnecessary, it might be broken cc: mesa-stable Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21739>
This commit is contained in:
committed by
Marge Bot
parent
bc04e2daca
commit
e0dfe058c4
@@ -3177,7 +3177,8 @@ unbind_fb_surface(struct zink_context *ctx, struct pipe_surface *surf, unsigned
|
||||
check_resource_for_batch_ref(ctx, res);
|
||||
if (res->sampler_bind_count[0]) {
|
||||
update_res_sampler_layouts(ctx, res);
|
||||
_mesa_set_add(ctx->need_barriers[0], res);
|
||||
if (res->layout != VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL)
|
||||
_mesa_set_add(ctx->need_barriers[0], res);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user