panvk: Don't leak vertex shader program descriptors
Vertex shaders can have up to three different program descriptors. Free all of them in panvk_shader_destroy(). Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com> Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31382>
This commit is contained in:
committed by
Marge Bot
parent
bea7c59113
commit
ce14681ebf
@@ -775,7 +775,13 @@ panvk_shader_destroy(struct vk_device *vk_dev, struct vk_shader *vk_shader,
|
||||
panvk_pool_free_mem(&dev->mempools.exec, shader->rsd);
|
||||
panvk_pool_free_mem(&dev->mempools.exec, shader->desc_info.others.map);
|
||||
#else
|
||||
panvk_pool_free_mem(&dev->mempools.exec, shader->spd);
|
||||
if (shader->info.stage != MESA_SHADER_VERTEX) {
|
||||
panvk_pool_free_mem(&dev->mempools.exec, shader->spd);
|
||||
} else {
|
||||
panvk_pool_free_mem(&dev->mempools.exec, shader->spds.var);
|
||||
panvk_pool_free_mem(&dev->mempools.exec, shader->spds.pos_points);
|
||||
panvk_pool_free_mem(&dev->mempools.exec, shader->spds.pos_triangles);
|
||||
}
|
||||
#endif
|
||||
|
||||
free((void *)shader->bin_ptr);
|
||||
|
||||
Reference in New Issue
Block a user