Vulkan-Docs/doc/specs/vulkan/man/vkGetDeviceProcAddr.txt

83 lines
2.3 KiB
Plaintext

// 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[]