xref: /aosp_15_r20/external/vulkan-validation-layers/docs/object_tracker_layer.md (revision b7893ccf7851cd6a48cc5a1e965257d8a5cdcc70)
1*b7893ccfSSadaf Ebrahimi<!-- markdownlint-disable MD041 -->
2*b7893ccfSSadaf Ebrahimi<!-- Copyright 2015-2019 LunarG, Inc. -->
3*b7893ccfSSadaf Ebrahimi[![Khronos Vulkan][1]][2]
4*b7893ccfSSadaf Ebrahimi
5*b7893ccfSSadaf Ebrahimi[1]: https://vulkan.lunarg.com/img/Vulkan_100px_Dec16.png "https://www.khronos.org/vulkan/"
6*b7893ccfSSadaf Ebrahimi[2]: https://www.khronos.org/vulkan/
7*b7893ccfSSadaf Ebrahimi
8*b7893ccfSSadaf Ebrahimi# VK\_LAYER\_LUNARG\_object\_tracker
9*b7893ccfSSadaf Ebrahimi
10*b7893ccfSSadaf Ebrahimi[![Creative Commons][3]][4]
11*b7893ccfSSadaf Ebrahimi
12*b7893ccfSSadaf Ebrahimi[3]: https://i.creativecommons.org/l/by-nd/4.0/88x31.png "Creative Commons License"
13*b7893ccfSSadaf Ebrahimi[4]: https://creativecommons.org/licenses/by-nd/4.0/
14*b7893ccfSSadaf Ebrahimi
15*b7893ccfSSadaf EbrahimiThe `VK_LAYER_LUNARG_object_tracker` layer tracks all Vulkan objects. Object lifetimes are validated along with issues related to unknown objects and object destruction and cleanup.
16*b7893ccfSSadaf Ebrahimi
17*b7893ccfSSadaf EbrahimiAll Vulkan dispatchable and non-dispatchable objects are tracked by the `VK_LAYER_LUNARG_object_tracker` layer.
18*b7893ccfSSadaf Ebrahimi
19*b7893ccfSSadaf EbrahimiThis layer validates that:
20*b7893ccfSSadaf Ebrahimi
21*b7893ccfSSadaf Ebrahimi- only known objects are referenced and destroyed
22*b7893ccfSSadaf Ebrahimi- lookups are performed only on objects being tracked
23*b7893ccfSSadaf Ebrahimi- objects are correctly freed/destroyed.
24*b7893ccfSSadaf Ebrahimi
25*b7893ccfSSadaf EbrahimiThe `VK_LAYER_LUNARG_object_tracker` layer will print errors if validation checks are not correctly met and warnings if improper reference of objects is detected.
26