zink: flag renderpass change when toggling fbfetch
ensure the input attachment gets updated fixes running KHR-GL46.blend_equation_advanced.blend_all.GL_MULTIPLY_KHR_all_qualifier after KHR-GL46.blend_equation_advanced.BlendEquationSeparate cc: mesa-stable Reviewed-by: Hoe Hao Cheng <haochengho12907@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13598>
This commit is contained in:
parent
2d041d5f1e
commit
6239adebbc
|
@ -1832,6 +1832,8 @@ zink_update_fbfetch(struct zink_context *ctx)
|
|||
!ctx->gfx_stages[PIPE_SHADER_FRAGMENT]->nir->info.fs.uses_fbfetch_output) {
|
||||
if (!had_fbfetch)
|
||||
return;
|
||||
ctx->rp_changed = true;
|
||||
zink_batch_no_rp(ctx);
|
||||
ctx->di.fbfetch.imageLayout = VK_IMAGE_LAYOUT_UNDEFINED;
|
||||
ctx->di.fbfetch.imageView = zink_screen(ctx->base.screen)->info.rb2_feats.nullDescriptor ?
|
||||
VK_NULL_HANDLE :
|
||||
|
@ -1847,8 +1849,11 @@ zink_update_fbfetch(struct zink_context *ctx)
|
|||
ctx->di.fbfetch.imageView = zink_csurface(ctx->fb_state.cbufs[0])->image_view;
|
||||
}
|
||||
ctx->di.fbfetch.imageLayout = VK_IMAGE_LAYOUT_GENERAL;
|
||||
if (changed)
|
||||
if (changed) {
|
||||
zink_screen(ctx->base.screen)->context_invalidate_descriptor_state(ctx, PIPE_SHADER_FRAGMENT, ZINK_DESCRIPTOR_TYPE_UBO, 0, 1);
|
||||
ctx->rp_changed = true;
|
||||
zink_batch_no_rp(ctx);
|
||||
}
|
||||
}
|
||||
|
||||
static size_t
|
||||
|
|
Loading…
Reference in New Issue