loader: Add dynamic dispatch for unknown device extension entrypoints

GetInstancePorcAddr() is specified to return trampoline entrypoints for all
Vulkan core and extension entrypoints that are dispatched on an instance object
or a child of that instance object. However, typically, device extensions would
be unknown to the loader (don't want to rev the loader everytime an IHV creates
a new device extension).

This patch allows loader to dynamically discover device extension entrypoints
and configure generic trampoline code for these discovered device extensions.
This commit is contained in:
Jon Ashburn 2015-11-17 15:31:02 -07:00 committed by Mark Lobodzinski
parent 803896230a
commit dc8a8707bc

View File

@ -17,8 +17,7 @@
# define VK_LAYER_EXPORT # define VK_LAYER_EXPORT
#endif #endif
typedef void * (*PFN_vkGPA)(void* obj, const char * pName); typedef void * (VKAPI_PTR *PFN_vkGPA)(void* obj, const char * pName);
typedef struct VkBaseLayerObject_ typedef struct VkBaseLayerObject_
{ {
PFN_vkGPA pGPA; PFN_vkGPA pGPA;