mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-31 16:20:13 +01:00
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:
parent
bea7c59113
commit
ce14681ebf
1 changed files with 7 additions and 1 deletions
|
|
@ -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);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue