aboutsummaryrefslogtreecommitdiff
path: root/layers/parameter_validation.cpp
diff options
context:
space:
mode:
authorPiers Daniell <pdaniell@nvidia.com>2016-03-29 11:51:11 -0600
committerJon Ashburn <jon@lunarg.com>2016-04-01 11:24:31 -0600
commit8bc0c51ef3c01a3964f3bcf16ef639aaedf259f7 (patch)
tree0d5886ba11f8ded12654d170647a0a56b79845ee /layers/parameter_validation.cpp
parent62cef16bdf6155f136202daae711a80a1deb0351 (diff)
downloadusermoji-8bc0c51ef3c01a3964f3bcf16ef639aaedf259f7.tar.xz
loader: Remove trampoline/terminator dependency in vkEnumeratePhysicalDevices
There was a dependency between the trampoline vkEnumeratePhysicalDevices and the terminator vkEnumeratePhysicalDevices via the loader_instance.phys_devs_term array which may break layers that manipulate the enumerated VkPhysicalDevice list. This dependency assumed the devices in loader_instance.phys_devs_term and loader_instance.phys_devs were in the same order and that it could assume the index of one corresponding to the same VkPhysicalDevice of the other. Breaking this dependency allows layers to modify or reorder the VkPhysicalDevice list by intercepting the vkEnumeratePhysicalDevices function without causing the loader to crash. In general, there should never be a dependency between the trampoline code and the terminator code because it has the potential to break unknown layers between them. Conflicts: loader/loader.c loader/trampoline.c Change-Id: Iafefd6e8b7dd58d398a76533f957123242c01b56
Diffstat (limited to 'layers/parameter_validation.cpp')
0 files changed, 0 insertions, 0 deletions