mirror of
https://github.com/status-im/Vulkan-Docs.git
synced 2025-02-22 11:08:19 +00:00
Merge pull request #105 from KhronosGroup/public-issue-101
Fixes for #101 (public issue 101)
This commit is contained in:
commit
741ae579ab
@ -2,6 +2,8 @@
|
||||
// Copyright notice at https://www.khronos.org/registry/speccopyright.html
|
||||
|
||||
[appendix]
|
||||
|
||||
[[extensions]]
|
||||
= Layers & Extensions
|
||||
|
||||
Extensions to the {apiname} API can: be defined by authors, groups of
|
||||
@ -118,25 +120,28 @@ only for layers.
|
||||
an author prefix can: instead use a fully-qualified domain name (FQDN)
|
||||
in reverse-order as an author prefix, using all lower-case characters,
|
||||
and replacing +.+ (period) with `_` (underscore) characters. For
|
||||
example, a layer written by the owner of www.3dxcl.com would use the
|
||||
prefix `VK_LAYER_com_3dxcl_www_`. FQDNs must: be encoded in UTF-8.
|
||||
example, a layer written by the owner of www.3dxcl.invalid would use
|
||||
the prefix `VK_LAYER_invalid_3dxcl_www_`. FQDNs must: be encoded in
|
||||
UTF-8.
|
||||
|
||||
[NOTE]
|
||||
.Note
|
||||
====
|
||||
To avoid linking to a nonexistent domain, the reserved TLD +.invalid+ is
|
||||
used.
|
||||
====
|
||||
|
||||
|
||||
== Extension Command, Token, and Type Naming Conventions
|
||||
[[extensions-naming]]
|
||||
== Extension Command, Type, and Token Naming Conventions
|
||||
|
||||
Extensions may: add new commands, tokens, and types, or collectively
|
||||
``objects'' to the {apiname} API. These objects also require globally unique
|
||||
names. These names shall conform to the following template:
|
||||
Extensions may: add new commands, types, and tokens, or collectively
|
||||
``objects'', to the {apiname} API. These objects are given globally unique
|
||||
names by appending the author prefix defined above for the extension name
|
||||
according to the following templates.
|
||||
|
||||
["source","{basebackend@docbook:c++:cpp}",title=""]
|
||||
------------------------------------------------------------------------------
|
||||
vk<CommandName><ExtensionAuthorPrefix>
|
||||
------------------------------------------------------------------------------
|
||||
|
||||
Where +ExtensionAuthorPrefix+ is equal to that of the prefixes defined above
|
||||
for extension names with the exception that a leading `_` (underscore) is
|
||||
added for non-Khronos extensions. For example, a Khronos-blessed extension
|
||||
could expose the following command:
|
||||
A command or type name simply appends the author prefix. For example, a
|
||||
Khronos-blessed extension could expose the following command:
|
||||
|
||||
["source","{basebackend@docbook:c++:cpp}",title=""]
|
||||
------------------------------------------------------------------------------
|
||||
@ -150,14 +155,16 @@ A Google extension could expose the following command:
|
||||
void vkDoSomethingGOOGLE(void);
|
||||
------------------------------------------------------------------------------
|
||||
|
||||
A multi-author extension could expose the following type:
|
||||
And a multi-author extension could expose the following type:
|
||||
|
||||
["source","{basebackend@docbook:c++:cpp}",title=""]
|
||||
------------------------------------------------------------------------------
|
||||
typedef struct VkSomeDataEXT;
|
||||
------------------------------------------------------------------------------
|
||||
|
||||
And a non-Khronos extension could expose this enumerant:
|
||||
Enumeration or constant token names are constructed by following the token
|
||||
name with `_` and the author prefix, so a non-Khronos extension could expose
|
||||
this enumeration:
|
||||
|
||||
["source","{basebackend@docbook:c++:cpp}",title=""]
|
||||
------------------------------------------------------------------------------
|
||||
@ -359,7 +366,7 @@ extensions. This includes the following:
|
||||
Extensions can: define their own enumeration types and assign any values to
|
||||
their enumerants that they like. Each enumeration has a private namespace,
|
||||
so collisions are not a problem. However, when extending existing
|
||||
enumeration object with new values, care must: be taken to preserve global
|
||||
enumeration objects with new values, care must: be taken to preserve global
|
||||
uniqueness of values. Enumerations which define new bitfields are treated
|
||||
specially as described in <<extensions-reserving-bitfield-values,Reserving
|
||||
Bitfield Values>> below.
|
||||
@ -450,9 +457,9 @@ the following definitions were in effect:
|
||||
== Extension Objects, Enums, and Typedefs
|
||||
|
||||
Expanding on previous discussion, extensions can: add values to existing
|
||||
enums; and can: add their own objects, enums, typedefs, etc. This is done by
|
||||
adding to <<extensions-api-registry,+vk.xml+>>. All such additions will be
|
||||
included in the +vulkan.h+ header supplied by Khronos.
|
||||
enums; and can: add their own commands, enums, typedefs, etc. This is done
|
||||
by adding to <<extensions-api-registry,+vk.xml+>>. All such additions will
|
||||
be included in the +vulkan.h+ header supplied by Khronos.
|
||||
|
||||
[NOTE]
|
||||
.Note
|
||||
@ -468,22 +475,23 @@ values to existing enums. The use of a +default:+ statement, within a
|
||||
== Extension Function Prototypes
|
||||
|
||||
Function pointer declarations and function prototypes for all core {apiname}
|
||||
API functions are included in the +vulkan.h+ file. These come from the
|
||||
API commands are included in the +vulkan.h+ file. These come from the
|
||||
official XML specification of the {apiname} API hosted by Khronos.
|
||||
|
||||
Function pointer declarations are also included in the +vulkan.h+ file for
|
||||
all extension functions. Function prototypes for extensions may: be included
|
||||
in +vulkan.h+. Extension functions that are part of the {apiname} ABI must:
|
||||
be flagged in the XML. Prototypes will be included in +vulkan.h+ for all
|
||||
extension functions that are part of the {apiname} ABI.
|
||||
all commands defined by registered extensions. Function prototypes for
|
||||
extensions may: be included in +vulkan.h+. Extension commands that are part
|
||||
of the {apiname} ABI must: be flagged in the XML. Function prototypes will
|
||||
be included in +vulkan.h+ for all extension commands that are part of the
|
||||
{apiname} ABI.
|
||||
|
||||
An extension can: be considered platform specific, in which case, its
|
||||
objects, functions, etc. are protected by #ifdefs. This is orthogonal to
|
||||
whether a function is considered to be part of the {apiname} ABI.
|
||||
An extension can: be considered platform specific, in which case its
|
||||
interfaces in +vulkan.h+ are protected by #ifdefs. This is orthogonal to
|
||||
whether an extension command is considered to be part of the {apiname} ABI.
|
||||
|
||||
The initial set of WSI extension functions are considered to be part of the
|
||||
{apiname} ABI. Prototypes for these WSI functions are included in the
|
||||
+vulkan.h+ provided by Khronos, though the platform-specific portions of
|
||||
The initial set of WSI extension commands are considered to be part of the
|
||||
{apiname} ABI. Function prototypes for these WSI commands are included in
|
||||
the +vulkan.h+ provided by Khronos, though the platform-specific portions of
|
||||
+vulkan.h+ are protected by #ifdefs.
|
||||
|
||||
[NOTE]
|
||||
@ -498,27 +506,27 @@ these implementations.
|
||||
====
|
||||
|
||||
|
||||
== Accessing Extension Function from Programs
|
||||
== Accessing Extension Functions from Programs
|
||||
|
||||
The {apiname} API flink:vkGetInstanceProcAddr and flink:vkGetDeviceProcAddr
|
||||
functions (i.e. GPA functions) can: be used in order to obtain addresses for
|
||||
core and extension functions (per the description in
|
||||
<<initialization-functionpointers,Command Function Pointers>>). Various
|
||||
{apiname} API loaders can: be created on different platforms, which can:
|
||||
statically export some or all of the core {apiname} API functions, and which
|
||||
can: statically export some or all extension functions. If a loader
|
||||
statically exports a function, an application can: link against that
|
||||
function without needing to call a GPA function.
|
||||
flink:vkGetInstanceProcAddr and flink:vkGetDeviceProcAddr can: be used in
|
||||
order to obtain function pointer addresses for core and extension commands
|
||||
(per the description in <<initialization-functionpointers,Command Function
|
||||
Pointers>>). Different {apiname} API loaders can: choose to statically
|
||||
export functions for some or all of the core {apiname} API commands, and
|
||||
can: statically export functions for some or all extension commands. If a
|
||||
loader statically exports a function, an application can: link against that
|
||||
function without needing to call one of the ftext:vkGet*ProcAddr commands.
|
||||
|
||||
[NOTE]
|
||||
.Note
|
||||
====
|
||||
As mentioned above, the {apiname} API loader on Android, Linux, and Windows
|
||||
will export all core {apiname} API and WSI extension functions. The WSI
|
||||
functions are considered special, because they are required for many
|
||||
The Khronos-provided {apiname} API loader for Android, Linux, and Windows
|
||||
exports functions for all core {apiname} API and WSI extension commands. The
|
||||
WSI functions are considered special, because they are required for many
|
||||
applications.
|
||||
====
|
||||
|
||||
|
||||
[[extensions-reserving-bitfield-values]]
|
||||
=== Reserving Bitfield Values
|
||||
|
||||
|
@ -324,8 +324,7 @@ The members of sname:VkDeviceCreateInfo have the following meanings:
|
||||
* pname:ppEnabledLayerNames is a pointer to an array of
|
||||
pname:enabledLayerCount null-terminated UTF-8 strings containing the
|
||||
names of layers to enable for the created device. See the
|
||||
<<querying-layers-and-extensions,Querying Layers and Extensions>>
|
||||
chapter for further details.
|
||||
<<extended-functionality-layers,Layers>> section for further details.
|
||||
* pname:enabledExtensionCount is the number of device extensions to
|
||||
enable.
|
||||
* pname:ppEnabledExtensionNames is a pointer to an array of
|
||||
|
@ -80,16 +80,17 @@ The definition of sname:VkLayerProperties is:
|
||||
|
||||
include::../structs/VkLayerProperties.txt[]
|
||||
|
||||
* pname:layerName is a null-terminated string specifying the name of the
|
||||
layer. Use this name in the pname:ppEnabledLayerNames array in the
|
||||
sname:VkInstanceCreateInfo given to fname:vkCreateInstance to enable
|
||||
this layer in the instance.
|
||||
* pname:layerName is a null-terminated UTF-8 string specifying the name of
|
||||
the layer. Use this name in the pname:ppEnabledLayerNames array passed
|
||||
in the slink:VkInstanceCreateInfo and slink:VkDeviceCreateInfo
|
||||
structures passed to flink:vkCreateInstance and flink:vkCreateDevice,
|
||||
respectively, to enable this layer for an instance or device.
|
||||
* pname:apiVersion is the {apiname} version the layer was written to,
|
||||
encoded as described in the <<fundamentals-versionnum,API Version
|
||||
Numbers and Semantics>> section.
|
||||
* pname:implementationVersion is the version of this layer. It is an
|
||||
integer, increasing with backward compatible changes.
|
||||
* pname:description is a null-terminated string providing additional
|
||||
* pname:description is a null-terminated UTF-8 string providing additional
|
||||
details that can: be used by the application to identify the layer.
|
||||
|
||||
include::../validity/structs/VkLayerProperties.txt[]
|
||||
|
@ -1181,8 +1181,9 @@ different equations in the spec).
|
||||
For all bitmasks of type elink:VkSampleCountFlags above, the bits which
|
||||
can: be set include:
|
||||
+
|
||||
--
|
||||
include::../enums/VkSampleCountFlagBits.txt[]
|
||||
+
|
||||
|
||||
The sample count limits defined above represent the minimum
|
||||
supported sample counts for each image type. Individual images may: support
|
||||
additional sample counts, which are queried using
|
||||
@ -1190,6 +1191,7 @@ flink:vkGetPhysicalDeviceImageFormatProperties. The sample
|
||||
count limits for images only apply to images created with the pname:tiling
|
||||
set to ename:VK_IMAGE_TILING_OPTIMAL. For ename:VK_IMAGE_TILING_LINEAR
|
||||
images the only supported sample count is ename:VK_SAMPLE_COUNT_1_BIT.
|
||||
--
|
||||
|
||||
include::../validity/structs/VkPhysicalDeviceLimits.txt[]
|
||||
|
||||
@ -1334,7 +1336,7 @@ the same whether or not the feature is enabled.
|
||||
|maxMemoryAllocationCount |- |4096 | min
|
||||
|maxSamplerAllocationCount |- |4000 | min
|
||||
|bufferImageGranularity |- |131072 | max
|
||||
|sparseAddressSpaceSize | 0 | 2 GB | min
|
||||
|sparseAddressSpaceSize | 0 | 2^31^ | min
|
||||
|maxBoundDescriptorSets |- |4 | min
|
||||
|maxPerStageDescriptorSamplers |- |16 | min
|
||||
|maxPerStageDescriptorUniformBuffers|- |12 | min
|
||||
|
@ -126,7 +126,8 @@ include::../structs/VkInstanceCreateInfo.txt[]
|
||||
* pname:enabledLayerCount is the number of global layers to enable.
|
||||
* pname:ppEnabledLayerNames is a pointer to an array of
|
||||
pname:enabledLayerCount null-terminated UTF-8 strings containing the
|
||||
names of layers to enable.
|
||||
names of layers to enable for the created instance. See the
|
||||
<<extended-functionality-layers,Layers>> section for further details.
|
||||
* pname:enabledExtensionCount is the number of global extensions to
|
||||
enable.
|
||||
* pname:ppEnabledExtensionNames is a pointer to an array of
|
||||
|
@ -539,7 +539,7 @@ that has a pname:binding equal to latexmath:[$b$] in pname:pSetLayouts[_s_]
|
||||
that was specified in slink:VkPipelineLayoutCreateInfo.
|
||||
|
||||
The range of descriptor sets is between zero and
|
||||
pname:maxBoundDescriptorSets minus one, inclusive. If a descriptor set value
|
||||
pname:maxBoundDescriptorSets minus one. If a descriptor set value
|
||||
is statically used by an entry point there must: be an associated
|
||||
pname:pSetLayout in the corresponding pipeline layout as described in
|
||||
<<descriptorsets-pipelinelayout-consistency,Pipeline Layouts consistency>>.
|
||||
|
@ -102,7 +102,7 @@ If pname:pOriginal is `NULL`, then pname:pfnReallocation must: behave
|
||||
similarly to tlink:PFN_vkAllocationFunction. If pname:size is zero, then
|
||||
pname:pfnReallocation must: behave similarly to tlink:PFN_vkFreeFunction.
|
||||
The contents of the original allocation from bytes zero to
|
||||
latexmath:[$\min(\textrm{original size, new size})-1$], inclusive, must: be
|
||||
latexmath:[$\min(\textrm{original size, new size})-1$] must: be
|
||||
preserved in the new allocation. If the new allocation is larger than the
|
||||
old allocation, then the contents of the additional space are undefined.
|
||||
If pname:pOriginal is non-`NULL`, pname:alignment must: be equal to the
|
||||
|
@ -78,8 +78,8 @@ as follows:
|
||||
* pname:sampleShadingEnable specifies that fragment shading executes
|
||||
per-sample if ename:VK_TRUE, or per-fragment if ename:VK_FALSE, as
|
||||
described in <<primsrast-sampleshading,Sample Shading>>.
|
||||
* pname:minSampleShading is the minimum number of unique samples to shade
|
||||
for each fragment.
|
||||
* pname:minSampleShading is the minimum fraction of sample shading, as
|
||||
described in <<primsrast-sampleshading,Sample Shading>>.
|
||||
* pname:pSampleMask is a bitmask of static coverage information that is
|
||||
ANDed with the coverage information generated during rasterization, as
|
||||
described in <<fragops-samplemask,Sample Mask>>.
|
||||
@ -235,10 +235,9 @@ latexmath:[$\max(\lceil{minSampleShading \times rasterizationSamples}\rceil,
|
||||
is the minimum fraction of sample shading and pname:rasterizationSamples is
|
||||
the number of samples requested in
|
||||
slink:VkPipelineMultisampleStateCreateInfo. These are associated with the
|
||||
samples in an implementation-dependent manner. pname:minSampleShading must:
|
||||
be in the range latexmath:[$[0,1\]$]. When the sample shading fraction is
|
||||
1.0, a separate set of associated data are evaluated for each sample, and
|
||||
each set of values is evaluated at the sample location.
|
||||
samples in an implementation-dependent manner. When the sample shading
|
||||
fraction is 1.0, a separate set of associated data are evaluated for each
|
||||
sample, and each set of values is evaluated at the sample location.
|
||||
|
||||
|
||||
[[primsrast-points]]
|
||||
|
@ -284,10 +284,11 @@ latexmath:[$
|
||||
\end{array}\right).
|
||||
$]
|
||||
|
||||
Multiple viewports are available and are numbered zero up to the value of
|
||||
sname:VkPhysicalDeviceLimits::pname:maxViewports. The number of viewports
|
||||
used by a pipeline is controlled by the pname:viewportCount member of the
|
||||
sname:VkPipelineViewportStateCreateInfo structure used in pipeline creation:
|
||||
Multiple viewports are available, numbered zero up to
|
||||
sname:VkPhysicalDeviceLimits::pname:maxViewports minus one. The number of
|
||||
viewports used by a pipeline is controlled by the pname:viewportCount member
|
||||
of the sname:VkPipelineViewportStateCreateInfo structure used in pipeline
|
||||
creation:
|
||||
|
||||
include::../structs/VkPipelineViewportStateCreateInfo.txt[]
|
||||
|
||||
|
@ -11,6 +11,6 @@ typedef enum VkCullModeFlagBits {
|
||||
VK_CULL_MODE_NONE = 0,
|
||||
VK_CULL_MODE_FRONT_BIT = 0x00000001,
|
||||
VK_CULL_MODE_BACK_BIT = 0x00000002,
|
||||
VK_CULL_MODE_FRONT_AND_BACK = 0x3,
|
||||
VK_CULL_MODE_FRONT_AND_BACK = 0x00000003,
|
||||
} VkCullModeFlagBits;
|
||||
------------------------------------------------------------------------------
|
||||
|
@ -10,6 +10,6 @@ endif::doctype-manpage[]
|
||||
typedef enum VkStencilFaceFlagBits {
|
||||
VK_STENCIL_FACE_FRONT_BIT = 0x00000001,
|
||||
VK_STENCIL_FACE_BACK_BIT = 0x00000002,
|
||||
VK_STENCIL_FRONT_AND_BACK = 0x3,
|
||||
VK_STENCIL_FRONT_AND_BACK = 0x00000003,
|
||||
} VkStencilFaceFlagBits;
|
||||
------------------------------------------------------------------------------
|
||||
|
@ -282,7 +282,7 @@ following table:
|
||||
something that should be rendered like a structure name,
|
||||
but is not actually one (e.g. is a wildcard or subset of
|
||||
an actual structure name).
|
||||
| elink{cl} | Formats the macro argument as a Vulkan enumerantion
|
||||
| elink{cl} | Formats the macro argument as a Vulkan enumeration
|
||||
name and links to the definition of that enumeration type.
|
||||
Example: ename{cl}VkResult -> ename:VkResult.
|
||||
| ename{cl} | Formats the macro argument as a Vulkan enumerant name.
|
||||
|
@ -16,8 +16,8 @@ endif::doctype-manpage[]
|
||||
* This command must: only be called outside of a render pass instance
|
||||
* The value of pname:regionCount must: be greater than `0`
|
||||
* Each of pname:commandBuffer, pname:srcBuffer and pname:dstBuffer must: have been created, allocated or retrieved from the same sname:VkDevice
|
||||
* The sum of the pname:srcOffset and pname:size members of a given element of pname:pRegions must: be less than or equal to the size of pname:srcBuffer
|
||||
* The sum of the pname:dstOffset and pname:size members of a given element of pname:pRegions must: be less than or equal to the size of pname:dstBuffer
|
||||
* The sum of the pname:srcOffset and pname:copySize members of a given element of pname:pRegions must: be less than or equal to the size of pname:srcBuffer
|
||||
* The sum of the pname:dstOffset and pname:copySize members of a given element of pname:pRegions must: be less than or equal to the size of pname:dstBuffer
|
||||
* The union of the source regions, and the union of the destination regions, specified by the elements of pname:pRegions, mustnot: overlap in memory
|
||||
* pname:srcBuffer must: have been created with ename:VK_BUFFER_USAGE_TRANSFER_SRC_BIT usage flag
|
||||
* pname:dstBuffer must: have been created with ename:VK_BUFFER_USAGE_TRANSFER_DST_BIT usage flag
|
||||
|
@ -11,7 +11,7 @@ endif::doctype-manpage[]
|
||||
* If pname:pLayerName is not `NULL`, pname:pLayerName must: be a null-terminated string
|
||||
* pname:pPropertyCount must: be a pointer to a basetype:uint32_t value
|
||||
* If the value referenced by pname:pPropertyCount is not `0`, and pname:pProperties is not `NULL`, pname:pProperties must: be a pointer to an array of pname:pPropertyCount sname:VkExtensionProperties structures
|
||||
* If pname:pLayerName is not `NULL`, it must: be the name of a layer available on the system
|
||||
* If pname:pLayerName is not `NULL`, it must: be the name of a device layer returned by flink:vkEnumerateDeviceLayerProperties
|
||||
ifndef::doctype-manpage[]
|
||||
********************************************************************************
|
||||
endif::doctype-manpage[]
|
||||
|
@ -10,7 +10,7 @@ endif::doctype-manpage[]
|
||||
* If pname:pLayerName is not `NULL`, pname:pLayerName must: be a null-terminated string
|
||||
* pname:pPropertyCount must: be a pointer to a basetype:uint32_t value
|
||||
* If the value referenced by pname:pPropertyCount is not `0`, and pname:pProperties is not `NULL`, pname:pProperties must: be a pointer to an array of pname:pPropertyCount sname:VkExtensionProperties structures
|
||||
* If pname:pLayerName is not `NULL`, it must: be the name of a layer available on the system
|
||||
* If pname:pLayerName is not `NULL`, it must: be the name of an instance layer returned by flink:vkEnumerateInstanceLayerProperties
|
||||
ifndef::doctype-manpage[]
|
||||
********************************************************************************
|
||||
endif::doctype-manpage[]
|
||||
|
@ -22,9 +22,9 @@ endif::doctype-manpage[]
|
||||
* pname:imageExtent.height must: be a multiple of the block height or (pname:imageExtent.height + pname:imageOffset.y) must: equal the image subresource height
|
||||
* pname:imageExtent.depth must: be a multiple of the block depth or (pname:imageExtent.depth + pname:imageOffset.z) must: equal the image subresource depth
|
||||
* pname:bufferOffset, pname:bufferRowLength, pname:bufferImageHeight and all members of pname:imageOffset and pname:imageExtent must: respect the image transfer granularity requirements of the queue family that it will be submitted against, as described in <<execution-physical-device-enumeration,Physical Device Enumeration>>
|
||||
* The pname:aspectMask member of pname:srcSubresource must: specify aspects present in the calling command's sname:VkImage parameter
|
||||
* The pname:aspectMask member of pname:pSubresource must: only have a single bit set
|
||||
* If the calling command's sname:VkImage parameter is of elink:VkImageType ename:VK_IMAGE_TYPE_3D, the pname:baseArrayLayer and pname:layerCount members of both pname:srcSubresource and pname:dstSubresource must: be `0` and `1`, respectively
|
||||
* The pname:aspectMask member of pname:imageSubresource must: specify aspects present in the calling command's sname:VkImage parameter
|
||||
* The pname:aspectMask member of pname:imageSubresource must: only have a single bit set
|
||||
* If the calling command's sname:VkImage parameter is of elink:VkImageType ename:VK_IMAGE_TYPE_3D, the pname:baseArrayLayer and pname:layerCount members of pname:imageSubresource must: be `0` and `1`, respectively
|
||||
ifndef::doctype-manpage[]
|
||||
********************************************************************************
|
||||
endif::doctype-manpage[]
|
||||
|
@ -14,6 +14,7 @@ endif::doctype-manpage[]
|
||||
* If pname:pSampleMask is not `NULL`, pname:pSampleMask must: be a pointer to an array of latexmath:[$\lceil{\mathit{rasterizationSamples} \over 32}\rceil$] basetype:VkSampleMask values
|
||||
* If the <<features-features-sampleRateShading,sample rate shading>> feature is not enabled, pname:sampleShadingEnable must: be ename:VK_FALSE
|
||||
* If the <<features-features-alphaToOne,alpha to one>> feature is not enabled, pname:alphaToOneEnable must: be ename:VK_FALSE
|
||||
* pname:minSampleShading must: be in the range latexmath:[$[0,1\]$]
|
||||
ifndef::doctype-manpage[]
|
||||
********************************************************************************
|
||||
endif::doctype-manpage[]
|
||||
|
@ -14,7 +14,7 @@ endif::doctype-manpage[]
|
||||
* pname:cullMode must: be a valid combination of elink:VkCullModeFlagBits values
|
||||
* pname:frontFace must: be a valid elink:VkFrontFace value
|
||||
* If the <<features-features-depthClamp,depth clamping>> feature is not enabled, the value of pname:depthClampEnable must: be ename:VK_FALSE
|
||||
* If the <<features-features-fillModeNonSolid,non-solid fill modes>> feature is not enabled, the value of pname:fillMode must: be ename:VK_POLYGON_MODE_FILL
|
||||
* If the <<features-features-fillModeNonSolid,non-solid fill modes>> feature is not enabled, the value of pname:polygonMode must: be ename:VK_POLYGON_MODE_FILL
|
||||
ifndef::doctype-manpage[]
|
||||
********************************************************************************
|
||||
endif::doctype-manpage[]
|
||||
|
@ -1248,7 +1248,7 @@ maintained in the master branch of the Khronos Vulkan Github project.
|
||||
<member><type>float</type> <name>lineWidth</name></member>
|
||||
<validity>
|
||||
<usage>If the <<features-features-depthClamp,depth clamping>> feature is not enabled, the value of pname:depthClampEnable must: be ename:VK_FALSE</usage>
|
||||
<usage>If the <<features-features-fillModeNonSolid,non-solid fill modes>> feature is not enabled, the value of pname:fillMode must: be ename:VK_POLYGON_MODE_FILL</usage>
|
||||
<usage>If the <<features-features-fillModeNonSolid,non-solid fill modes>> feature is not enabled, the value of pname:polygonMode must: be ename:VK_POLYGON_MODE_FILL</usage>
|
||||
</validity>
|
||||
</type>
|
||||
<type category="struct" name="VkPipelineMultisampleStateCreateInfo">
|
||||
@ -1264,6 +1264,7 @@ maintained in the master branch of the Khronos Vulkan Github project.
|
||||
<validity>
|
||||
<usage>If the <<features-features-sampleRateShading,sample rate shading>> feature is not enabled, pname:sampleShadingEnable must: be ename:VK_FALSE</usage>
|
||||
<usage>If the <<features-features-alphaToOne,alpha to one>> feature is not enabled, pname:alphaToOneEnable must: be ename:VK_FALSE</usage>
|
||||
<usage>pname:minSampleShading must: be in the range latexmath:[$[0,1\]$]</usage>
|
||||
</validity>
|
||||
</type>
|
||||
<type category="struct" name="VkPipelineColorBlendAttachmentState">
|
||||
@ -2279,7 +2280,7 @@ maintained in the master branch of the Khronos Vulkan Github project.
|
||||
<enum value="0" name="VK_CULL_MODE_NONE"/>
|
||||
<enum bitpos="0" name="VK_CULL_MODE_FRONT_BIT"/>
|
||||
<enum bitpos="1" name="VK_CULL_MODE_BACK_BIT"/>
|
||||
<enum value="0x3" name="VK_CULL_MODE_FRONT_AND_BACK"/>
|
||||
<enum value="0x00000003" name="VK_CULL_MODE_FRONT_AND_BACK"/>
|
||||
</enums>
|
||||
<enums name="VkFrontFace" type="enum" expand="VK_FRONT_FACE">
|
||||
<enum value="0" name="VK_FRONT_FACE_COUNTER_CLOCKWISE"/>
|
||||
@ -2831,7 +2832,7 @@ maintained in the master branch of the Khronos Vulkan Github project.
|
||||
<enums name="VkStencilFaceFlagBits" type="bitmask">
|
||||
<enum bitpos="0" name="VK_STENCIL_FACE_FRONT_BIT" comment="Front face"/>
|
||||
<enum bitpos="1" name="VK_STENCIL_FACE_BACK_BIT" comment="Back face"/>
|
||||
<enum value="0x3" name="VK_STENCIL_FRONT_AND_BACK" comment="Front and back faces"/>
|
||||
<enum value="0x00000003" name="VK_STENCIL_FRONT_AND_BACK" comment="Front and back faces"/>
|
||||
</enums>
|
||||
<enums name="VkDescriptorPoolCreateFlagBits" type="bitmask">
|
||||
<enum bitpos="0" name="VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT" comment="Descriptor sets may be freed individually"/>
|
||||
@ -3021,7 +3022,7 @@ maintained in the master branch of the Khronos Vulkan Github project.
|
||||
<param optional="false,true"><type>uint32_t</type>* <name>pPropertyCount</name></param>
|
||||
<param optional="true" len="pPropertyCount"><type>VkExtensionProperties</type>* <name>pProperties</name></param>
|
||||
<validity>
|
||||
<usage>If pname:pLayerName is not `NULL`, it must: be the name of a layer available on the system</usage>
|
||||
<usage>If pname:pLayerName is not `NULL`, it must: be the name of an instance layer returned by flink:vkEnumerateInstanceLayerProperties</usage>
|
||||
</validity>
|
||||
</command>
|
||||
<command successcodes="VK_SUCCESS,VK_INCOMPLETE" errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY,VK_ERROR_OUT_OF_DEVICE_MEMORY">
|
||||
@ -3037,7 +3038,7 @@ maintained in the master branch of the Khronos Vulkan Github project.
|
||||
<param optional="false,true"><type>uint32_t</type>* <name>pPropertyCount</name></param>
|
||||
<param optional="true" len="pPropertyCount"><type>VkExtensionProperties</type>* <name>pProperties</name></param>
|
||||
<validity>
|
||||
<usage>If pname:pLayerName is not `NULL`, it must: be the name of a layer available on the system</usage>
|
||||
<usage>If pname:pLayerName is not `NULL`, it must: be the name of a device layer returned by flink:vkEnumerateDeviceLayerProperties</usage>
|
||||
</validity>
|
||||
</command>
|
||||
<command>
|
||||
|
@ -992,7 +992,7 @@ typedef enum VkCullModeFlagBits {
|
||||
VK_CULL_MODE_NONE = 0,
|
||||
VK_CULL_MODE_FRONT_BIT = 0x00000001,
|
||||
VK_CULL_MODE_BACK_BIT = 0x00000002,
|
||||
VK_CULL_MODE_FRONT_AND_BACK = 0x3,
|
||||
VK_CULL_MODE_FRONT_AND_BACK = 0x00000003,
|
||||
} VkCullModeFlagBits;
|
||||
typedef VkFlags VkCullModeFlags;
|
||||
typedef VkFlags VkPipelineMultisampleStateCreateFlags;
|
||||
@ -1083,7 +1083,7 @@ typedef VkFlags VkCommandBufferResetFlags;
|
||||
typedef enum VkStencilFaceFlagBits {
|
||||
VK_STENCIL_FACE_FRONT_BIT = 0x00000001,
|
||||
VK_STENCIL_FACE_BACK_BIT = 0x00000002,
|
||||
VK_STENCIL_FRONT_AND_BACK = 0x3,
|
||||
VK_STENCIL_FRONT_AND_BACK = 0x00000003,
|
||||
} VkStencilFaceFlagBits;
|
||||
typedef VkFlags VkStencilFaceFlags;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user