zink: update surface info when rebinding to storage
authorMike Blumenkrantz <michael.blumenkrantz@gmail.com>
Thu, 2 Sep 2021 19:21:04 +0000 (15:21 -0400)
committerMarge Bot <eric+marge@anholt.net>
Tue, 14 Sep 2021 05:47:47 +0000 (05:47 +0000)
fixes some validation for imageless framebuffer usage

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12843>

src/gallium/drivers/zink/zink_surface.c

index 70406d6..4b712cc 100644 (file)
@@ -312,6 +312,10 @@ zink_rebind_surface(struct zink_context *ctx, struct pipe_surface **psurface)
    surface->simage_view = surface->image_view;
    surface->image_view = image_view;
    surface->obj = zink_resource(surface->base.texture)->obj;
+   /* update for imageless fb */
+   surface->info.flags = res->obj->vkflags;
+   surface->info.usage = res->obj->vkusage;
+   surface->info_hash = _mesa_hash_data(&surface->info, sizeof(surface->info));
    zink_batch_usage_set(&surface->batch_uses, ctx->batch.state);
    simple_mtx_unlock(&res->surface_mtx);
    return true;