Clarify fptr get tables (#1004)

This commit is contained in:
Petr Kraus 2019-08-09 14:08:39 +02:00 committed by Jon Leech
parent eabbb0d965
commit d270e4c055

View File

@ -56,28 +56,31 @@ be cast to the type of the command being queried.
[width="80%",options="header"] [width="80%",options="header"]
|==== |====
| pname:instance | pname:pName | return value | pname:instance | pname:pName | return value
| * | `NULL` | undefined: | *^1^ | `NULL` | undefined:
| invalid instance | * | undefined: | invalid non-`NULL` instance | *^1^ | undefined:
ifdef::VK_VERSION_1_1[] ifdef::VK_VERSION_1_1[]
| `NULL` | flink:vkEnumerateInstanceVersion | fp | `NULL` | flink:vkEnumerateInstanceVersion | fp
endif::VK_VERSION_1_1[] endif::VK_VERSION_1_1[]
| `NULL` | flink:vkEnumerateInstanceExtensionProperties | fp | `NULL` | flink:vkEnumerateInstanceExtensionProperties | fp
| `NULL` | flink:vkEnumerateInstanceLayerProperties | fp | `NULL` | flink:vkEnumerateInstanceLayerProperties | fp
| `NULL` | flink:vkCreateInstance | fp | `NULL` | flink:vkCreateInstance | fp
| `NULL` | * (any pname:pName not covered above) | `NULL` | instance | core Vulkan command | fp^2^
| instance | core Vulkan command | fp^1^ | instance | enabled instance extension commands for pname:instance | fp^2^
| instance | enabled instance extension commands for pname:instance | fp^1^ | instance | available device extension^3^ commands for pname:instance | fp^2^
| instance | available device extension^2^ commands for pname:instance | fp^1^ 2+| any other case, not covered above | `NULL`
| instance | * (any pname:pName not covered above) | `NULL`
|==== |====
1:: 1::
"*" means any representable value for the parameter (including valid
values, invalid values, and `NULL`).
2::
The returned function pointer must: only be called with a dispatchable The returned function pointer must: only be called with a dispatchable
object (the first parameter) that is pname:instance or a child of object (the first parameter) that is pname:instance or a child of
pname:instance, e.g. slink:VkInstance, slink:VkPhysicalDevice, pname:instance, e.g. slink:VkInstance, slink:VkPhysicalDevice,
slink:VkDevice, slink:VkQueue, or slink:VkCommandBuffer. slink:VkDevice, slink:VkQueue, or slink:VkCommandBuffer.
2:: 3::
An "`available device extension`" is a device extension supported by any An "`available device extension`" is a device extension supported by any
physical device enumerated by pname:instance. physical device enumerated by pname:instance.
@ -110,14 +113,24 @@ first parameter) that is pname:device or a child of pname:device.
[width="80%",options="header"] [width="80%",options="header"]
|==== |====
| pname:device | pname:pName | return value | pname:device | pname:pName | return value
| `NULL` | * | undefined: | `NULL` | *<1> | undefined:
| invalid device | * | undefined: | invalid device | *<1> | undefined:
| device | `NULL` | undefined: | device | `NULL` | undefined:
| device | core device-level Vulkan command | fp | device | core device-level Vulkan command | fp^2^
| device | enabled device extension commands | fp | device | enabled device extension device-level commands | fp^2^
| device | * (any pname:pName not covered above) | `NULL` 2+| any other case, not covered above | `NULL`
|==== |====
1::
"*" means any representable value for the parameter (including valid
values, invalid values, and `NULL`).
2::
The returned function pointer must: only be called with a dispatchable
object (the first parameter) that is pname:device or a child of
pname:device e.g. slink:VkDevice, slink:VkQueue, or
slink:VkCommandBuffer.
include::{generated}/validity/protos/vkGetDeviceProcAddr.txt[] include::{generated}/validity/protos/vkGetDeviceProcAddr.txt[]
-- --