aboutsummaryrefslogtreecommitdiff
path: root/loader/loader.c
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 /loader/loader.c
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.
Diffstat (limited to 'loader/loader.c')
-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);
}
}