Commit 0c399dca authored by Jason Ekstrand's avatar Jason Ekstrand

anv: Add a per-instance dispatch table

We also switch GetInstanceProcAddr over to use it.
Reviewed-by: Samuel Iglesias Gonsálvez's avatarSamuel Iglesias Gonsálvez <siglesias@igalia.com>
parent a372b924
......@@ -574,6 +574,7 @@ VkResult anv_CreateInstance(
instance->apiVersion = client_version;
instance->enabled_extensions = enabled_extensions;
instance->dispatch = anv_dispatch_table;
instance->physicalDeviceCount = -1;
result = vk_debug_report_instance_init(&instance->debug_report_callbacks);
......@@ -1088,7 +1089,11 @@ PFN_vkVoidFunction anv_GetInstanceProcAddr(
if (instance == NULL)
return NULL;
return anv_lookup_entrypoint(NULL, pName);
int idx = anv_get_entrypoint_index(pName);
if (idx < 0)
return NULL;
return instance->dispatch.entrypoints[idx];
}
/* With version 1+ of the loader interface the ICD should expose
......
......@@ -797,6 +797,7 @@ struct anv_instance {
uint32_t apiVersion;
struct anv_instance_extension_table enabled_extensions;
struct anv_dispatch_table dispatch;
int physicalDeviceCount;
struct anv_physical_device physicalDevice;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment