Mesa (master): v3dv: use the common base object type and struct

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Wed Nov 18 00:00:51 UTC 2020


Module: Mesa
Branch: master
Commit: 30b6fbc496badc12e460022e32c6f21754120aef
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=30b6fbc496badc12e460022e32c6f21754120aef

Author: Alejandro Piñeiro <apinheiro at igalia.com>
Date:   Thu Nov 12 16:30:41 2020 +0100

v3dv: use the common base object type and struct

Used as reference Hyujun's commit
5d3fdbc52bf8bee6f0acfd55c87b8d280908b559, that does the same for
turnip.

This commit also replaces in several cases alloc for zalloc, and adds
checks on more Destroy methods if the object to be free is NULL or
not. Most of them were needed to avoid crashes/weird behaviour due
trying to use un-initialized data. Note that now that vk_object_free
iterates over a array, making it more against un-initialized or just
NULL data.

Additionally, using zalloc we can also remove some memset to 0. In
fact we needed to remove them, as if not, they would override the
vk_object_base object to 0 (the alternative would me doing a memset
computing a pointer offset, but that's is not needed as we can just
use zalloc).

v2:
   * Call memset(0) on reused descriptor sets when calling
     ResetDescriptorPool, not when reallocating them (Iago)
   * Add null check when calling DestroyImageView (detected by a full CTS run)

v3: Fixed rebase conflicts after last meta copy/clear changes

Reviewed-by: Iago Toral Quiroga <itoral at igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7627>

---

 src/broadcom/vulkan/v3dv_bo.c             | 12 ++---
 src/broadcom/vulkan/v3dv_cmd_buffer.c     | 76 ++++++++++++++--------------
 src/broadcom/vulkan/v3dv_descriptor_set.c | 49 ++++++++++--------
 src/broadcom/vulkan/v3dv_device.c         | 58 +++++++++++----------
 src/broadcom/vulkan/v3dv_image.c          | 28 +++++++----
 src/broadcom/vulkan/v3dv_meta_clear.c     | 36 ++++++-------
 src/broadcom/vulkan/v3dv_meta_copy.c      | 84 +++++++++++++++----------------
 src/broadcom/vulkan/v3dv_pass.c           | 13 +++--
 src/broadcom/vulkan/v3dv_pipeline.c       | 35 ++++++-------
 src/broadcom/vulkan/v3dv_pipeline_cache.c | 10 ++--
 src/broadcom/vulkan/v3dv_private.h        | 54 +++++++++++++++++---
 src/broadcom/vulkan/v3dv_query.c          | 14 +++---
 src/broadcom/vulkan/v3dv_queue.c          | 36 ++++++-------
 src/broadcom/vulkan/v3dv_wsi.c            |  4 +-
 14 files changed, 283 insertions(+), 226 deletions(-)

Diff:   http://cgit.freedesktop.org/mesa/mesa/diff/?id=30b6fbc496badc12e460022e32c6f21754120aef


More information about the mesa-commit mailing list