Skip to content
Commit 2bc7afaf authored by Ricardo Garcia's avatar Ricardo Garcia Committed by Mark Lobodzinski
Browse files

loader: Destroy debug callbacks/messengers properly

When creating debug callbacks or messengers, each of them is added to a
linked list from the terminator, with the handle provided by the ICD.

When enabling some validation layers, this handle is renamed as part of
the chain and the application gets a different one.

In the removal process, the application usually receives one of these
function pointers using vkGetInstanceProcAddr:

  - debug_utils_DestroyDebugReportCallbackEXT
  - debug_utils_DestroyDebugUtilsMessengerEXT

Those trigger the chain calls but then try to remove the callback or
messenger from the linked list using the application-level handle, which
is not found because it doesn't match the one from the ICD.

The linked list should be accessed from the destruction terminators,
when the handle has already been unwrapped by the layers.
parent 4273a371
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment