aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJon Ashburn <jon@lunarg.com>2015-04-24 17:15:00 -0700
committerCourtney Goeltzenleuchter <courtney@LunarG.com>2015-04-29 11:25:21 -0600
commitdf8f1ec0507897fe34ea79abf1bf8b7c9e1bf44c (patch)
tree8e906cfdabf94b28815120269810788244d224d6
parentbb3c9cb6074d92a09bf66cfffeba26b9f436fad6 (diff)
downloadusermoji-df8f1ec0507897fe34ea79abf1bf8b7c9e1bf44c.tar.xz
loader: Terminate chain of GetProcAddr() in driver if gpu obj is base
Fixes issue when driver doesn't implement an entrypoint of recursing and unwrapping gpu object too many times.
-rw-r--r--loader/loader.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/loader/loader.c b/loader/loader.c
index 64f6bb0f..fc5fc6eb 100644
--- a/loader/loader.c
+++ b/loader/loader.c
@@ -746,6 +746,8 @@ static void * VKAPI loader_gpa_internal(VkPhysicalDevice gpu, const char * pName
else {
if (disp_table->GetProcAddr == NULL)
return NULL;
+ if (gpuw->baseObject == gpuw->nextObject)
+ return gpuw->pGPA(gpuw->baseObject, pName);
return disp_table->GetProcAddr(gpuw->nextObject, pName);
}
}