v3dv: fix color clear pipeline destruction for 32-bit architectures
Command buffer object destruction callbacks take 64-bit object handles, but we defined the color clear pipeline callback to take a 32-bit argument. Should fix recent crash regressions with some CTS tests on Rpi4. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6766>
This commit is contained in:
committed by
Marge Bot
parent
4acf5985a4
commit
9518b677f1
@@ -30,9 +30,11 @@
|
||||
|
||||
static void
|
||||
destroy_color_clear_pipeline(VkDevice _device,
|
||||
struct v3dv_meta_color_clear_pipeline *p,
|
||||
uint64_t pipeline,
|
||||
VkAllocationCallbacks *alloc)
|
||||
{
|
||||
struct v3dv_meta_color_clear_pipeline *p =
|
||||
(struct v3dv_meta_color_clear_pipeline *) (uintptr_t) pipeline;
|
||||
v3dv_DestroyPipeline(_device, p->pipeline, alloc);
|
||||
if (p->cached)
|
||||
v3dv_DestroyRenderPass(_device, p->pass, alloc);
|
||||
@@ -65,7 +67,7 @@ v3dv_meta_clear_finish(struct v3dv_device *device)
|
||||
|
||||
hash_table_foreach(device->meta.color_clear.cache, entry) {
|
||||
struct v3dv_meta_color_clear_pipeline *item = entry->data;
|
||||
destroy_color_clear_pipeline(_device, item, &device->alloc);
|
||||
destroy_color_clear_pipeline(_device, (uintptr_t)item, &device->alloc);
|
||||
}
|
||||
_mesa_hash_table_destroy(device->meta.color_clear.cache, NULL);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user