// Copyright (c) 2014-2016 Khronos Group. This work is licensed under a // Creative Commons Attribution 4.0 International License; see // http://creativecommons.org/licenses/by/4.0/ vkGetDeviceProcAddr(3) ====================== Name ---- vkGetDeviceProcAddr - Return a function pointer for a command C Specification --------------- // refBegin vkGetDeviceProcAddr Return a function pointer for a command In order to support systems with multiple Vulkan implementations comprising heterogeneous collections of hardware and software, the function pointers returned by fname:vkGetInstanceProcAddr may: point to dispatch code, which calls a different real implementation for different sname:VkDevice objects (and objects created from them). The overhead of this internal dispatch can: be avoided by obtaining device-specific function pointers for any commands that use a device or device-child object as their dispatchable object. Such function pointers can: be obtained with the command: include::../api/protos/vkGetDeviceProcAddr.txt[] Parameters ---------- The table below defines the various use cases for fname:vkGetDeviceProcAddr and expected return value for each case. Description ----------- The returned function pointer is of type tlink:PFN_vkVoidFunction, and must be cast to the type of the command being queried. .vkGetDeviceProcAddr behavior [width="80%",options="header",align="center"] |===== | pname:device | pname:pName | return value | NULL | * | undefined | invalid device | * | undefined | device | NULL | undefined | device | core Vulkan command^1^ | fp | device | enabled device extension commands for pname:device | fp | device | * (any pname:pName not covered above) | NULL |===== 1:: pname:pName is the name of any Vulkan command whose first parameter is sname:VkDevice or any of its dispatchable children (e.g. sname:VkQueue, sname:vkCommandBuffer). include::../validity/protos/vkGetDeviceProcAddr.txt[] // refEnd vkGetDeviceProcAddr PFN_vkVoidFunction See Also -------- tlink:PFN_vkVoidFunction, slink:VkDevice Document Notes -------------- For more information, see the Vulkan Specification at URL https://www.khronos.org/registry/vulkan/specs/1.0/xhtml/vkspec.html#vkGetDeviceProcAddr This page is extracted from the Vulkan Specification. Fixes and changes should be made to the Specification,not directly. include::footer.txt[]