Merge branch '1.0' into 1.0-wsi_extensions
This commit is contained in:
commit
fb4c2d15e3
|
@ -273,3 +273,89 @@ Other Commits:
|
|||
|
||||
* Update GL_KHR_vulkan_glsl so push_constants do not have descriptor
|
||||
sets.
|
||||
|
||||
-----------------------------------------------------
|
||||
|
||||
Change log for March 25, 2016 Vulkan 1.0.7 spec update:
|
||||
|
||||
* Bump API patch number and header version number to 7 for this
|
||||
update.
|
||||
|
||||
Github Issues:
|
||||
|
||||
* Fix slink:VkSpecializationMapEntry example to avoid C/C++ strict
|
||||
aliasing issues (public issue 14).
|
||||
|
||||
* Clarify the meaning of "matching" in flink:vkCmdBindDescriptorSets
|
||||
validity language (public issue 33).
|
||||
|
||||
* Add stub reference pages so xrefs to not-yet-written pages don't
|
||||
generate 404 errors. However, the actual content of these pages
|
||||
still needs to be filled in as time allows (public issue 44, but
|
||||
does not close that issue out).
|
||||
|
||||
* Remove incorrect validity statement for
|
||||
flink:vkGetImageSparseMemoryRequirements (public issue 85).
|
||||
|
||||
* Reword the
|
||||
<<features-limits-bufferImageGranularity,bufferImageGranularity>>
|
||||
feature in terms of "aliasing", and clarify that it applies to
|
||||
bindings in the same memory object (public issue 90).
|
||||
|
||||
* Clarify the relationship of the slink:VkPhysicalDeviceLimits
|
||||
pname:maxViewportDimensions and pname:viewportBoundsRange limits
|
||||
(public issue 92).
|
||||
|
||||
* Specify sparse unbound texture replacement in the
|
||||
<<textures-texel-replacement,Texel Replacement>> section
|
||||
independently of robust buffer access language (public issue 100).
|
||||
|
||||
* Add the <<fundamentals-architecture-model,Architecture Model>>
|
||||
section to explain architecture constraints Vulkan has chosen to
|
||||
accept in order to enable portable and performant code (public issue
|
||||
122).
|
||||
|
||||
* State that an object must not be destroyed until *all* (not *any*)
|
||||
uses of that object have completed (public issue 123).
|
||||
|
||||
* Minor editorial cleanup (public issues 129, 134, 146, 148).
|
||||
|
||||
* Add validity language for layer and extension names to
|
||||
slink:VkDeviceCreateInfo matching that used for
|
||||
slink:VkInstanceCreateInfo (public issue 130).
|
||||
|
||||
* Clean up terminology for the case when the bits set in one bitmask
|
||||
are a subset of the bits set in another bitmask (public issue 138).
|
||||
|
||||
* Document that input attachments are UniformConstant not Input, in
|
||||
the <<interfaces-inputattachment,Fragment Input Attachment
|
||||
Interface>> section (public glslang bug 169).
|
||||
|
||||
Internal Issues:
|
||||
|
||||
* Add max enum values to "flag bits" enums (internal issue #136).
|
||||
|
||||
* Clarify language around the various uses of the term "block" in the
|
||||
<<appendix-compressedtex-bc,Block Compressed Image Formats>> section
|
||||
(internal issue #202).
|
||||
|
||||
* Removed "expand" dependency from <enums> groups in vk.xml and added
|
||||
auto-generation code in the scripts to infer it instead, to ensure
|
||||
consistency. This caused renaming of sname:VkColorSpaceKHR and
|
||||
sname:VkPresentModeKHR etext:BEGIN_RANGE (etc.) tokens, but those
|
||||
tokens are metadata, not part of the API, and the Vulkan WG is OK
|
||||
with this change. This change adds ranges to two additional enums
|
||||
that were missing them due to not defining the "expand" attribute
|
||||
(internal issue 217).
|
||||
|
||||
* Tweak makefile to generate ref page nroff (.3) files in the right
|
||||
output directory, working around an a2x limitation (internal issue
|
||||
223).
|
||||
|
||||
Other Commits:
|
||||
|
||||
* Add validity requirements for flink:vkCmdCopyQueryPoolResults
|
||||
pname:dstBuffer parameter.
|
||||
|
||||
* Fix ref page build to generate .3 targets in the right output
|
||||
directory.
|
||||
|
|
|
@ -44,7 +44,7 @@ ECHO:=echo
|
|||
# XHTMLDIR - 'xhtml' target
|
||||
# PDFDIR - 'pdf' target
|
||||
# CHECKDIR - 'allchecks' target
|
||||
OUTDIR :=../../../out/core
|
||||
OUTDIR :=../../../out/1.0
|
||||
HTMLDIR := $(OUTDIR)/html
|
||||
XHTMLDIR := $(OUTDIR)/xhtml
|
||||
PDFDIR := $(OUTDIR)/pdf
|
||||
|
@ -126,7 +126,7 @@ INCLUDES := $(wildcard protos/*.txt structs/*.txt flags/*.txt enums/*.txt funcpo
|
|||
COMMONDOCS := $(CHAPTERS) $(INCLUDES)
|
||||
# A generated included file with the spec version, date, and git commit
|
||||
SPECVERSION = specversion.txt
|
||||
SPECREVISION = 1.0.6
|
||||
SPECREVISION = 1.0.7
|
||||
SPECREMARK =
|
||||
|
||||
# Spec targets
|
||||
|
|
|
@ -24,7 +24,7 @@ Format Specification.
|
|||
<<<
|
||||
|
||||
[[appendix-compressedtex-bc]]
|
||||
== Block Compressed Image Formats
|
||||
== Block-Compressed Image Formats
|
||||
|
||||
.Mapping of {apiname} BC formats to descriptions
|
||||
[width="90%",options="header",cols="5,4"]
|
||||
|
@ -86,7 +86,7 @@ chapter of the Khronos Data Format Specification.
|
|||
.Mapping of {apiname} ASTC formats to descriptions
|
||||
[width="75%",options="header",cols="63%,15%,22%"]
|
||||
|==============================
|
||||
| VkFormat ^| Block size ^| sRGB-encoded
|
||||
| VkFormat ^| Compressed texel block dimensions ^| sRGB-encoded
|
||||
| ename:VK_FORMAT_ASTC_4x4_UNORM_BLOCK ^|latexmath:[$4\times 4$] ^|No
|
||||
| ename:VK_FORMAT_ASTC_4x4_SRGB_BLOCK ^|latexmath:[$4\times 4$] ^|Yes
|
||||
| ename:VK_FORMAT_ASTC_5x4_UNORM_BLOCK ^|latexmath:[$5\times 4$] ^|No
|
||||
|
|
|
@ -415,14 +415,14 @@ The information needed to add new values to the XML are as follows:
|
|||
positive, if not specified.
|
||||
|
||||
Implicit is the registered number of an extension, which is used to create a
|
||||
block of unused values offset against a global extension base value.
|
||||
Individual enumerant values are calculated as offsets in that block. Values
|
||||
range of unused values offset against a global extension base value.
|
||||
Individual enumerant values are calculated as offsets in that range. Values
|
||||
are calculated as follows:
|
||||
|
||||
* base_value = 1000000000
|
||||
* block_size = 1000
|
||||
* range_size = 1000
|
||||
* enum_offset(extension_number,offset) = base_value +
|
||||
(extension_number - 1) × block_size + offset
|
||||
(extension_number - 1) × range_size + offset
|
||||
* Positive values: enum_offset(extension_number,offset)
|
||||
* Negative values: -enum_offset(extension_number,offset)
|
||||
|
||||
|
|
|
@ -139,6 +139,14 @@ Compatible Queues::
|
|||
Queues within a queue family. Compatible queues have identical
|
||||
properties.
|
||||
|
||||
Compressed Texel Block::
|
||||
An element of an image having a block-compressed format, comprising a
|
||||
rectangular block of texel values that are encoded as a single value in
|
||||
memory. Compressed texel blocks of a particular block-compressed format
|
||||
have a corresponding width, height, and depth that define the dimensions
|
||||
of these elements in units of texels, and a size in bytes of the encoding
|
||||
in memory.
|
||||
|
||||
Cull Distance::
|
||||
A built-in output from vertex processing stages that defines a cull
|
||||
half-space where the primitive is rejected if all vertices have a
|
||||
|
@ -435,8 +443,8 @@ Memory Type::
|
|||
|
||||
Mip Tail Region::
|
||||
The set of mipmap levels of a sparse residency texture that are too
|
||||
small to fill a block, and that must all be bound to memory collectively
|
||||
and opaquely.
|
||||
small to fill a sparse block, and that must all be bound to memory
|
||||
collectively and opaquely.
|
||||
|
||||
Non-Dispatchable Handle::
|
||||
A handle of an integer handle type. Handle values may: not be unique,
|
||||
|
@ -607,6 +615,18 @@ Shader Stage::
|
|||
Side Effect::
|
||||
A store to memory or atomic operation on memory from a shader invocation.
|
||||
|
||||
Sparse Block::
|
||||
An element of a sparse resource that can be independently bound to memory.
|
||||
Sparse blocks of a particular sparse resource have a corresponding size
|
||||
in bytes that they use in the bound memory.
|
||||
|
||||
Sparse Image Block::
|
||||
A sparse block in a sparse partially-resident image. In addition to the
|
||||
sparse block size in bytes, sparse image blocks have a corresponding
|
||||
width, height, and depth that define the dimensions of these elements
|
||||
in units of texels or compressed texel blocks, the latter being used in
|
||||
case of sparse images having a block-compressed format.
|
||||
|
||||
Sparse Unbound Texel::
|
||||
A texel read from a region of a sparse texture that does not have
|
||||
memory bound to it.
|
||||
|
|
|
@ -28,7 +28,8 @@ Some rules for valid operation are common to all copy commands:
|
|||
* Copy regions must: be non-empty.
|
||||
* Regions must: not extend outside the bounds of the buffer or image
|
||||
level, except that regions of compressed images can: extend as far as
|
||||
the dimension of the image level rounded up to a complete block.
|
||||
the dimension of the image level rounded up to a complete compressed
|
||||
texel block.
|
||||
* Source image subresources must: be in either the
|
||||
ename:VK_IMAGE_LAYOUT_GENERAL or
|
||||
ename:VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL layout. Destination image
|
||||
|
@ -154,51 +155,57 @@ destination. pname:layerCount layers are copied to the destination image.
|
|||
The formats of pname:srcImage and pname:dstImage must: be compatible.
|
||||
Formats are considered compatible if their texel size in bytes is the same
|
||||
between both formats. For example, ename:VK_FORMAT_R8G8B8A8_UNORM is
|
||||
compatible with ename:VK_FORMAT_R32_UINT because because both texels are 4
|
||||
compatible with ename:VK_FORMAT_R32_UINT because both texels are 4
|
||||
bytes in size. Depth/stencil formats must: match exactly.
|
||||
|
||||
fname:vkCmdCopyImage allows copying between size-compatible compressed
|
||||
and uncompressed internal formats. Formats are size-compatible if the texel
|
||||
size of the uncompressed format is equal to the block size in bytes of the
|
||||
compressed format. Such a copy does not perform on-the-fly compression or
|
||||
decompression. When copying from an uncompressed format to a compressed
|
||||
format, each texel of uncompressed data becomes a single block of compressed
|
||||
data. When copying from a compressed format to an uncompressed format, a
|
||||
block of compressed data becomes a single texel of uncompressed data. Thus,
|
||||
for example, it is legal to copy between a 128-bit uncompressed format and a
|
||||
compressed format which uses 8-bit/texel 4x4 blocks, or between a 64-bit
|
||||
uncompressed format and a compressed format which uses 4-bit/texel 4x4
|
||||
blocks.
|
||||
size of the uncompressed format is equal to the compressed texel block size in
|
||||
bytes of the compressed format. Such a copy does not perform on-the-fly
|
||||
compression or decompression. When copying from an uncompressed format to a
|
||||
compressed format, each texel of uncompressed data of the source image is
|
||||
copied as a raw value to the corresponding compressed texel block of the
|
||||
destination image. When copying from a compressed format to an uncompressed
|
||||
format, each compressed texel block of the source image is copied as a raw
|
||||
value to the corresponding texel of uncompressed data in the destination
|
||||
image. Thus, for example, it is legal to copy between a 128-bit uncompressed
|
||||
format and a compressed format which has a 128-bit sized compressed texel
|
||||
block representing 4x4 texels (using 8 bits per texel), or between a 64-bit
|
||||
uncompressed format and a compressed format which has a 64-bit sized
|
||||
compressed texel block representing 4x4 texels (using 4 bits per texel).
|
||||
|
||||
When copying between compressed and uncompressed formats the pname:extent
|
||||
members represent the texel dimensions of the source image and not the
|
||||
destination. When copying from a compressed image to an uncompressed image
|
||||
the image texel dimensions written to the uncompressed image will be source
|
||||
extent divided by the block size. When copying from an uncompressed image to
|
||||
a compressed image the image texel dimensions written to the compressed
|
||||
image will be the source extent multiplied by the block size. In both cases
|
||||
the number of bytes read and the number of bytes written will be identical.
|
||||
extent divided by the compressed texel block dimensions. When copying from an
|
||||
uncompressed image to a compressed image the image texel dimensions written
|
||||
to the compressed image will be the source extent multiplied by the
|
||||
compressed texel block dimensions. In both cases the number of bytes read and
|
||||
the number of bytes written will be identical.
|
||||
|
||||
Copying to or from block-compressed images is typically done in multiples of
|
||||
the block. For this reason the pname:extent must: be a multiple of the
|
||||
block dimension. There is one exception to this rule which is required: to
|
||||
handle compressed images created with dimensions that are not a multiple
|
||||
of the block dimensions. If the pname:srcImage is compressed and if
|
||||
pname:extent.width is not a multiple of the block width then
|
||||
(pname:extent.width + pname:srcOffset.x) must: equal the subresource width,
|
||||
if pname:extent.height is not a multiple of the block height then
|
||||
(pname:extent.height + pname:srcOffset.y) must: equal
|
||||
the subresource height and if pname:extent.depth is not a multiple of the
|
||||
block depth then (pname:extent.depth + pname:srcOffset.z) must: equal
|
||||
the subresource depth. Similarily if the pname:dstImage is compressed and
|
||||
if pname:extent.width is not a multiple of the block width then
|
||||
(pname:extent.width + pname:dstOffset.x) must: equal the subresource width,
|
||||
if pname:extent.height is not a multiple of the block height then
|
||||
(pname:extent.height + pname:dstOffset.y) must: equal
|
||||
the subresource height and if pname:extent.depth is not a multiple of the
|
||||
block depth then (pname:extent.depth + pname:dstOffset.z) must: equal
|
||||
the subresource depth. This allows the last block of the image in each
|
||||
non-multiple dimension to be included as a source or target of the copy.
|
||||
the compressed texel block. For this reason the pname:extent must: be a
|
||||
multiple of the compressed texel block dimension. There is one exception to
|
||||
this rule which is required: to handle compressed images created with
|
||||
dimensions that are not a multiple of the compressed texel block dimensions.
|
||||
If the pname:srcImage is compressed and if pname:extent.width is not a
|
||||
multiple of the compressed texel block width then (pname:extent.width +
|
||||
pname:srcOffset.x) must: equal the subresource width, if pname:extent.height
|
||||
is not a multiple of the compressed texel block height then
|
||||
(pname:extent.height + pname:srcOffset.y) must: equal the subresource height
|
||||
and if pname:extent.depth is not a multiple of the compressed texel block
|
||||
depth then (pname:extent.depth + pname:srcOffset.z) must: equal the
|
||||
subresource depth. Similarily if the pname:dstImage is compressed and if
|
||||
pname:extent.width is not a multiple of the compressed texel block width then
|
||||
(pname:extent.width + pname:dstOffset.x) must: equal the subresource width, if
|
||||
pname:extent.height is not a multiple of the compressed texel block height
|
||||
then (pname:extent.height + pname:dstOffset.y) must: equal the subresource
|
||||
height and if pname:extent.depth is not a multiple of the compressed texel
|
||||
block depth then (pname:extent.depth + pname:dstOffset.z) must: equal the
|
||||
subresource depth. This allows the last compressed texel block of the image
|
||||
in each non-multiple dimension to be included as a source or destination of
|
||||
the copy.
|
||||
|
||||
fname:vkCmdCopyImage can: be used to copy image data between multisample
|
||||
images, but both images must: have the same number of samples.
|
||||
|
@ -330,8 +337,8 @@ buffer memory. Instead, pname:bufferOffset can: be used to
|
|||
select the starting address in buffer memory.
|
||||
|
||||
For block-compression formats, all parameters are still specified in texels
|
||||
rather than blocks, but the addressing math operates on whole blocks.
|
||||
Pseudocode for compressed copy addressing is:
|
||||
rather than compressed texel blocks, but the addressing math operates on
|
||||
whole compressed texel blocks. Pseudocode for compressed copy addressing is:
|
||||
|
||||
[source,c]
|
||||
---------------------------------------------------
|
||||
|
@ -343,28 +350,30 @@ imageHeight = region->bufferImageHeight;
|
|||
if (imageHeight == 0)
|
||||
imageHeight = region->imageExtent.height;
|
||||
|
||||
blockSizeInBytes = <block size taken from the src/dstImage>;
|
||||
rowLength /= blockWidth;
|
||||
imageHeight /= blockHeight;
|
||||
compressedTexelBlockSizeInBytes = <compressed texel block size taken from the src/dstImage>;
|
||||
rowLength /= compressedTexelBlockWidth;
|
||||
imageHeight /= compressedTexelBlockHeight;
|
||||
|
||||
address of (x,y,z) = region->bufferOffset + (((z * imageHeight) + y) * rowLength + x) * blockSizeInBytes;
|
||||
address of (x,y,z) = region->bufferOffset + (((z * imageHeight) + y) * rowLength + x) * compressedTexelBlockSizeInBytes;
|
||||
|
||||
where x,y,z range from (0,0,0) to region->imageExtent.{width/blockWidth,height/blockHeight,depth/blockDepth}.
|
||||
where x,y,z range from (0,0,0) to region->imageExtent.{width/compressedTexelBlockWidth,height/compressedTexelBlockHeight,depth/compressedTexelBlockDepth}.
|
||||
---------------------------------------------------
|
||||
|
||||
Copying to or from block-compressed images is typically done in multiples of
|
||||
the block. For this reason the pname:imageExtent must: be a multiple of the
|
||||
block dimension. There is one exception to this rule which is required: to
|
||||
handle compressed images created with dimensions that are not a multiple of
|
||||
the block dimensions. If pname:imageExtent.width is not a multiple of the
|
||||
block width then (pname:imageExtent.width + pname:imageOffset.x) must: equal
|
||||
the subresource width, if pname:imageExtent.height is not a multiple of the
|
||||
block height then (pname:imageExtent.height + pname:imageOffset.y) must:
|
||||
equal the subresource height and if pname:imageExtent.depth is not a
|
||||
multiple of the block depth then (pname:imageExtent.depth +
|
||||
pname:imageOffset.z) must: equal the subresource depth. This allows the last
|
||||
block of the image in each non-multiple dimension to be included as a source
|
||||
or target of the copy.
|
||||
the compressed texel block. For this reason the pname:imageExtent must: be a
|
||||
multiple of the compressed texel block dimension. There is one exception to
|
||||
this rule which is required: to handle compressed images created with
|
||||
dimensions that are not a multiple of the compressed texel block dimensions.
|
||||
If pname:imageExtent.width is not a multiple of the compressed texel block
|
||||
width then (pname:imageExtent.width + pname:imageOffset.x) must: equal the
|
||||
subresource width, if pname:imageExtent.height is not a multiple of the
|
||||
compressed texel block height then (pname:imageExtent.height +
|
||||
pname:imageOffset.y) must: equal the subresource height and if
|
||||
pname:imageExtent.depth is not a multiple of the compressed texel block depth
|
||||
then (pname:imageExtent.depth + pname:imageOffset.z) must: equal the
|
||||
subresource depth. This allows the last compressed texel block of the image
|
||||
in each non-multiple dimension to be included as a source or destination of
|
||||
the copy.
|
||||
|
||||
|
||||
[[copies-imagescaling]]
|
||||
|
|
|
@ -220,8 +220,9 @@ include::../validity/structs/VkQueueFamilyProperties.txt[]
|
|||
|
||||
For further details see <<devsandqueues-queues,Queues>>.
|
||||
|
||||
The value returned in pname:minImageTransferGranularity has a unit of blocks
|
||||
for images having a block compressed format, and a unit of texels otherwise.
|
||||
The value returned in pname:minImageTransferGranularity has a unit of
|
||||
compressed texel blocks for images having a block-compressed format, and a
|
||||
unit of texels otherwise.
|
||||
|
||||
Possible values of pname:minImageTransferGranularity are:
|
||||
|
||||
|
@ -257,8 +258,9 @@ Possible values of pname:minImageTransferGranularity are:
|
|||
equal the depth of the image subresource corresponding to the
|
||||
parameter.
|
||||
** If the format of the image corresponding to the parameters is one of
|
||||
the block compressed formats then for the purposes of the above
|
||||
calculations the granularity must: be scaled up by the block size.
|
||||
the block-compressed formats then for the purposes of the above
|
||||
calculations the granularity must: be scaled up by the compressed
|
||||
texel block dimensions.
|
||||
|
||||
Queues supporting graphics and/or compute operations must: report
|
||||
latexmath:[$(1,1,1)$] in pname:minImageTransferGranularity, meaning that
|
||||
|
|
|
@ -463,9 +463,9 @@ check for the supported properties of individual formats.
|
|||
code. This also indicates whether shader modules can: declare the
|
||||
code:MinLod capability.
|
||||
* [[features-features-sparseBinding]] pname:sparseBinding indicates
|
||||
whether resource memory can: be managed at opaque block level instead of
|
||||
at the object level. If this feature is not enabled, resource memory
|
||||
must: be bound only on a per-object basis using the
|
||||
whether resource memory can: be managed at opaque sparse block level
|
||||
instead of at the object level. If this feature is not enabled, resource
|
||||
memory must: be bound only on a per-object basis using the
|
||||
fname:vkBindBufferMemory and fname:vkBindImageMemory commands. In this
|
||||
case, buffers and images mustnot: be created with
|
||||
ename:VK_BUFFER_CREATE_SPARSE_BINDING_BIT and
|
||||
|
@ -624,9 +624,10 @@ properties of the physical device:
|
|||
exist on a device.
|
||||
* [[features-limits-bufferImageGranularity]] pname:bufferImageGranularity
|
||||
is the granularity, in bytes, at which buffer or linear image resources,
|
||||
and optimal image resources can: be bound to adjacent memory for
|
||||
simultaneous usage. See <<resources-bufferimagegranularity,Buffer-Image
|
||||
Granularity>> for more details.
|
||||
and optimal image resources can: be bound to adjacent offsets in the same
|
||||
sname:VkDeviceMemory object without aliasing. See
|
||||
<<resources-bufferimagegranularity,Buffer-Image Granularity>> for more
|
||||
details.
|
||||
* [[features-limits-sparseAddressSpaceSize]] pname:sparseAddressSpaceSize
|
||||
is the total amount of address space available, in bytes, for sparse
|
||||
memory resources. This is an upper bound on the sum of the size of all
|
||||
|
@ -726,7 +727,7 @@ properties of the physical device:
|
|||
<<descriptorsets-combinedimagesampler>>.
|
||||
* [[features-limits-maxDescriptorSetUniformBuffers]]
|
||||
pname:maxDescriptorSetUniformBuffers is the maximum number of uniform
|
||||
buffers that can: be be included in descriptor bindings in a pipeline
|
||||
buffers that can: be included in descriptor bindings in a pipeline
|
||||
layout across all pipeline shader stages and descriptor set numbers.
|
||||
Descriptors with a type of ename:VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER or
|
||||
ename:VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC count against this
|
||||
|
@ -741,7 +742,7 @@ properties of the physical device:
|
|||
limit. See <<descriptorsets-uniformbufferdynamic>>.
|
||||
* [[features-limits-maxDescriptorSetStorageBuffers]]
|
||||
pname:maxDescriptorSetStorageBuffers is the maximum number of storage
|
||||
buffers that can: be be included in descriptor bindings in a pipeline
|
||||
buffers that can: be included in descriptor bindings in a pipeline
|
||||
layout across all pipeline shader stages and descriptor set numbers.
|
||||
Descriptors with a type of ename:VK_DESCRIPTOR_TYPE_STORAGE_BUFFER or
|
||||
ename:VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC count against this
|
||||
|
@ -749,14 +750,14 @@ properties of the physical device:
|
|||
<<descriptorsets-storagebufferdynamic>>.
|
||||
* [[features-limits-maxDescriptorSetStorageBuffersDynamic]]
|
||||
pname:maxDescriptorSetStorageBuffersDynamic is the maximum number of
|
||||
dynamic storage buffers that can: be be included in descriptor bindings
|
||||
dynamic storage buffers that can: be included in descriptor bindings
|
||||
in a pipeline layout across all pipeline shader stages and descriptor
|
||||
set numbers. Descriptors with a type of
|
||||
ename:VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC count against this
|
||||
limit. See <<descriptorsets-storagebufferdynamic>>.
|
||||
* [[features-limits-maxDescriptorSetSampledImages]]
|
||||
pname:maxDescriptorSetSampledImages is the maximum number of sampled
|
||||
images that can: be be included in descriptor bindings in a pipeline
|
||||
images that can: be included in descriptor bindings in a pipeline
|
||||
layout across all pipeline shader stages and descriptor set numbers.
|
||||
Descriptors with a type of
|
||||
ename:VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER,
|
||||
|
@ -767,7 +768,7 @@ properties of the physical device:
|
|||
<<descriptorsets-uniformtexelbuffer>>.
|
||||
* [[features-limits-maxDescriptorSetStorageImages]]
|
||||
pname:maxDescriptorSetStorageImages is the maximum number of storage
|
||||
images that can: be be included in descriptor bindings in a pipeline
|
||||
images that can: be included in descriptor bindings in a pipeline
|
||||
layout across all pipeline shader stages and descriptor set numbers.
|
||||
Descriptors with a type of ename:VK_DESCRIPTOR_TYPE_STORAGE_IMAGE, or
|
||||
ename:VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER count against this limit.
|
||||
|
@ -775,7 +776,7 @@ properties of the physical device:
|
|||
<<descriptorsets-storagetexelbuffer>>.
|
||||
* [[features-limits-maxDescriptorSetInputAttachments]]
|
||||
pname:maxDescriptorSetInputAttachments is the maximum number of input
|
||||
attachments that can: be be included in descriptor bindings in a
|
||||
attachments that can: be included in descriptor bindings in a
|
||||
pipeline layout across all pipeline shader stages and descriptor set
|
||||
numbers. Descriptors with a type of
|
||||
ename:VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT count against this limit. See
|
||||
|
@ -971,9 +972,28 @@ different equations in the spec).
|
|||
which can: be created and used as a framebuffer attachment. See
|
||||
<<vertexpostproc-viewport,Controlling the Viewport>>.
|
||||
* [[features-limits-viewportboundsrange]] pname:viewportBoundsRange[2] is
|
||||
the viewport bounds range
|
||||
latexmath:[$[\mathit{minimum},\mathit{maximum}\]$]. See
|
||||
<<vertexpostproc-viewport,Controlling the Viewport>>.
|
||||
the latexmath:[$[\mathit{minimum},\mathit{maximum}\]$] range that the
|
||||
corners of a viewport must: be contained in. This range must: be at
|
||||
least latexmath:[$[- 2 \times \mathit{maxViewportDimensions},
|
||||
2 \times \mathit{maxViewportDimensions} - 1\]$].
|
||||
See <<vertexpostproc-viewport,Controlling the Viewport>>.
|
||||
+
|
||||
--
|
||||
[NOTE]
|
||||
.Note
|
||||
====
|
||||
The intent of the pname:viewportBoundsRange limit is to allow a maximum sized
|
||||
viewport to be arbitrarily shifted relative to the output target as long
|
||||
as at least some portion intersects. This would give a bounds limit of
|
||||
latexmath:[$[- \mathit{maxViewportDimensions}+1,
|
||||
2 \times \mathit{maxViewportDimensions} -1\]$] which would allow
|
||||
all possible non-empty-set intersections of the output target and the viewport.
|
||||
Since these numbers are typically powers of two, picking the signed number
|
||||
range using the smalled possible number of bits, ends up with the specified
|
||||
range.
|
||||
====
|
||||
--
|
||||
|
||||
* [[features-limits-viewportSubPixelBits]] pname:viewportSubPixelBits is
|
||||
the number of bits of subpixel precision for viewport bounds. The
|
||||
subpixel precision that floating-point viewport bounds are interpreted
|
||||
|
@ -1453,10 +1473,12 @@ the same whether or not the feature is enabled.
|
|||
It may: not be possible to reach this limit in every stage.
|
||||
|
||||
3::
|
||||
Maximum image attachment size or maximum display size
|
||||
See <<features-limits-maxViewportDimensions,pname:maxViewportDimensions>>
|
||||
for the required relationship to other limits.
|
||||
|
||||
4::
|
||||
Double the pname:maxViewportDimensions
|
||||
See <<features-limits-viewportboundsrange,pname:viewportBoundsRange>>
|
||||
for the required relationship to other limits.
|
||||
|
||||
5::
|
||||
The values pname:minInterpolationOffset and pname:maxInterpolationOffset
|
||||
|
@ -2260,283 +2282,274 @@ ename:VK_FORMAT_D32_SFLOAT_S8_UINT::
|
|||
are optionally: 24-bits that are unused.
|
||||
|
||||
ename:VK_FORMAT_BC1_RGB_UNORM_BLOCK::
|
||||
A three-component, block compressed format where each 4x4 block consists
|
||||
of 64-bits of encoded unsigned normalized RGB image data. This format
|
||||
has no alpha and is considered opaque.
|
||||
A three-component, block-compressed format where each 64-bit compressed
|
||||
texel block encodes a 4x4 rectangle of unsigned normalized RGB texel data.
|
||||
This format has no alpha and is considered opaque.
|
||||
|
||||
ename:VK_FORMAT_BC1_RGB_SRGB_BLOCK::
|
||||
A three-component, block compressed format where each 4x4 block consists
|
||||
of 64-bits of encoded unsigned normalized RGB image data with sRGB
|
||||
nonlinear encoding. This format has no alpha and is considered opaque.
|
||||
A three-component, block-compressed format where each 64-bit compressed
|
||||
texel block encodes a 4x4 rectangle of unsigned normalized RGB texel data
|
||||
with sRGB nonlinear encoding. This format has no alpha and is considered
|
||||
opaque.
|
||||
|
||||
ename:VK_FORMAT_BC1_RGBA_UNORM_BLOCK::
|
||||
A four-component, block compressed format where each 4x4 block consists
|
||||
of 64-bits of encoded unsigned normalized RGB image data, and provides 1
|
||||
bit of alpha.
|
||||
A four-component, block-compressed format where each 64-bit compressed
|
||||
texel block encodes a 4x4 rectangle of unsigned normalized RGB texel data,
|
||||
and provides 1 bit of alpha.
|
||||
|
||||
ename:VK_FORMAT_BC1_RGBA_SRGB_BLOCK::
|
||||
A four-component, block compressed format where each 4x4 block consists
|
||||
of 64-bits of encoded unsigned normalized RGB image data with sRGB
|
||||
nonlinear encoding, and provides 1 bit of alpha.
|
||||
A four-component, block-compressed format where each 64-bit compressed
|
||||
texel block encodes a 4x4 rectangle of unsigned normalized RGB texel data
|
||||
with sRGB nonlinear encoding, and provides 1 bit of alpha.
|
||||
|
||||
ename:VK_FORMAT_BC2_UNORM_BLOCK::
|
||||
A four-component, block compressed format where each 4x4 block consists
|
||||
of 64-bits of unsigned normalized alpha image data followed by 64-bits
|
||||
of encoded unsigned normalized RGB image data.
|
||||
A four-component, block-compressed format where each 128-bit compressed
|
||||
texel block encodes a 4x4 rectangle of unsigned normalized RGBA texel data
|
||||
with the first 64 bits encoding alpha values followed by 64 bits encoding
|
||||
RGB values.
|
||||
|
||||
ename:VK_FORMAT_BC2_SRGB_BLOCK::
|
||||
A four-component, block compressed format where each 4x4 block consists
|
||||
of 64-bits of unsigned normalized alpha image data followed by 64-bits
|
||||
of encoded unsigned normalized RGB image data with sRGB nonlinear
|
||||
encoding.
|
||||
A four-component, block-compressed format where each 128-bit compressed
|
||||
texel block encodes a 4x4 rectangle of unsigned normalized RGBA texel data
|
||||
with the first 64 bits encoding alpha values followed by 64 bits encoding
|
||||
RGB values with sRGB nonlinear encoding.
|
||||
|
||||
ename:VK_FORMAT_BC3_UNORM_BLOCK::
|
||||
A four-component, block compressed format where each 4x4 block consists
|
||||
of 64-bits of encoded alpha image data followed by 64-bits of encoded
|
||||
RGB image data. Both blocks are decoded as unsigned normalized values.
|
||||
A four-component, block-compressed format where each 128-bit compressed
|
||||
texel block encodes a 4x4 rectangle of unsigned normalized RGBA texel data
|
||||
with the first 64 bits encoding alpha values followed by 64 bits encoding
|
||||
RGB values.
|
||||
|
||||
ename:VK_FORMAT_BC3_SRGB_BLOCK::
|
||||
A four-component, block compressed format where each 4x4 block consists
|
||||
of 64-bits of encoded alpha image data followed by 64-bits of encoded
|
||||
RGB image data with sRGB nonlinear encoding. Both blocks are decoded as
|
||||
unsigned normalized values.
|
||||
A four-component, block-compressed format where each 128-bit compressed
|
||||
texel block encodes a 4x4 rectangle of unsigned normalized RGBA texel data
|
||||
with the first 64 bits encoding alpha values followed by 64 bits encoding
|
||||
RGB values with sRGB nonlinear encoding.
|
||||
|
||||
ename:VK_FORMAT_BC4_UNORM_BLOCK::
|
||||
A one-component, block compressed format where each 4x4 block consists
|
||||
of 64-bits of encoded unsigned normalized red image data.
|
||||
A one-component, block-compressed format where each 64-bit compressed
|
||||
texel block encodes a 4x4 rectangle of unsigned normalized red texel data.
|
||||
|
||||
ename:VK_FORMAT_BC4_SNORM_BLOCK::
|
||||
A one-component, block compressed format where each 4x4 block consists
|
||||
of 64-bits of encoded signed normalized red image data.
|
||||
A one-component, block-compressed format where each 64-bit compressed
|
||||
texel block encodes a 4x4 rectangle of signed normalized red texel data.
|
||||
|
||||
ename:VK_FORMAT_BC5_UNORM_BLOCK::
|
||||
A two-component, block compressed format where each 4x4 block consists
|
||||
of 64-bits of encoded unsigned normalized red image data followed by
|
||||
64-bits of encoded unsigned normalized green image data.
|
||||
A two-component, block-compressed format where each 128-bit compressed
|
||||
texel block encodes a 4x4 rectangle of unsigned normalized RG texel data
|
||||
with the first 64 bits encoding red values followed by 64 bits encoding
|
||||
green values.
|
||||
|
||||
ename:VK_FORMAT_BC5_SNORM_BLOCK::
|
||||
A two-component, block compressed format where each 4x4 block consists
|
||||
of 64-bits of encoded signed normalized red image data followed by
|
||||
64-bits of encoded signed normalized green image data.
|
||||
A two-component, block-compressed format where each 128-bit compressed
|
||||
texel block encodes a 4x4 rectangle of signed normalized RG texel data
|
||||
with the first 64 bits encoding red values followed by 64 bits encoding
|
||||
green values.
|
||||
|
||||
ename:VK_FORMAT_BC6H_UFLOAT_BLOCK::
|
||||
A three-component, block compressed format where each 4x4 block consists
|
||||
of 128-bits of encoded unsigned floating-point RGB image data.
|
||||
A three-component, block-compressed format where each 128-bit compressed
|
||||
texel block encodes a 4x4 rectangle of unsigned floating-point RGB texel
|
||||
data.
|
||||
|
||||
ename:VK_FORMAT_BC6H_SFLOAT_BLOCK::
|
||||
A three-component, block compressed format where each 4x4 block consists
|
||||
of 128-bits of encoded signed floating-point RGB image data.
|
||||
A three-component, block-compressed format where each 128-bit compressed
|
||||
texel block encodes a 4x4 rectangle of signed floating-point RGB texel
|
||||
data.
|
||||
|
||||
ename:VK_FORMAT_BC7_UNORM_BLOCK::
|
||||
A four-component, block compressed format where each 4x4 block consists
|
||||
of 128-bits of encoded unsigned normalized RGBA image data.
|
||||
A four-component, block-compressed format where each 128-bit compressed
|
||||
texel block encodes a 4x4 rectangle of unsigned normalized RGBA texel
|
||||
data.
|
||||
|
||||
ename:VK_FORMAT_BC7_SRGB_BLOCK::
|
||||
A four-component, block compressed format where each 4x4 block consists
|
||||
of 128-bits of encoded unsigned normalized RGBA image data with sRGB
|
||||
nonlinear encoding applied to the RGB components.
|
||||
A four-component, block-compressed format where each 128-bit compressed
|
||||
texel block encodes a 4x4 rectangle of unsigned normalized RGBA texel
|
||||
data with sRGB nonlinear encoding applied to the RGB components.
|
||||
|
||||
ename:VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK::
|
||||
A three-component, ETC2 compressed format where each 4x4 block consists
|
||||
of 64-bits of encoded unsigned normalized RGB image data.
|
||||
A three-component, ETC2 compressed format where each 64-bit compressed
|
||||
texel block encodes a 4x4 rectangle of unsigned normalized RGB texel data.
|
||||
This format has no alpha and is considered opaque.
|
||||
|
||||
ename:VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK::
|
||||
A three-component, ETC2 compressed format where each 4x4 block consists
|
||||
of 64-bits of encoded unsigned normalized RGB image data with sRGB
|
||||
nonlinear encoding.
|
||||
A three-component, ETC2 compressed format where each 64-bit compressed
|
||||
texel block encodes a 4x4 rectangle of unsigned normalized RGB texel data
|
||||
with sRGB nonlinear encoding. This format has no alpha and is considered
|
||||
opaque.
|
||||
|
||||
ename:VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK::
|
||||
A four-component, ETC2 compressed format where each 4x4 block consists
|
||||
of 64-bits of encoded unsigned normalized RGB image data, and provides 1
|
||||
bit of alpha.
|
||||
A four-component, ETC2 compressed format where each 64-bit compressed
|
||||
texel block encodes a 4x4 rectangle of unsigned normalized RGB texel data,
|
||||
and provides 1 bit of alpha.
|
||||
|
||||
ename:VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK::
|
||||
A four-component, ETC2 compressed format where each 4x4 block consists
|
||||
of 64-bits of encoded unsigned normalized RGB image data with sRGB
|
||||
nonlinear encoding, and provides 1 bit of alpha.
|
||||
A four-component, ETC2 compressed format where each 64-bit compressed
|
||||
texel block encodes a 4x4 rectangle of unsigned normalized RGB texel data
|
||||
with sRGB nonlinear encoding, and provides 1 bit of alpha.
|
||||
|
||||
ename:VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK::
|
||||
A four-component, ETC2 compressed format where each 4x4 block consists
|
||||
of 64-bits of encoded unsigned normalized RGB image data, and 64-bits of
|
||||
encoded unsigned normalized alpha image data.
|
||||
A four-component, ETC2 compressed format where each 128-bit compressed
|
||||
texel block encodes a 4x4 rectangle of unsigned normalized RGBA texel data
|
||||
with the first 64 bits encoding alpha values followed by 64 bits encoding
|
||||
RGB values.
|
||||
|
||||
ename:VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK::
|
||||
A four-component, ETC2 compressed format where each 4x4 block consists
|
||||
of 64-bits of encoded unsigned normalized RGB image data with sRGB
|
||||
nonlinear encoding, and 64-bits of encoded unsigned normalized alpha
|
||||
image data.
|
||||
A four-component, ETC2 compressed format where each 64-bit compressed
|
||||
texel block encodes a 4x4 rectangle of unsigned normalized RGBA texel data
|
||||
with the first 64 bits encoding alpha values followed by 64 bits encoding
|
||||
RGB values with sRGB nonlinear encoding applied.
|
||||
|
||||
ename:VK_FORMAT_EAC_R11_UNORM_BLOCK::
|
||||
A one-component, ETC2 compressed format where each 4x4 block consists of
|
||||
64-bits of encoded unsigned normalized red image data.
|
||||
A one-component, ETC2 compressed format where each 64-bit compressed
|
||||
texel block encodes a 4x4 rectangle of unsigned normalized red texel data.
|
||||
|
||||
ename:VK_FORMAT_EAC_R11_SNORM_BLOCK::
|
||||
A one-component, ETC2 compressed format where each 4x4 block consists of
|
||||
64-bits of encoded signed normalized red image data.
|
||||
A one-component, ETC2 compressed format where each 64-bit compressed
|
||||
texel block encodes a 4x4 rectangle of signed normalized red texel data.
|
||||
|
||||
ename:VK_FORMAT_EAC_R11G11_UNORM_BLOCK::
|
||||
A two-component, ETC2 compressed format where each 4x4 block consists of
|
||||
64-bits of encoded unsigned normalized red image data followed by
|
||||
64-bits of encoded unsigned normalized green image data.
|
||||
A two-component, ETC2 compressed format where each 128-bit compressed
|
||||
texel block encodes a 4x4 rectangle of unsigned normalized RG texel data
|
||||
with the first 64 bits encoding red values followed by 64 bits encoding
|
||||
green values.
|
||||
|
||||
ename:VK_FORMAT_EAC_R11G11_SNORM_BLOCK::
|
||||
A two-component, ETC2 compressed format where each 4x4 block consists of
|
||||
64-bits of encoded signed normalized red image data followed by 64-bits
|
||||
of encoded signed normalized green image data.
|
||||
A two-component, ETC2 compressed format where each 128-bit compressed
|
||||
texel block encodes a 4x4 rectangle of signed normalized RG texel data
|
||||
with the first 64 bits encoding red values followed by 64 bits encoding
|
||||
green values.
|
||||
|
||||
ename:VK_FORMAT_ASTC_4x4_UNORM_BLOCK::
|
||||
A four-component, ASTC compressed format where each 4x4 block consists
|
||||
of 128-bits of encoded image data which is decoded as unsigned
|
||||
normalized RGBA image data.
|
||||
A four-component, ASTC compressed format where each 128-bit compressed
|
||||
texel block encodes a 4x4 rectangle of unsigned normalized RGBA texel data.
|
||||
|
||||
ename:VK_FORMAT_ASTC_4x4_SRGB_BLOCK::
|
||||
A four-component, ASTC compressed format where each 4x4 block consists
|
||||
of 128-bits of encoded image data which is decoded as unsigned
|
||||
normalized RGBA image data with sRGB nonlinear encoding applied to
|
||||
the RGB components.
|
||||
A four-component, ASTC compressed format where each 128-bit compressed
|
||||
texel block encodes a 4x4 rectangle of unsigned normalized RGBA texel data
|
||||
with sRGB nonlinear encoding applied to the RGB components.
|
||||
|
||||
ename:VK_FORMAT_ASTC_5x4_UNORM_BLOCK::
|
||||
A four-component, ASTC compressed format where each 5x4 block consists
|
||||
of 128-bits of encoded image data which is decoded as unsigned
|
||||
normalized RGBA image data.
|
||||
A four-component, ASTC compressed format where each 128-bit compressed
|
||||
texel block encodes a 5x4 rectangle of unsigned normalized RGBA texel data.
|
||||
|
||||
ename:VK_FORMAT_ASTC_5x4_SRGB_BLOCK::
|
||||
A four-component, ASTC compressed format where each 5x4 block consists
|
||||
of 128-bits of encoded image data which is decoded as unsigned
|
||||
normalized RGBA image data with sRGB nonlinear encoding applied to
|
||||
the RGB components.
|
||||
A four-component, ASTC compressed format where each 128-bit compressed
|
||||
texel block encodes a 5x4 rectangle of unsigned normalized RGBA texel data
|
||||
with sRGB nonlinear encoding applied to the RGB components.
|
||||
|
||||
ename:VK_FORMAT_ASTC_5x5_UNORM_BLOCK::
|
||||
A four-component, ASTC compressed format where each 5x5 block consists
|
||||
of 128-bits of encoded image data which is decoded as unsigned
|
||||
normalized RGBA image data.
|
||||
A four-component, ASTC compressed format where each 128-bit compressed
|
||||
texel block encodes a 5x5 rectangle of unsigned normalized RGBA texel data.
|
||||
|
||||
ename:VK_FORMAT_ASTC_5x5_SRGB_BLOCK::
|
||||
A four-component, ASTC compressed format where each 5x5 block consists
|
||||
of 128-bits of encoded image data which is decoded as unsigned
|
||||
normalized RGBA image data with sRGB nonlinear encoding applied to
|
||||
the RGB components.
|
||||
A four-component, ASTC compressed format where each 128-bit compressed
|
||||
texel block encodes a 5x5 rectangle of unsigned normalized RGBA texel data
|
||||
with sRGB nonlinear encoding applied to the RGB components.
|
||||
|
||||
ename:VK_FORMAT_ASTC_6x5_UNORM_BLOCK::
|
||||
A four-component, ASTC compressed format where each 6x5 block consists
|
||||
of 128-bits of encoded image data which is decoded as unsigned
|
||||
normalized RGBA image data.
|
||||
A four-component, ASTC compressed format where each 128-bit compressed
|
||||
texel block encodes a 6x5 rectangle of unsigned normalized RGBA texel data.
|
||||
|
||||
ename:VK_FORMAT_ASTC_6x5_SRGB_BLOCK::
|
||||
A four-component, ASTC compressed format where each 6x5 block consists
|
||||
of 128-bits of encoded image data which is decoded as unsigned
|
||||
normalized RGBA image data with sRGB nonlinear encoding applied to
|
||||
the RGB components.
|
||||
A four-component, ASTC compressed format where each 128-bit compressed
|
||||
texel block encodes a 6x5 rectangle of unsigned normalized RGBA texel data
|
||||
with sRGB nonlinear encoding applied to the RGB components.
|
||||
|
||||
ename:VK_FORMAT_ASTC_6x6_UNORM_BLOCK::
|
||||
A four-component, ASTC compressed format where each 6x6 block consists
|
||||
of 128-bits of encoded image data which is decoded as unsigned
|
||||
normalized RGBA image data.
|
||||
A four-component, ASTC compressed format where each 128-bit compressed
|
||||
texel block encodes a 6x6 rectangle of unsigned normalized RGBA texel data.
|
||||
|
||||
ename:VK_FORMAT_ASTC_6x6_SRGB_BLOCK::
|
||||
A four-component, ASTC compressed format where each 6x6 block consists
|
||||
of 128-bits of encoded image data which is decoded as unsigned
|
||||
normalized RGBA image data with sRGB nonlinear encoding applied to
|
||||
the RGB components.
|
||||
A four-component, ASTC compressed format where each 128-bit compressed
|
||||
texel block encodes a 6x6 rectangle of unsigned normalized RGBA texel data
|
||||
with sRGB nonlinear encoding applied to the RGB components.
|
||||
|
||||
ename:VK_FORMAT_ASTC_8x5_UNORM_BLOCK::
|
||||
A four-component, ASTC compressed format where each 8x5 block consists
|
||||
of 128-bits of encoded image data which is decoded as unsigned
|
||||
normalized RGBA image data.
|
||||
A four-component, ASTC compressed format where each 128-bit compressed
|
||||
texel block encodes a 8x5 rectangle of unsigned normalized RGBA texel data.
|
||||
|
||||
ename:VK_FORMAT_ASTC_8x5_SRGB_BLOCK::
|
||||
A four-component, ASTC compressed format where each 8x5 block consists
|
||||
of 128-bits of encoded image data which is decoded as unsigned
|
||||
normalized RGBA image data with sRGB nonlinear encoding applied to
|
||||
the RGB components.
|
||||
A four-component, ASTC compressed format where each 128-bit compressed
|
||||
texel block encodes a 8x5 rectangle of unsigned normalized RGBA texel data
|
||||
with sRGB nonlinear encoding applied to the RGB components.
|
||||
|
||||
ename:VK_FORMAT_ASTC_8x6_UNORM_BLOCK::
|
||||
A four-component, ASTC compressed format where each 8x6 block consists
|
||||
of 128-bits of encoded image data which is decoded as unsigned
|
||||
normalized RGBA image data.
|
||||
A four-component, ASTC compressed format where each 128-bit compressed
|
||||
texel block encodes a 8x6 rectangle of unsigned normalized RGBA texel data.
|
||||
|
||||
ename:VK_FORMAT_ASTC_8x6_SRGB_BLOCK::
|
||||
A four-component, ASTC compressed format where each 8x6 block consists
|
||||
of 128-bits of encoded image data which is decoded as unsigned
|
||||
normalized RGBA image data with sRGB nonlinear encoding applied to
|
||||
the RGB components.
|
||||
A four-component, ASTC compressed format where each 128-bit compressed
|
||||
texel block encodes a 8x6 rectangle of unsigned normalized RGBA texel data
|
||||
with sRGB nonlinear encoding applied to the RGB components.
|
||||
|
||||
ename:VK_FORMAT_ASTC_8x8_UNORM_BLOCK::
|
||||
A four-component, ASTC compressed format where each 8x8 block consists
|
||||
of 128-bits of encoded image data which is decoded as unsigned
|
||||
normalized RGBA image data.
|
||||
A four-component, ASTC compressed format where each 128-bit compressed
|
||||
texel block encodes a 8x8 rectangle of unsigned normalized RGBA texel data.
|
||||
|
||||
ename:VK_FORMAT_ASTC_8x8_SRGB_BLOCK::
|
||||
A four-component, ASTC compressed format where each 8x8 block consists
|
||||
of 128-bits of encoded image data which is decoded as unsigned
|
||||
normalized RGBA image data with sRGB nonlinear encoding applied to
|
||||
the RGB components.
|
||||
A four-component, ASTC compressed format where each 128-bit compressed
|
||||
texel block encodes a 8x8 rectangle of unsigned normalized RGBA texel data
|
||||
with sRGB nonlinear encoding applied to the RGB components.
|
||||
|
||||
ename:VK_FORMAT_ASTC_10x5_UNORM_BLOCK::
|
||||
A four-component, ASTC compressed format where each 10x5 block consists
|
||||
of 128-bits of encoded image data which is decoded as unsigned
|
||||
normalized RGBA image data.
|
||||
A four-component, ASTC compressed format where each 128-bit compressed
|
||||
texel block encodes a 10x5 rectangle of unsigned normalized RGBA texel
|
||||
data.
|
||||
|
||||
ename:VK_FORMAT_ASTC_10x5_SRGB_BLOCK::
|
||||
A four-component, ASTC compressed format where each 10x5 block consists
|
||||
of 128-bits of encoded image data which is decoded as unsigned
|
||||
normalized RGBA image data with sRGB nonlinear encoding applied to
|
||||
the RGB components.
|
||||
A four-component, ASTC compressed format where each 128-bit compressed
|
||||
texel block encodes a 10x5 rectangle of unsigned normalized RGBA texel data
|
||||
with sRGB nonlinear encoding applied to the RGB components.
|
||||
|
||||
ename:VK_FORMAT_ASTC_10x6_UNORM_BLOCK::
|
||||
A four-component, ASTC compressed format where each 10x6 block consists
|
||||
of 128-bits of encoded image data which is decoded as unsigned
|
||||
normalized RGBA image data.
|
||||
A four-component, ASTC compressed format where each 128-bit compressed
|
||||
texel block encodes a 10x6 rectangle of unsigned normalized RGBA texel
|
||||
data.
|
||||
|
||||
ename:VK_FORMAT_ASTC_10x6_SRGB_BLOCK::
|
||||
A four-component, ASTC compressed format where each 10x6 block consists
|
||||
of 128-bits of encoded image data which is decoded as unsigned
|
||||
normalized RGBA image data with sRGB nonlinear encoding applied to
|
||||
the RGB components.
|
||||
A four-component, ASTC compressed format where each 128-bit compressed
|
||||
texel block encodes a 10x6 rectangle of unsigned normalized RGBA texel data
|
||||
with sRGB nonlinear encoding applied to the RGB components.
|
||||
|
||||
ename:VK_FORMAT_ASTC_10x8_UNORM_BLOCK::
|
||||
A four-component, ASTC compressed format where each 10x8 block consists
|
||||
of 128-bits of encoded image data which is decoded as unsigned
|
||||
normalized RGBA image data.
|
||||
A four-component, ASTC compressed format where each 128-bit compressed
|
||||
texel block encodes a 10x8 rectangle of unsigned normalized RGBA texel
|
||||
data.
|
||||
|
||||
ename:VK_FORMAT_ASTC_10x8_SRGB_BLOCK::
|
||||
A four-component, ASTC compressed format where each 10x8 block consists
|
||||
of 128-bits of encoded image data which is decoded as unsigned
|
||||
normalized RGBA image data with sRGB nonlinear encoding applied to
|
||||
the RGB components.
|
||||
A four-component, ASTC compressed format where each 128-bit compressed
|
||||
texel block encodes a 10x8 rectangle of unsigned normalized RGBA texel data
|
||||
with sRGB nonlinear encoding applied to the RGB components.
|
||||
|
||||
ename:VK_FORMAT_ASTC_10x10_UNORM_BLOCK::
|
||||
A four-component, ASTC compressed format where each 10x10 block consists
|
||||
of 128-bits of encoded image data which is decoded as unsigned
|
||||
normalized RGBA image data.
|
||||
A four-component, ASTC compressed format where each 128-bit compressed
|
||||
texel block encodes a 10x10 rectangle of unsigned normalized RGBA texel
|
||||
data.
|
||||
|
||||
ename:VK_FORMAT_ASTC_10x10_SRGB_BLOCK::
|
||||
A four-component, ASTC compressed format where each 10x10 block consists
|
||||
of 128-bits of encoded image data which is decoded as unsigned
|
||||
normalized RGBA image data with sRGB nonlinear encoding applied to
|
||||
the RGB components.
|
||||
A four-component, ASTC compressed format where each 128-bit compressed
|
||||
texel block encodes a 10x10 rectangle of unsigned normalized RGBA texel
|
||||
data with sRGB nonlinear encoding applied to the RGB components.
|
||||
|
||||
ename:VK_FORMAT_ASTC_12x10_UNORM_BLOCK::
|
||||
A four-component, ASTC compressed format where each 12x10 block consists
|
||||
of 128-bits of encoded image data which is decoded as unsigned
|
||||
normalized RGBA image data.
|
||||
A four-component, ASTC compressed format where each 128-bit compressed
|
||||
texel block encodes a 12x10 rectangle of unsigned normalized RGBA texel
|
||||
data.
|
||||
|
||||
ename:VK_FORMAT_ASTC_12x10_SRGB_BLOCK::
|
||||
A four-component, ASTC compressed format where each 12x10 block consists
|
||||
of 128-bits of encoded image data which is decoded as unsigned
|
||||
normalized RGBA image data with sRGB nonlinear encoding applied to
|
||||
the RGB components.
|
||||
A four-component, ASTC compressed format where each 128-bit compressed
|
||||
texel block encodes a 12x10 rectangle of unsigned normalized RGBA texel
|
||||
data with sRGB nonlinear encoding applied to the RGB components.
|
||||
|
||||
ename:VK_FORMAT_ASTC_12x12_UNORM_BLOCK::
|
||||
A four-component, ASTC compressed format where each 12x12 block consists
|
||||
of 128-bits of encoded image data which is decoded as unsigned
|
||||
normalized RGBA image data.
|
||||
A four-component, ASTC compressed format where each 128-bit compressed
|
||||
texel block encodes a 12x12 rectangle of unsigned normalized RGBA texel
|
||||
data.
|
||||
|
||||
ename:VK_FORMAT_ASTC_12x12_SRGB_BLOCK::
|
||||
A four-component, ASTC compressed format where each 12x12 block consists
|
||||
of 128-bits of encoded image data which is decoded as unsigned
|
||||
normalized RGBA image data with sRGB nonlinear encoding applied to
|
||||
the RGB components.
|
||||
A four-component, ASTC compressed format where each 128-bit compressed
|
||||
texel block encodes a 12x12 rectangle of unsigned normalized RGBA texel
|
||||
data with sRGB nonlinear encoding applied to the RGB components.
|
||||
|
||||
|
||||
[[features-formats-packed]]
|
||||
|
@ -2616,7 +2629,7 @@ is unused, but may: be present for padding.
|
|||
The suffix etext:_PACKnn indicates that the format is packed into an
|
||||
underlying type with nn bits.
|
||||
|
||||
The suffix etext:_BLOCK indicates that the format is a block compressed
|
||||
The suffix etext:_BLOCK indicates that the format is a block-compressed
|
||||
format, with the representation of multiple pixels encoded interdependently
|
||||
within a region.
|
||||
|
||||
|
@ -3702,10 +3715,10 @@ returns ename:VK_ERROR_FORMAT_NOT_SUPPORTED.
|
|||
|
||||
The limitations on an image format that are reported by
|
||||
fname:vkGetPhysicalDeviceImageFormatProperties have the following property:
|
||||
if code:usage1 and code:usage2 of type elink:VkImageUsageFlags and
|
||||
if code:usage1 and code:usage2 of type elink:VkImageUsageFlags are such that
|
||||
the bits set in code:usage1 are a subset of the bits set in code:usage2, and
|
||||
code:flags1 and code:flags2 of type elink:VkImageCreateFlags are such that
|
||||
code:usage1 contains a subset of the bits set in code:usage2 and code:flags1
|
||||
contains a subset of the bits set in code:flags2, then the limitations for
|
||||
code:usage1 and code:flags1 must: be no more strict than the limitations for
|
||||
code:usage2 and code:flags2, for all values of pname:format, pname:type, and
|
||||
pname:tiling.
|
||||
the bits set in code:flags1 are a subset of the bits set in code:flags2,
|
||||
then the limitations for code:usage1 and code:flags1 must: be no more strict
|
||||
than the limitations for code:usage2 and code:flags2, for all values of
|
||||
pname:format, pname:type, and pname:tiling.
|
||||
|
|
|
@ -5,10 +5,51 @@
|
|||
= Fundamentals
|
||||
|
||||
This chapter introduces fundamental concepts including the {apiname}
|
||||
execution model, API syntax, queues, pipeline configurations, numeric
|
||||
representation, state and state queries, and the different types of objects
|
||||
and shaders. It provides a framework for interpreting more specific
|
||||
descriptions of commands and behavior in the remainder of the Specification.
|
||||
architecture and execution model, API syntax, queues, pipeline
|
||||
configurations, numeric representation, state and state queries, and the
|
||||
different types of objects and shaders. It provides a framework for
|
||||
interpreting more specific descriptions of commands and behavior in the
|
||||
remainder of the Specification.
|
||||
|
||||
|
||||
[[fundamentals-architecture-model]]
|
||||
== Architecture Model
|
||||
|
||||
Vulkan is designed for, and the API is written for, CPU, GPU, and other
|
||||
hardware accelerator architectures with the following properties:
|
||||
|
||||
* Runtime support for 8, 16, 32 and 64-bit signed and unsigned
|
||||
twos-complement integers, all addressable at the granularity of their size
|
||||
in bytes.
|
||||
* Runtime support for 32- and 64-bit floating-point types satisfying the
|
||||
range and precision constraints in the
|
||||
<<fundamentals-floatingpoint,Floating Point Computation>> section.
|
||||
* The representation and endianness of these types must: be identical for
|
||||
the host and the physical devices.
|
||||
|
||||
|
||||
[NOTE]
|
||||
.Note
|
||||
====
|
||||
Since a variety of data types and structures in Vulkan may: be mapped back
|
||||
and forth between host and physical device memory, host and device
|
||||
architectures must: both be able to access such data efficiently in order to
|
||||
write portable and performant applications.
|
||||
====
|
||||
|
||||
Where the Specification leaves choices open that would affect Application
|
||||
Binary Interface compatibility on a given platform supporting Vulkan, those
|
||||
choices are usually made to be compliant to the preferred ABI defined by the
|
||||
platform vendor. Some choices, such as function calling conventions, may: be
|
||||
made in platform-specific portions of the +vk_platform.h+ header file.
|
||||
|
||||
[NOTE]
|
||||
.Note
|
||||
====
|
||||
For example, the Android ABI is defined by Google, and the Linux ABI is
|
||||
defined by a combination of gcc defaults, distribution vendor choices, and
|
||||
external standards such as the Linux Standard Base.
|
||||
====
|
||||
|
||||
|
||||
[[fundamentals-execmodel]]
|
||||
|
@ -266,7 +307,7 @@ descriptor set layout has been destroyed. Otherwise, descriptor set layouts
|
|||
can be destroyed any time they are not in use by an API command.
|
||||
|
||||
The application mustnot: destroy any other type of {apiname} object until
|
||||
any uses of that object by the device (such as via command buffer execution)
|
||||
all uses of that object by the device (such as via command buffer execution)
|
||||
have completed.
|
||||
|
||||
The following {apiname} objects can: be destroyed when no command buffers
|
||||
|
@ -391,7 +432,7 @@ Information is retrieved from the implementation with commands of the form
|
|||
ftext:vkGet*.
|
||||
|
||||
Commands are recorded into a command buffer by calling API commands of the
|
||||
form ftext:vkCmd*. Each such command may have different restrictions on
|
||||
form ftext:vkCmd*. Each such command may: have different restrictions on
|
||||
where it can be used: in a primary and/or secondary command buffer, inside
|
||||
and/or outside a render pass, and in one or more of the supported queue
|
||||
types. These restrictions are documented together with the definition of
|
||||
|
@ -979,8 +1020,8 @@ include::../validity/structs/VkOffset3D.txt[]
|
|||
|
||||
=== Extents
|
||||
|
||||
Extents are used to describe the size of a block of pixels within an image
|
||||
or framebuffer, as (width,height) for two-dimensional images, or as
|
||||
Extents are used to describe the size of a rectangular region of pixels within
|
||||
an image or framebuffer, as (width,height) for two-dimensional images, or as
|
||||
(width,height,depth) for three-dimensional images. Two- and
|
||||
three-dimensional extents are respectively defined by the structures
|
||||
|
||||
|
@ -995,7 +1036,7 @@ include::../validity/structs/VkExtent3D.txt[]
|
|||
|
||||
=== Rectangles
|
||||
|
||||
Rectangles are used to describe a specified rectangular block of pixels
|
||||
Rectangles are used to describe a specified rectangular region of pixels
|
||||
within an image or framebuffer. Rectangles include both an offset and an
|
||||
extent of the same dimensionality, as described above. Two-dimensional
|
||||
rectangles are defined by the structure
|
||||
|
|
|
@ -247,7 +247,7 @@ as specified above are supported. _Location aliasing_ is
|
|||
causing two variables to have the same location number. _Component aliasing_
|
||||
is assigning the same (or overlapping) component number for
|
||||
two location aliases. Location aliasing is allowed only if it does
|
||||
not cause compenent aliasing. Further, when location aliasing, the
|
||||
not cause component aliasing. Further, when location aliasing, the
|
||||
aliases sharing the location must: have the same underlying numerical
|
||||
type (floating-point or integer). Failure to meet these requirements
|
||||
will result in an invalid pipeline.
|
||||
|
|
|
@ -319,19 +319,21 @@ attachments specified in the pname:pInputAttachments array of the
|
|||
slink:VkSubpassDescription structure that describes the subpass that
|
||||
the fragment shader is executed in.
|
||||
|
||||
The fragment shader input variables listed by code:OpEntryPoint with the
|
||||
code:Input storage class and a decoration of code:InputAttachmentIndex
|
||||
form the _fragment input attachment interface_. These variables must:
|
||||
be declared with a type of code:OpTypeImage and a code:Dim operand
|
||||
of code:SubpassData.
|
||||
The fragment shader subpass input variables with the code:UniformConstant
|
||||
storage class and a decoration of code:InputAttachmentIndex that are
|
||||
statically used by code:OpEntryPoint form the _fragment input
|
||||
attachment interface_. These variables must: be declared with a type
|
||||
of code:OpTypeImage, a code:Dim operand of code:SubpassData, and a
|
||||
code:Sampled operand of 2.
|
||||
|
||||
A fragment shader input variable identified with an code:InputAttachmentIndex
|
||||
A subpass input variable identified with an code:InputAttachmentIndex
|
||||
decoration of _i_ reads from the input attachment indicated by
|
||||
pname:pInputAttachments[_i_]. If the input variable is declared as
|
||||
an array of size N, it consumes N consecutive input attachments, starting
|
||||
with the index specified. There mustnot: be more than one input variable
|
||||
with the same code:InputAttachmentIndex whether explicitly declared or
|
||||
implied by an array declaration. The number of available input attachment
|
||||
pname:pInputAttachments[_i_] member of sname:VkSubpassDescription.
|
||||
If the subpass input variable is declared
|
||||
as an array of size N, it consumes N consecutive input attachments,
|
||||
starting with the index specified. There mustnot: be more than one input
|
||||
variable with the same code:InputAttachmentIndex whether explicitly declared
|
||||
or implied by an array declaration. The number of available input attachment
|
||||
indices is given by the pname:maxPerStageDescriptorInputAttachments member
|
||||
of the sname:VkPhysicalDeviceLimits structure.
|
||||
|
||||
|
@ -355,10 +357,9 @@ at pipeline creation time.
|
|||
|
||||
The set of shader resources that form the _shader resource interface_
|
||||
for a stage are the variables statically used by code:OpEntryPoint
|
||||
with the storage classes of code:Uniform, code:UniformConstant, and
|
||||
code:PushConstant. For the fragment shader, the variables identified by
|
||||
operands to code:OpEntryPoint with a storage class of code:Input and a
|
||||
decoration of code:InputAttachmentIndex are also included in this interface.
|
||||
with the storage class of code:Uniform, code:UniformConstant, or
|
||||
code:PushConstant. For the fragment shader, this includes the
|
||||
<<interfaces-inputattachment, fragment input attachment interface>>.
|
||||
|
||||
The shader resource interface can be further broken down into two
|
||||
sub-interfaces: the push constant interface and the descriptor
|
||||
|
@ -368,8 +369,8 @@ set interface.
|
|||
[[interfaces-resources-pushconst]]
|
||||
=== Push Constant Interface
|
||||
|
||||
The shader variables defined with a storage class of code:PushConstant that
|
||||
are statically used by the shader entry points for the pipeline
|
||||
The shader variables defined with a storage class of code:PushConstant
|
||||
that are statically used by the shader entry points for the pipeline
|
||||
define the _push constant interface_. They must: be:
|
||||
|
||||
* typed as code:OpTypeStruct,
|
||||
|
@ -398,8 +399,8 @@ only be accessed with dynamically uniform indices.
|
|||
=== Descriptor Set Interface
|
||||
|
||||
The _descriptor set interface_ is comprised of the shader variables with the
|
||||
storage classes of code:Uniform, code:UniformConstant, and the variables in
|
||||
the <<interfaces-inputattachment,fragment input attachment interface>>,
|
||||
storage class of code:Uniform or code:UniformConstant (including the variables
|
||||
in the <<interfaces-inputattachment,fragment input attachment interface>>)
|
||||
that are statically used by the shader entry points for the pipeline.
|
||||
|
||||
These variables must: have code:DescriptorSet and code:Binding decorations
|
||||
|
@ -473,9 +474,9 @@ decoration for any variable in a code:BufferBlock mustnot: cause the
|
|||
space required for that variable to extend outside the range
|
||||
latexmath:[$[0, \mathit{maxStorageBufferRange})$].
|
||||
|
||||
Variables identified with a storage class of code:Input and a decoration of
|
||||
code:InputAttachmentIndex must be declared as described
|
||||
<<interfaces-inputattachment,above>>.
|
||||
Variables identified with a storage class of code:UniformConstant and a
|
||||
decoration of code:InputAttachmentIndex must be declared as described in
|
||||
<<interfaces-inputattachment,Fragment Input Attachment Interface>>.
|
||||
|
||||
Each shader variable declaration must: refer to the same type of resource as
|
||||
is indicated by the pname:descriptorType. See
|
||||
|
@ -524,7 +525,8 @@ descriptor types.
|
|||
| code:Uniform | code:OpTypeStruct
|
||||
| code:BufferBlock, code:Offset, (code:ArrayStride), (code:MatrixStride)
|
||||
| input attachment
|
||||
| code:Input | code:OpTypeImage (code:Dim=code:SubpassData) | code:InputAttachmentIndex
|
||||
| code:UniformConstant | code:OpTypeImage (code:Dim=code:SubpassData, code:Sampled=2)
|
||||
| code:InputAttachmentIndex
|
||||
|=============================
|
||||
1:: in addition to code:DescriptorSet and code:Binding
|
||||
|
||||
|
|
|
@ -221,7 +221,7 @@ include::../structs/VkGraphicsPipelineCreateInfo.txt[]
|
|||
* pname:pViewportState is a pointer to an instance of the
|
||||
slink:VkPipelineViewportStateCreateInfo structure, or `NULL` if the
|
||||
pipeline has rasterization disabled.
|
||||
* pname:pRasterState is a pointer to an instance of the
|
||||
* pname:pRasterizationState is a pointer to an instance of the
|
||||
slink:VkPipelineRasterizationStateCreateInfo structure.
|
||||
* pname:pMultisampleState is a pointer to an instance of the
|
||||
slink:VkPipelineMultisampleStateCreateInfo, or `NULL` if the pipeline
|
||||
|
@ -791,31 +791,35 @@ Now to specialize the above via the specialization constants mechanism:
|
|||
|
||||
[source,{basebackend@docbook:c++:cpp}]
|
||||
---------------------------------------------------
|
||||
struct SpecializationData {
|
||||
int32_t data0;
|
||||
float data1;
|
||||
};
|
||||
|
||||
const VkSpecializationMapEntry entries[] =
|
||||
{
|
||||
{
|
||||
0, // constantID
|
||||
0 * sizeof(int32_t), // offset
|
||||
sizeof(int32_t) // size
|
||||
0, // constantID
|
||||
offsetof(SpecializationData, data0), // offset
|
||||
sizeof(SpecializationData::data0) // size
|
||||
},
|
||||
{
|
||||
12, // constantID
|
||||
1 * sizeof(int32_t), // offset
|
||||
sizeof(float) // size
|
||||
12, // constantID
|
||||
offsetof(SpecializationData, data1), // offset
|
||||
sizeof(SpecializationData::data1) // size
|
||||
}
|
||||
};
|
||||
|
||||
int32_t data[2];
|
||||
|
||||
data[0] = -42; // set the data for the 32-bit integer
|
||||
((float*)data)[1] = 42.0f; // set the data for the 32-bit floating-point
|
||||
SpecializationData data;
|
||||
data.data0 = -42; // set the data for the 32-bit integer
|
||||
data.data1 = 42.0f; // set the data for the 32-bit floating-point
|
||||
|
||||
const VkSpecializationInfo info =
|
||||
{
|
||||
2, // mapEntryCount
|
||||
entries, // pMapEntries
|
||||
2 * sizeof(int32_t), // dataSize
|
||||
data, // pData
|
||||
sizeof(data), // dataSize
|
||||
&data, // pData
|
||||
};
|
||||
---------------------------------------------------
|
||||
|
||||
|
|
|
@ -434,14 +434,15 @@ address(x,y,z,layer) = layer*arrayPitch + z*depthPitch + y*rowPitch + x*texelSiz
|
|||
---------------------------------------------------
|
||||
|
||||
For compressed formats, the pname:rowPitch is the number of bytes between
|
||||
compressed blocks in adjacent rows. pname:arrayPitch is the number of bytes
|
||||
between blocks in adjacent array layers. pname:depthPitch is the number of
|
||||
bytes between blocks in adjacent slices of a 3D image.
|
||||
compressed texel blocks in adjacent rows. pname:arrayPitch is the number of
|
||||
bytes between compressed texel blocks in adjacent array layers.
|
||||
pname:depthPitch is the number of bytes between compressed texel blocks in
|
||||
adjacent slices of a 3D image.
|
||||
|
||||
[source,c]
|
||||
---------------------------------------------------
|
||||
// (x,y,z,layer) are in block coordinates
|
||||
address(x,y,z,layer) = layer*arrayPitch + z*depthPitch + y*rowPitch + x*blockSize + offset;
|
||||
// (x,y,z,layer) are in compressed texel block coordinates
|
||||
address(x,y,z,layer) = layer*arrayPitch + z*depthPitch + y*rowPitch + x*compressedTexelBlockByteSize + offset;
|
||||
|
||||
---------------------------------------------------
|
||||
|
||||
|
@ -951,15 +952,15 @@ flink:vkGetImageMemoryRequirements:
|
|||
ename:VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT bit and the
|
||||
ename:VK_MEMORY_PROPERTY_HOST_COHERENT_BIT bit set. In other words,
|
||||
mappable coherent memory can: always be attached to these objects.
|
||||
* The pname:memoryTypeBits member is identical for all
|
||||
sname:VkBuffer objects created with the same value for the pname:flags
|
||||
and pname:usage members in the sname:VkBufferCreateInfo structure passed
|
||||
to fname:vkCreateBuffer. Further, if code:usage1 and code:usage2 of type
|
||||
elink:VkBufferUsageFlags are such that code:usage2 comprises a subset of
|
||||
the bits set in code:usage1 and they have the same pname:flags, then the
|
||||
bits set in pname:memoryTypeBits returned for code:usage1 must: be a
|
||||
subset of the bits set in pname:memoryTypeBits returned for code:usage2,
|
||||
for all values of pname:flags.
|
||||
* The pname:memoryTypeBits member is identical for all sname:VkBuffer
|
||||
objects created with the same value for the pname:flags and pname:usage
|
||||
members in the sname:VkBufferCreateInfo structure passed to
|
||||
fname:vkCreateBuffer. Further, if code:usage1 and code:usage2 of type
|
||||
elink:VkBufferUsageFlags are such that the bits set in code:usage2 are a
|
||||
subset of the bits set in code:usage1, and they have the same
|
||||
pname:flags, then the bits set in pname:memoryTypeBits returned for
|
||||
code:usage1 must: be a subset of the bits set in pname:memoryTypeBits
|
||||
returned for code:usage2, for all values of pname:flags.
|
||||
* The pname:alignment member is identical for all sname:VkBuffer objects
|
||||
created with the same combination of values for the pname:usage and
|
||||
pname:flags members in the sname:VkBufferCreateInfo structure passed to
|
||||
|
@ -1012,8 +1013,8 @@ include::../validity/protos/vkBindImageMemory.txt[]
|
|||
.Buffer-Image Granularity
|
||||
There is an implementation-dependent limit, pname:bufferImageGranularity,
|
||||
which specifies a page-like granularity at which buffer, linear image and
|
||||
optimal image resources must be placed in adjacent memory locations for
|
||||
simultaneous usage. Two resources which do not satisfy this granularity
|
||||
optimal image resources must: be placed in adjacent memory locations to
|
||||
avoid aliasing. Two resources which do not satisfy this granularity
|
||||
requirement are said to <<resources-memory-aliasing,alias>>. Linear image
|
||||
resource are images created with ename:VK_IMAGE_TILING_LINEAR and optimal
|
||||
image resources are those created with ename:VK_IMAGE_TILING_OPTIMAL.
|
||||
|
@ -1021,9 +1022,19 @@ pname:bufferImageGranularity is specified in bytes, and must: be a power of
|
|||
two. Implementations which do not require such an additional granularity
|
||||
may: report a value of one.
|
||||
|
||||
[NOTE]
|
||||
.Note
|
||||
====
|
||||
pname:bufferImageGranularity is really a granularity between "linear"
|
||||
resources, including buffers and images with linear tiling, vs. "optimal"
|
||||
resources, i.e. images with optimal tiling. It would have been better named
|
||||
"linearOptimalGranularity".
|
||||
====
|
||||
|
||||
Given resourceA at the lower memory offset and resourceB at the higher
|
||||
memory offset, where one of the resources is a buffer or a linear image
|
||||
and the other is an optimal image, and the following:
|
||||
memory offset in the same sname:VkDeviceMemory object, where one of the
|
||||
resources is a buffer or a linear image and the other is an optimal image,
|
||||
and the following:
|
||||
|
||||
resourceA.end = resourceA.memoryOffset + resourceA.size - 1
|
||||
resourceA.endPage = resourceA.end & ~(bufferImageGranularity-1)
|
||||
|
@ -1044,7 +1055,7 @@ Adjacent buffers' or adjacent images'
|
|||
memory ranges can: be closer than pname:bufferImageGranularity, provided
|
||||
they meet the pname:alignment requirement for the objects in question.
|
||||
|
||||
Sparse memory block sizes and sparse image and buffer memory alignments
|
||||
Sparse block size in bytes and sparse image and buffer memory alignments
|
||||
must: all be multiples of the pname:bufferImageGranularity. Therefore,
|
||||
memory bound to sparse resources naturally satisfies the
|
||||
pname:bufferImageGranularity.
|
||||
|
@ -1143,10 +1154,10 @@ bound to an aliased range, all subresources of the image _overlap_ the
|
|||
range. When a linear image is bound to an aliased range, the subresources
|
||||
that (according to the image's advertised layout) include bytes from the
|
||||
aliased range overlap the range. When a
|
||||
ename:VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT image has blocks bound to an
|
||||
aliased range, only subresources including those blocks overlap the range,
|
||||
and when the memory bound to the image's miptail overlaps an aliased range
|
||||
all subresources in the miptail overlap the range.
|
||||
ename:VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT image has sparse image blocks bound
|
||||
to an aliased range, only subresources including those sparse image blocks
|
||||
overlap the range, and when the memory bound to the image's miptail overlaps
|
||||
an aliased range all subresources in the miptail overlap the range.
|
||||
|
||||
Buffers, and linear image subresources in either the
|
||||
ename:VK_IMAGE_LAYOUT_PREINITIALIZED or ename:VK_IMAGE_LAYOUT_GENERAL
|
||||
|
@ -1168,16 +1179,17 @@ are those written by the memory operations according to its addressing
|
|||
scheme. If the first alias is not host-accessible, then the bytes affected
|
||||
are those overlapped by the image subresources that were written. If the
|
||||
second alias is a host-accessible subresource, the affected bytes become
|
||||
undefined. If the second alias is a not host-accessible, all sparse blocks
|
||||
(for sparse residency images) or all subresources (for non-sparse residency
|
||||
images) that overlap the affected bytes become undefined.
|
||||
undefined. If the second alias is a not host-accessible, all sparse image
|
||||
blocks (for sparse partially-resident images) or all subresources (for
|
||||
non-sparse image and fully resident sparse images) that overlap the affected
|
||||
bytes become undefined.
|
||||
|
||||
If any subresources are made undefined due to writes to an alias, then each
|
||||
of those subresources must: have its layout transitioned from
|
||||
ename:VK_IMAGE_LAYOUT_UNDEFINED to a valid layout before it is used, or from
|
||||
ename:VK_IMAGE_LAYOUT_PREINITIALIZED if the memory has been written by the
|
||||
host. If any blocks of a sparse image have been made undefined, then only
|
||||
the subresources containing them must: be transitioned.
|
||||
host. If any sparse blocks of a sparse image have been made undefined, then
|
||||
only the subresources containing them must: be transitioned.
|
||||
|
||||
Use of an overlapping range by two aliases must: be separated by a memory
|
||||
dependency using the appropriate access types if at least one of those uses
|
||||
|
|
|
@ -33,7 +33,7 @@ feature enables specified in slink:VkPhysicalDeviceFeatures.
|
|||
* <<features-features-sparseBinding,Sparse binding>> is the base
|
||||
feature, and provides the following capabilities:
|
||||
|
||||
** Resources can: be bound at some defined (block) granularity.
|
||||
** Resources can: be bound at some defined (sparse block) granularity.
|
||||
** The entire resource must: be bound to memory before use regardless of
|
||||
regions actually accessed.
|
||||
** No specific mapping of image region to memory offset is defined, i.e.
|
||||
|
@ -55,8 +55,9 @@ feature enables specified in slink:VkPhysicalDeviceFeatures.
|
|||
|
||||
** Resources do not have to be completely bound to memory before use on
|
||||
the device.
|
||||
** Images have a prescribed block layout, allowing specific image blocks
|
||||
to be bound to specific offsets in memory allocations.
|
||||
** Images have a prescribed sparse image block layout, allowing specific
|
||||
rectangular regions of the image to be bound to specific offsets in
|
||||
memory allocations.
|
||||
** Consistency of access to unbound regions of the resource is defined by
|
||||
the absence or presence of
|
||||
sname:VkPhysicalDeviceSparseProperties::pname:residencyNonResidentStrict.
|
||||
|
@ -108,7 +109,7 @@ pname:sparseResidency16Samples.
|
|||
* <<features-features-sparseResidencyAliased,Sparse aliasing>>
|
||||
provides the following capability that can: be enabled per resource:
|
||||
+
|
||||
Allows physical memory blocks to be shared between multiple locations in
|
||||
Allows physical memory ranges to be shared between multiple locations in
|
||||
the same sparse resource or between multiple sparse resources, with each
|
||||
binding of a memory location observing a consistent interpretation of the
|
||||
memory contents.
|
||||
|
@ -136,8 +137,8 @@ use.
|
|||
|
||||
=== Sparse Buffer and Fully-Resident Image Block Size
|
||||
|
||||
The block size for sparse buffers and fully-resident images is reported as
|
||||
sname:VkMemoryRequirements::pname:alignment. pname:alignment
|
||||
The sparse block size in bytes for sparse buffers and fully-resident images is
|
||||
reported as sname:VkMemoryRequirements::pname:alignment. pname:alignment
|
||||
represents both the memory alignment requirement and the binding granularity
|
||||
(in bytes) for sparse resources.
|
||||
|
||||
|
@ -157,11 +158,13 @@ the ability for some regions of the buffer to be unbound during device use.
|
|||
== Sparse Partially-Resident Images
|
||||
|
||||
sname:VkImage objects created with the
|
||||
ename:VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT bit allow blocks of the image to
|
||||
be bound to specific ranges of memory. This allows the application to manage
|
||||
residency at either the subresource or pixel block granularity. Each
|
||||
subresource (outside of the <<sparsememory-miptail,mip tail>>) starts on a
|
||||
block boundary and has a size that is an integer number of blocks of memory.
|
||||
ename:VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT bit allow specific rectangular
|
||||
regions of the image called sparse image blocks to be bound to specific
|
||||
ranges of memory. This allows the application to manage residency at either
|
||||
subresource or sparse image block granularity. Each subresource (outside of
|
||||
the <<sparsememory-miptail,mip tail>>) starts on a sparse block boundary and
|
||||
has dimensions that are integer multiples of the corresponding dimensions of
|
||||
the sparse image block.
|
||||
|
||||
[NOTE]
|
||||
.Note
|
||||
|
@ -230,25 +233,26 @@ Sparse images created using ename:VK_IMAGE_CREATE_SPARSE_BINDING_BIT have no
|
|||
specific mapping of image region or subresource to memory offset defined, so
|
||||
the entire image can: be thought of as a linear opaque address region.
|
||||
However, images created with ename:VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT do
|
||||
have a prescribed block layout, and hence each subresource must: start on a
|
||||
block boundary. Within each array layer, the set of mip-levels that are too
|
||||
small to fill a block are grouped together into a _mip tail region_.
|
||||
have a prescribed sparse image block layout, and hence each subresource must:
|
||||
start on a sparse block boundary. Within each array layer, the set of
|
||||
mip-levels that have a smaller size than the sparse block size in bytes are
|
||||
grouped together into a _mip tail region_.
|
||||
|
||||
If the ename:VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT flag is present in
|
||||
the pname:flags member of sname:VkSparseImageFormatProperties, for the
|
||||
image's pname:format, then any mip-level which is not a multiple of the
|
||||
block size, and all subsequent mip-levels, are also included in the mip tail
|
||||
region.
|
||||
image's pname:format, then any mip-level which has dimensions that are not
|
||||
integer multiples of the corresponding dimensions of the sparse image block,
|
||||
and all subsequent mip-levels, are also included in the mip tail region.
|
||||
|
||||
The following member of sname:VkPhysicalDeviceSparseProperties may: affect
|
||||
how the implementation places mip levels in the mip tail region:
|
||||
|
||||
* pname:residencyAlignedMipSize
|
||||
|
||||
Each mip tail region is bound to memory as an opaque block (i.e. must: be
|
||||
Each mip tail region is bound to memory as an opaque region (i.e. must: be
|
||||
bound using a slink:VkSparseImageOpaqueMemoryBindInfo structure) and may: be
|
||||
of a size greater than or equal to the normal block size. It is guaranteed
|
||||
to be an integer multiple of the normal image block size (in bytes).
|
||||
of a size greater than or equal to the sparse block size in bytes. This size
|
||||
is guaranteed to be an integer multiple of the sparse block size in bytes.
|
||||
|
||||
An implementation may: choose to allow each array-layer's mip tail region to
|
||||
be bound to memory independently or require that all array-layer's mip tail
|
||||
|
@ -266,12 +270,13 @@ image::images/sparseimage.{svgpdf}[align="center", title="Sparse Image"]
|
|||
In the absence of ename:VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT and
|
||||
ename:VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT, each array layer contains a
|
||||
mip tail region containing pixel data for all mip levels smaller than the
|
||||
sparse block size in any dimension.
|
||||
sparse image block in any dimension.
|
||||
|
||||
Mip levels that are as large or larger than a block in all dimensions can:
|
||||
be bound individually. Right-edges and bottom-edges of each level are
|
||||
allowed to have partially used blocks. Any bound partially-used-blocks must:
|
||||
still have their full block size allocated in memory.
|
||||
Mip levels that are as large or larger than a sparse image block in all
|
||||
dimensions can: be bound individually. Right-edges and bottom-edges of each
|
||||
level are allowed to have partially used sparse blocks. Any bound
|
||||
partially-used-sparse-blocks must: still have their full sparse block
|
||||
size in bytes allocated in memory.
|
||||
|
||||
image::images/sparseimage_singlemiptail.{svgpdf}[align="center", title="Sparse Image with Single Mip Tail"]
|
||||
|
||||
|
@ -284,15 +289,16 @@ image::images/sparseimage_alignedmipsize.{svgpdf}[align="center", title="Sparse
|
|||
.Note
|
||||
====
|
||||
The mip tail regions are presented here in 2D arrays simply for figure size
|
||||
reasons. Each mip tail is logically a single array of blocks with an
|
||||
implementation-dependent mapping of pixels to blocks.
|
||||
reasons. Each mip tail is logically a single array of sparse blocks with an
|
||||
implementation-dependent mapping of pixels to sparse blocks.
|
||||
====
|
||||
|
||||
When ename:VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT is present the first
|
||||
mip level that would contain partially used blocks begins the mip tail
|
||||
mip level that would contain partially used sparse blocks begins the mip tail
|
||||
region. This level and all subsequent levels are placed in the mip tail.
|
||||
Only the first latexmath:[$N$] mip levels that are an exact multiple of the
|
||||
sparse block size can: be bound and unbound on a block basis.
|
||||
Only the first latexmath:[$N$] mip levels whose dimensions are an exact
|
||||
multiple of the sparse image block dimensions can: be bound and unbound on a
|
||||
sparse block basis.
|
||||
|
||||
image::images/sparseimage_alignedmipsize_singlemiptail.{svgpdf}[align="center", title="Sparse Image with Aligned Mip Size and Single Mip Tail"]
|
||||
|
||||
|
@ -300,8 +306,8 @@ image::images/sparseimage_alignedmipsize_singlemiptail.{svgpdf}[align="center",
|
|||
.Note
|
||||
====
|
||||
The mip tail region is presented here in a 2D array simply for figure size
|
||||
reasons. It is logically a single array of blocks with an
|
||||
implementation-dependent mapping of pixels to blocks.
|
||||
reasons. It is logically a single array of sparse blocks with an
|
||||
implementation-dependent mapping of pixels to sparse blocks.
|
||||
====
|
||||
|
||||
When both ename:VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT and
|
||||
|
@ -309,16 +315,25 @@ ename:VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT are present the constraints
|
|||
from each of these flags are in effect.
|
||||
|
||||
|
||||
[[sparsememory-standard-sizes]]
|
||||
=== Standard Image Block Sizes
|
||||
[[sparsememory-standard-shapes]]
|
||||
=== Standard Sparse Image Block Shapes
|
||||
|
||||
Standard sparse image block sizes are defined by {apiname} and depend on
|
||||
the format of the image. Layout of pixels within a block is
|
||||
implementation dependent. All currently defined standard block shapes are 64
|
||||
KB in size.
|
||||
Standard sparse image block shapes define a standard set of dimensions for
|
||||
sparse image blocks that depend on the format of the image. Layout of pixels
|
||||
within a sparse image block is implementation dependent. All currently defined
|
||||
standard sparse image block shapes are 64 KB in size.
|
||||
|
||||
For compressed pixel formats (e.g. ename:VK_FORMAT_BC5_UNORM_BLOCK), the
|
||||
pixel size is the size of the compression block (128-bit for etext:BC5).
|
||||
For block-compressed formats (e.g. ename:VK_FORMAT_BC5_UNORM_BLOCK), the
|
||||
pixel size is the size of the compressed texel block (128-bit for etext:BC5)
|
||||
thus the dimensions of the standard sparse image block shapes apply in terms
|
||||
of compressed texel blocks.
|
||||
|
||||
.Note
|
||||
====
|
||||
For block-compressed formats, the dimensions of a sparse image block in terms
|
||||
of texels can: be calculated by multiplying the sparse image block dimensions
|
||||
by the compressed texel block dimensions.
|
||||
====
|
||||
|
||||
<<<
|
||||
|
||||
|
@ -347,8 +362,9 @@ pixel size is the size of the compression block (128-bit for etext:BC5).
|
|||
|====
|
||||
|
||||
|
||||
Implementations that support the standard block shape for all applicable
|
||||
formats may: advertise the following sname:VkPhysicalDeviceSparseProperties:
|
||||
Implementations that support the standard sparse image block shape for all
|
||||
applicable formats may: advertise the following
|
||||
sname:VkPhysicalDeviceSparseProperties:
|
||||
|
||||
* pname:residencyStandard2DBlockShape
|
||||
* pname:residencyStandard2DMultisampleBlockShape
|
||||
|
@ -356,26 +372,29 @@ formats may: advertise the following sname:VkPhysicalDeviceSparseProperties:
|
|||
|
||||
Reporting each of these features does _not_ imply that all possible image
|
||||
types are supported as sparse. Instead, this indicates that no supported
|
||||
sparse image of the corresponding type will use a custom block size.
|
||||
sparse image of the corresponding type will use custom sparse image block
|
||||
dimensions for any formats that have a corresponding standard sparse image
|
||||
block shape.
|
||||
|
||||
|
||||
[[sparsememory-blocksizes]]
|
||||
=== Custom Image Block Sizes
|
||||
[[sparsememory-custom-shapes]]
|
||||
=== Custom Sparse Image Block Shapes
|
||||
|
||||
An implementation that does not support the standard image block sizes may:
|
||||
choose to support a custom block size instead. This custom block size will
|
||||
have the pixel region size reported in
|
||||
sname:VkSparseImageFormatProperties::pname:imageGranularity. As with
|
||||
standard block sizes, the byte-size of the custom block size will be
|
||||
reported in sname:VkMemoryRequirements::pname:alignment.
|
||||
An implementation that does not support a standard image block shape for a
|
||||
particular sparse partially-resident image may: choose to support a custom
|
||||
sparse image block shape for it instead. The dimensions of such a custom
|
||||
sparse image block shape are reported in
|
||||
sname:VkSparseImageFormatProperties::pname:imageGranularity. As with standard
|
||||
sparse image block shapes, the size in bytes of the custom sparse image
|
||||
block shape will be reported in sname:VkMemoryRequirements::pname:alignment.
|
||||
|
||||
Custom block sizes are reported through
|
||||
Custom sparse image block dimensions are reported through
|
||||
fname:vkGetPhysicalDeviceSparseImageFormatProperties and
|
||||
fname:vkGetImageSparseMemoryRequirements.
|
||||
|
||||
An implementation mustnot: support both the standard block size and a custom
|
||||
block size for the same image. The standard size must: be used if it is
|
||||
supported.
|
||||
An implementation mustnot: support both the standard sparse image block shape
|
||||
and a custom sparse image block shape for the same image. The standard sparse
|
||||
image block shape must: be used if it is supported.
|
||||
|
||||
|
||||
[[sparsememory-multiaspect]]
|
||||
|
@ -394,15 +413,15 @@ image::images/sparseimage_multiaspect.{svgpdf}[align="center",title="Multiple As
|
|||
.Note
|
||||
====
|
||||
The mip tail regions are presented here in 2D arrays simply for figure size
|
||||
reasons. Each mip tail is logically a single array of blocks with an
|
||||
implementation-dependent mapping of pixels to blocks.
|
||||
reasons. Each mip tail is logically a single array of sparse blocks with an
|
||||
implementation-dependent mapping of pixels to sparse blocks.
|
||||
====
|
||||
|
||||
In the figure above the depth, stencil, and metadata aspects all have unique
|
||||
sparse properties. The per-pixel stencil data is
|
||||
latexmath:[${}^{1}\!/\!{}_4$] the size of the depth data, hence the stencil
|
||||
sparse blocks include latexmath:[$4x$] the number of pixels. The block
|
||||
byte-size for all of the aspects is identical and defined by
|
||||
sparse blocks include latexmath:[$4x$] the number of pixels. The sparse block
|
||||
size in bytes for all of the aspects is identical and defined by
|
||||
sname:VkMemoryRequirements::pname:alignment.
|
||||
|
||||
|
||||
|
@ -445,14 +464,14 @@ must: abide by the following guidelines:
|
|||
* All resources that access aliased physical memory must interpret the
|
||||
memory in the same way. This implies the following:
|
||||
** Buffers and images cannot: alias the same physical memory in a data
|
||||
consistent fashion. The physical memory blocks must be used exclusively
|
||||
consistent fashion. The physical memory ranges must be used exclusively
|
||||
by buffers or used exclusively by images for data consistency to be
|
||||
guaranteed.
|
||||
** Memory in sparse image mip tail regions cannot: access
|
||||
aliased memory in a data consistent fashion.
|
||||
** Sparse images that alias the same physical memory must: have compatible
|
||||
formats and be using the same block shape in order to access aliased
|
||||
memory in a data consistent fashion.
|
||||
formats and be using the same sparse image block shape in order to access
|
||||
aliased memory in a data consistent fashion.
|
||||
|
||||
Failure to follow any of the above guidelines will require the application
|
||||
to abide by the normal, non-sparse resource <<resources-memory-aliasing,
|
||||
|
@ -653,40 +672,42 @@ include::../structs/VkPhysicalDeviceSparseProperties.txt[]
|
|||
|
||||
* pname:residencyStandard2DBlockShape is ename:VK_TRUE if the physical
|
||||
device will access all single-sample 2D sparse resources using the
|
||||
standard block shapes (based on image format), as described in the
|
||||
<<sparsememory-sparseblockshapessingle,Standard Sparse Image Block
|
||||
standard sparse image block shapes (based on image format), as described
|
||||
in the <<sparsememory-sparseblockshapessingle,Standard Sparse Image Block
|
||||
Shapes (Single Sample)>> table. If this property is not supported the
|
||||
value returned in the pname:imageGranularity member of the
|
||||
sname:VkSparseImageFormatProperties structure for single-sample 2D
|
||||
images is not required: to match the standard image block sizes listed
|
||||
in the table.
|
||||
images is not required: to match the standard sparse image block
|
||||
dimensions listed in the table.
|
||||
* pname:residencyStandard2DMultisampleBlockShape is ename:VK_TRUE if the
|
||||
physical device will access all multisample 2D sparse resources using
|
||||
the standard block shapes (based on image format), as described in the
|
||||
<<sparsememory-sparseblockshapesmsaa,Standard Sparse Image Block Shapes
|
||||
(MSAA)>> table. If this property is not supported, the value returned in
|
||||
the pname:imageGranularity member of the
|
||||
the standard sparse image block shapes (based on image format), as
|
||||
described in the <<sparsememory-sparseblockshapesmsaa,Standard Sparse
|
||||
Image Block Shapes (MSAA)>> table. If this property is not supported, the
|
||||
value returned in the pname:imageGranularity member of the
|
||||
sname:VkSparseImageFormatProperties structure for multisample 2D images
|
||||
is not required: to match the standard image block sizes listed in the
|
||||
table.
|
||||
is not required: to match the standard sparse image block dimensions
|
||||
listed in the table.
|
||||
* pname:residencyStandard3DBlockShape is ename:VK_TRUE if the physical
|
||||
device will access all 3D sparse resources using the standard block
|
||||
shapes (based on image format), as described in the
|
||||
device will access all 3D sparse resources using the standard sparse image
|
||||
block shapes (based on image format), as described in the
|
||||
<<sparsememory-sparseblockshapessingle,Standard Sparse Image Block
|
||||
Shapes (Single Sample)>> table. If this property is not supported, the
|
||||
value returned in the pname:imageGranularity member of the
|
||||
sname:VkSparseImageFormatProperties structure for 3D images is not
|
||||
required: to match the standard image block sizes listed in the table.
|
||||
required: to match the standard sparse image block dimensions listed in
|
||||
the table.
|
||||
* pname:residencyAlignedMipSize is ename:VK_TRUE if images with mip level
|
||||
dimensions that are not a multiple of a block size may: be placed in the
|
||||
mip tail. If this property is not reported, only mip levels with
|
||||
dimensions smaller than the pname:imageGranularity member
|
||||
of the sname:VkSparseImageFormatProperties structure will be placed in
|
||||
the mip tail. If this property is reported the implementation is allowed
|
||||
to return ename:VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT in the
|
||||
pname:flags member of sname:VkSparseImageFormatProperties, indicating
|
||||
that mip level dimensions that are not a multiple of a block size will
|
||||
be placed in the mip tail.
|
||||
dimensions that are not integer multiples of the corresponding dimensions
|
||||
of the sparse image block may: be placed in the mip tail. If this property
|
||||
is not reported, only mip levels with dimensions smaller than the
|
||||
pname:imageGranularity member of the sname:VkSparseImageFormatProperties
|
||||
structure will be placed in the mip tail. If this property is reported the
|
||||
implementation is allowed to return
|
||||
ename:VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT in the pname:flags
|
||||
member of sname:VkSparseImageFormatProperties, indicating that mip level
|
||||
dimensions that are not integer multiples of the corresponding dimensions
|
||||
of the sparse image block will be placed in the mip tail.
|
||||
* pname:residencyNonResidentStrict specifies whether the physical device
|
||||
can: consistently access non-resident regions of a resource. If this
|
||||
property is ename:VK_TRUE, access to non-resident regions of resources
|
||||
|
@ -700,11 +721,11 @@ include::../validity/structs/VkPhysicalDeviceSparseProperties.txt[]
|
|||
=== Sparse Image Format Properties
|
||||
|
||||
Given that certain aspects of sparse image support, including the
|
||||
sparse image block size, may: be implementation-dependent,
|
||||
sparse image block dimensions, may: be implementation-dependent,
|
||||
flink:vkGetPhysicalDeviceSparseImageFormatProperties can: be used to
|
||||
query for sparse image format properties prior to resource creation. This
|
||||
command is used to check whether a given set of sparse image parameters is
|
||||
supported and what the sparse block shape will be.
|
||||
supported and what the sparse image block shape will be.
|
||||
|
||||
|
||||
==== Sparse Image Format Properties API
|
||||
|
@ -714,7 +735,7 @@ include::../structs/VkSparseImageFormatProperties.txt[]
|
|||
* pname:aspectMask is a elink:VkImageAspectFlags specifying which
|
||||
aspects of the image the properties apply to.
|
||||
* pname:imageGranularity is the width, height, and depth of the
|
||||
block in pixels / compressed blocks.
|
||||
sparse image block in texels or compressed texel blocks.
|
||||
* pname:flags is a bitmask specifying additional information about
|
||||
the sparse resource. Bits which can: be set include:
|
||||
+
|
||||
|
@ -724,12 +745,12 @@ include::../enums/VkSparseImageFormatFlagBits.txt[]
|
|||
** If ename:VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT is set, the image
|
||||
uses a single mip tail region for all array layers.
|
||||
** If ename:VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT is set, the first
|
||||
mip level that is not an exact multiple of the sparse image block size
|
||||
begins the mip tail region.
|
||||
mip level whose dimensions are not integer multiples of the corresponding
|
||||
dimensions of the sparse image block begins the mip tail region.
|
||||
** If ename:VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT is set, the
|
||||
image uses a non-standard sparse block size, and the
|
||||
pname:imageGranularity values do not match the standard block size for
|
||||
the given pixel format.
|
||||
image uses non-standard sparse image block dimensions, and the
|
||||
pname:imageGranularity values do not match the standard sparse image
|
||||
block dimensions for the given pixel format.
|
||||
--
|
||||
|
||||
include::../validity/structs/VkSparseImageFormatProperties.txt[]
|
||||
|
@ -818,8 +839,8 @@ sname:VkBuffer objects and sname:VkImage objects.
|
|||
Buffers (both fully and partially resident) and fully-resident images can:
|
||||
be bound to memory using only the data from sname:VkMemoryRequirements. For
|
||||
all sparse resources the sname:VkMemoryRequirements::pname:alignment member
|
||||
denotes both the bindable block byte-size and required: alignment of
|
||||
sname:VkDeviceMemory.
|
||||
denotes both the bindable sparse block size in bytes and required: alignment
|
||||
of sname:VkDeviceMemory.
|
||||
|
||||
|
||||
[[sparsememory-memory-partially-resident]]
|
||||
|
@ -827,8 +848,8 @@ sname:VkDeviceMemory.
|
|||
|
||||
Partially resident images have a different method for binding memory. As
|
||||
with buffers and fully resident images, the
|
||||
sname:VkMemoryRequirements::pname:alignment field denotes the bindable block
|
||||
byte-size for the image.
|
||||
sname:VkMemoryRequirements::pname:alignment field denotes the bindable sparse
|
||||
block size in bytes for the image.
|
||||
|
||||
Requesting sparse memory requirements for sname:VkImage objects using
|
||||
fname:vkGetImageSparseMemoryRequirements will return an array of one or more
|
||||
|
@ -847,32 +868,34 @@ include::../structs/VkSparseImageMemoryRequirements.txt[]
|
|||
* pname:formatProperties.aspectMask is the set of aspects of the image
|
||||
that this sparse memory requirement applies to. This will usually have a
|
||||
single aspect specified. However, depth/stencil images may: have depth
|
||||
and stencil data interleaved into the same memory blocks, in which case
|
||||
and stencil data interleaved in the same sparse block, in which case
|
||||
both ename:VK_IMAGE_ASPECT_DEPTH_BIT and
|
||||
ename:VK_IMAGE_ASPECT_STENCIL_BIT would be present.
|
||||
* pname:formatProperties.imageGranularity describes the size of a single
|
||||
bindable block in pixel units. For aspect
|
||||
ename:VK_IMAGE_ASPECT_METADATA_BIT, this region size will be zero
|
||||
* pname:formatProperties.imageGranularity describes the dimensions of a
|
||||
single bindable sparse image block in pixel units. For aspect
|
||||
ename:VK_IMAGE_ASPECT_METADATA_BIT, all dimensions will be zero
|
||||
pixels. All metadata is located in the mip tail region.
|
||||
* pname:formatProperties.flags contains members of
|
||||
elink:VkSparseImageFormatFlags:
|
||||
** If ename:VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT is set the image
|
||||
uses a single mip tail region for all array layers.
|
||||
** If ename:VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT is set the image
|
||||
mip levels must: be an exact multiple of the sparse image block size
|
||||
for levels not located in the mip tail.
|
||||
** If ename:VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT is set the
|
||||
dimensions of mip levels must: be integer multiples of the corresponding
|
||||
dimensions of the sparse image block for levels not located in the mip
|
||||
tail.
|
||||
** If ename:VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT is set the
|
||||
image uses a non-standard sparse block size. The
|
||||
image uses non-standard sparse image block dimensions. The
|
||||
pname:formatProperties.imageGranularity values do not match the
|
||||
standard block size for image's given pixel format.
|
||||
standard sparse image block dimension corresponding to the image's
|
||||
pixel format.
|
||||
* pname:imageMipTailFirstLod is the first mip level at which subresources
|
||||
are included in the mip tail block.
|
||||
are included in the mip tail region.
|
||||
* pname:imageMipTailSize is the memory size (in bytes) of the mip tail
|
||||
block. If pname:formatProperties.flags contains
|
||||
region. If pname:formatProperties.flags contains
|
||||
ename:VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT, this is the size of the
|
||||
whole mip tail, otherwise this is the size of the mip tail of a single
|
||||
array layer. This value is guaranteed to be a multiple of the block
|
||||
byte-size.
|
||||
array layer. This value is guaranteed to be a multiple of the sparse block
|
||||
size in bytes.
|
||||
* pname:imageMipTailOffset is the opaque memory offset used with
|
||||
slink:VkSparseImageOpaqueMemoryBindInfo to bind the mip tail region(s).
|
||||
* pname:imageMipTailStride is the offset stride between each array-layer's
|
||||
|
@ -960,10 +983,10 @@ ranges of the same resource while a bind operation is executing.
|
|||
[NOTE]
|
||||
.Note
|
||||
====
|
||||
Implementations must: provide a guarantee that simultaneously binding blocks
|
||||
while another queue accesses those same blocks via a sparse resource
|
||||
mustnot: access memory owned by another process or otherwise corrupt the
|
||||
system.
|
||||
Implementations must: provide a guarantee that simultaneously binding sparse
|
||||
blocks while another queue accesses those same sparse blocks via a sparse
|
||||
resource mustnot: access memory owned by another process or otherwise corrupt
|
||||
the system.
|
||||
====
|
||||
|
||||
While some implementations may: include ename:VK_QUEUE_SPARSE_BINDING_BIT
|
||||
|
@ -1140,13 +1163,14 @@ include::../structs/VkSparseImageMemoryBind.txt[]
|
|||
* pname:offset are the coordinates of the first texel within the
|
||||
subresource to bind.
|
||||
* pname:extent is the size in texels of the region within the subresource
|
||||
to bind. The extent must: be a multiple of the block size, except when
|
||||
binding blocks along the edge of a subresource it can: instead be such
|
||||
that any coordinate of latexmath:[$\mathit{offset} + \mathit{extent}$]
|
||||
equals the subresource size in that dimension.
|
||||
* pname:memory is the sname:VkDeviceMemory object that the blocks of the
|
||||
image are bound to. If pname:memory is sname:VK_NULL_HANDLE, the blocks
|
||||
are unbound.
|
||||
to bind. The extent must: be a multiple of the sparse image block
|
||||
dimensions, except when binding sparse image blocks along the edge of a
|
||||
subresource it can: instead be such that any coordinate of
|
||||
latexmath:[$\mathit{offset} + \mathit{extent}$] equals the corresponding
|
||||
dimensions of the subresource.
|
||||
* pname:memory is the sname:VkDeviceMemory object that the sparse image
|
||||
blocks of the image are bound to. If pname:memory is sname:VK_NULL_HANDLE,
|
||||
the sparse image blocks are unbound.
|
||||
* pname:memoryOffset is an offset into sname:VkDeviceMemory object. If
|
||||
pname:memory is sname:VK_NULL_HANDLE, this value is ignored.
|
||||
* pname:flags are sparse memory binding flags.
|
||||
|
@ -1232,7 +1256,7 @@ binding them to physical memory.
|
|||
|
||||
This basic example creates a normal sname:VkImage object but uses
|
||||
fine-grained memory allocation to back the resource with multiple memory
|
||||
blocks.
|
||||
ranges.
|
||||
|
||||
[source,{basebackend@docbook:c++:cpp}]
|
||||
---------------------------------------------------
|
||||
|
@ -1262,7 +1286,7 @@ vkGetImageMemoryRequirements(
|
|||
sparseImage,
|
||||
&memoryRequirements);
|
||||
|
||||
// Bind memory in fine-grained fashion, find available memory blocks
|
||||
// Bind memory in fine-grained fashion, find available memory ranges
|
||||
// from potentially multiple VkDeviceMemory pools.
|
||||
// (Illustration purposes only, can be optimized for perf)
|
||||
while (memoryRequirements.size && bindCount < MAX_CHUNKS)
|
||||
|
@ -1270,14 +1294,14 @@ while (memoryRequirements.size && bindCount < MAX_CHUNKS)
|
|||
VkSparseMemoryBind* pBind = &binds[bindCount];
|
||||
pBind->resourceOffset = offset;
|
||||
|
||||
AllocateOrGetMemoryBlock(
|
||||
AllocateOrGetMemoryRange(
|
||||
device,
|
||||
&memoryRequirements,
|
||||
&pBind->memory,
|
||||
&pBind->memoryOffset,
|
||||
&pBind->size);
|
||||
|
||||
// memory blocks must be sized as multiples of the alignment
|
||||
// memory ranges must be sized as multiples of the alignment
|
||||
assert(IsMultiple(pBind->size, memoryRequirements.alignment));
|
||||
assert(IsMultiple(pBind->memoryOffset, memoryRequirements.alignment));
|
||||
|
||||
|
@ -1393,7 +1417,7 @@ for (uint32_t i = 0; i < sparseRequirementsCount; ++i)
|
|||
pBind->memorySize = pSparseReqs[i].imageMipTailSize;
|
||||
bindCount++;
|
||||
|
||||
// ... Allocate memory block
|
||||
// ... Allocate memory range
|
||||
|
||||
pBind->resourceOffset = pSparseReqs[i].imageMipTailOffset;
|
||||
pBind->memoryOffset = /* allocated memoryOffset */;
|
||||
|
@ -1403,14 +1427,14 @@ for (uint32_t i = 0; i < sparseRequirementsCount; ++i)
|
|||
}
|
||||
else
|
||||
{
|
||||
// Need a mip tail block per array layer.
|
||||
// Need a mip tail region per array layer.
|
||||
for (uint32_t a = 0; a < sparseImageInfo.arrayLayers; ++a)
|
||||
{
|
||||
VkSparseMemoryBind* pBind = &binds[bindCount];
|
||||
pBind->memorySize = pSparseReqs[i].imageMipTailSize;
|
||||
bindCount++;
|
||||
|
||||
// ... Allocate memory block
|
||||
// ... Allocate memory range
|
||||
|
||||
pBind->resourceOffset = pSparseReqs[i].imageMipTailOffset +
|
||||
(a * pSparseReqs[i].imageMipTailStride);
|
||||
|
@ -1446,7 +1470,7 @@ for (uint32_t i = 0; i < sparseRequirementsCount; ++i)
|
|||
// Allocate memory for each array layer
|
||||
for (uint32_t a = 0; a < sparseImageInfo.arrayLayers; ++a)
|
||||
{
|
||||
// ... Allocate memory block
|
||||
// ... Allocate memory range
|
||||
|
||||
VkSparseImageMemoryBind* pBind = &imageBinds[a];
|
||||
pBind->subresource.aspectMask = pSparseReqs[i].formatProperties.aspectMask;
|
||||
|
|
|
@ -12,7 +12,7 @@ queue submissions, and between commands within a command buffer.
|
|||
synchronization primitives for these purposes. Further, memory caches and
|
||||
other optimizations mean that the normal flow of command execution does not
|
||||
guarantee that all memory transactions from a command are immediately
|
||||
visible to other agents with views into a given block of memory. {apiname}
|
||||
visible to other agents with views into a given range of memory. {apiname}
|
||||
also provides barrier operations to ensure this type of synchronization.
|
||||
|
||||
Four synchronization primitive types are exposed by {apiname}. These are:
|
||||
|
|
|
@ -601,8 +601,8 @@ endif::editing-notes[]
|
|||
|
||||
If the sname:VkPhysicalDeviceSparseProperties property
|
||||
pname:residencyNonResidentStrict is true, a sparse unbound texel is replaced
|
||||
with zero values in the same fashion as described for reads from buffer
|
||||
resources above.
|
||||
with 0 or 0.0 values for integer and floating-point components of the image
|
||||
format, respectively.
|
||||
|
||||
If pname:residencyNonResidentStrict is false, the read must: be safe, but
|
||||
the value of the sparse unbound texel is undefined.
|
||||
|
@ -1518,10 +1518,10 @@ pname:addressModeW parameters of the sampler, respectively.
|
|||
=== Texel Gathering
|
||||
|
||||
SPIR-V instructions with code:Gather in the name return a vector derived
|
||||
from a 2x2 block of texels in the base level of the image view. The rules
|
||||
for the etext:LINEAR minification filter are applied to identify the four
|
||||
selected texels. Each texel is then converted to an RGBA value according to
|
||||
<<textures-conversion-to-rgba,conversion to RGBA>> and then
|
||||
from a 2x2 rectangular region of texels in the base level of the image view.
|
||||
The rules for the etext:LINEAR minification filter are applied to identify the
|
||||
four selected texels. Each texel is then converted to an RGBA value according
|
||||
to <<textures-conversion-to-rgba,conversion to RGBA>> and then
|
||||
<<textures-component-swizzle,swizzled>>. A four-component vector is then
|
||||
assembled by taking the component indicated by the code:Component value in
|
||||
the instruction from the swizzled color value of the four texels:
|
||||
|
|
|
@ -0,0 +1,20 @@
|
|||
// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry
|
||||
ifndef::doctype-manpage[]
|
||||
[[PFN_vkDebugReportCallbackEXT,PFN_vkDebugReportCallbackEXT]]
|
||||
["source","{basebackend@docbook:c++:cpp}",title=""]
|
||||
endif::doctype-manpage[]
|
||||
ifdef::doctype-manpage[]
|
||||
["source","{basebackend@docbook:c++:cpp}"]
|
||||
endif::doctype-manpage[]
|
||||
------------------------------------------------------------------------------
|
||||
typedef VkBool32 (VKAPI_PTR *PFN_vkDebugReportCallbackEXT)(
|
||||
VkDebugReportFlagsEXT flags,
|
||||
VkDebugReportObjectTypeEXT objectType,
|
||||
uint64_t object,
|
||||
size_t location,
|
||||
int32_t messageCode,
|
||||
const char* pLayerPrefix,
|
||||
const char* pMessage,
|
||||
void* pUserData);
|
||||
|
||||
------------------------------------------------------------------------------
|
|
@ -0,0 +1,26 @@
|
|||
VkAccessFlagBits(3)
|
||||
===================
|
||||
|
||||
Name
|
||||
----
|
||||
VkAccessFlagBits - Stub page (not yet written)
|
||||
|
||||
C Specification
|
||||
---------------
|
||||
|
||||
include::../enums/VkAccessFlagBits.txt[]
|
||||
|
||||
This is a stub page. Content has not been filled in yet. Khronos is
|
||||
aware of the problem and working on it as time allows; please do not
|
||||
file Github issues bringing the missing content to our attention.
|
||||
|
||||
Constants
|
||||
---------
|
||||
|
||||
Description
|
||||
-----------
|
||||
|
||||
See Also
|
||||
--------
|
||||
|
||||
include::footer.txt[]
|
|
@ -0,0 +1,26 @@
|
|||
VkAccessFlags(3)
|
||||
================
|
||||
|
||||
Name
|
||||
----
|
||||
VkAccessFlags - Stub page (not yet written)
|
||||
|
||||
C Specification
|
||||
---------------
|
||||
|
||||
include::../flags/VkAccessFlags.txt[]
|
||||
|
||||
This is a stub page. Content has not been filled in yet. Khronos is
|
||||
aware of the problem and working on it as time allows; please do not
|
||||
file Github issues bringing the missing content to our attention.
|
||||
|
||||
Constants
|
||||
---------
|
||||
|
||||
Description
|
||||
-----------
|
||||
|
||||
See Also
|
||||
--------
|
||||
|
||||
include::footer.txt[]
|
|
@ -0,0 +1,26 @@
|
|||
VkAndroidSurfaceCreateFlagsKHR(3)
|
||||
=================================
|
||||
|
||||
Name
|
||||
----
|
||||
VkAndroidSurfaceCreateFlagsKHR - Stub page (not yet written)
|
||||
|
||||
C Specification
|
||||
---------------
|
||||
|
||||
include::../flags/VkAndroidSurfaceCreateFlagsKHR.txt[]
|
||||
|
||||
This is a stub page. Content has not been filled in yet. Khronos is
|
||||
aware of the problem and working on it as time allows; please do not
|
||||
file Github issues bringing the missing content to our attention.
|
||||
|
||||
Constants
|
||||
---------
|
||||
|
||||
Description
|
||||
-----------
|
||||
|
||||
See Also
|
||||
--------
|
||||
|
||||
include::footer.txt[]
|
|
@ -0,0 +1,27 @@
|
|||
VkAndroidSurfaceCreateInfoKHR(3)
|
||||
================================
|
||||
|
||||
Name
|
||||
----
|
||||
VkAndroidSurfaceCreateInfoKHR - Stub page (not yet written)
|
||||
|
||||
C Specification
|
||||
---------------
|
||||
|
||||
include::../structs/VkAndroidSurfaceCreateInfoKHR.txt[]
|
||||
|
||||
This is a stub page. Content has not been filled in yet. Khronos is
|
||||
aware of the problem and working on it as time allows; please do not
|
||||
file Github issues bringing the missing content to our attention.
|
||||
|
||||
Fields
|
||||
------
|
||||
|
||||
Description
|
||||
-----------
|
||||
|
||||
include::../validity/structs/VkAndroidSurfaceCreateInfoKHR.txt[]
|
||||
See Also
|
||||
--------
|
||||
|
||||
include::footer.txt[]
|
|
@ -0,0 +1,27 @@
|
|||
VkApplicationInfo(3)
|
||||
====================
|
||||
|
||||
Name
|
||||
----
|
||||
VkApplicationInfo - Stub page (not yet written)
|
||||
|
||||
C Specification
|
||||
---------------
|
||||
|
||||
include::../structs/VkApplicationInfo.txt[]
|
||||
|
||||
This is a stub page. Content has not been filled in yet. Khronos is
|
||||
aware of the problem and working on it as time allows; please do not
|
||||
file Github issues bringing the missing content to our attention.
|
||||
|
||||
Fields
|
||||
------
|
||||
|
||||
Description
|
||||
-----------
|
||||
|
||||
include::../validity/structs/VkApplicationInfo.txt[]
|
||||
See Also
|
||||
--------
|
||||
|
||||
include::footer.txt[]
|
|
@ -0,0 +1,27 @@
|
|||
VkAttachmentDescription(3)
|
||||
==========================
|
||||
|
||||
Name
|
||||
----
|
||||
VkAttachmentDescription - Stub page (not yet written)
|
||||
|
||||
C Specification
|
||||
---------------
|
||||
|
||||
include::../structs/VkAttachmentDescription.txt[]
|
||||
|
||||
This is a stub page. Content has not been filled in yet. Khronos is
|
||||
aware of the problem and working on it as time allows; please do not
|
||||
file Github issues bringing the missing content to our attention.
|
||||
|
||||
Fields
|
||||
------
|
||||
|
||||
Description
|
||||
-----------
|
||||
|
||||
include::../validity/structs/VkAttachmentDescription.txt[]
|
||||
See Also
|
||||
--------
|
||||
|
||||
include::footer.txt[]
|
|
@ -0,0 +1,26 @@
|
|||
VkAttachmentDescriptionFlagBits(3)
|
||||
==================================
|
||||
|
||||
Name
|
||||
----
|
||||
VkAttachmentDescriptionFlagBits - Stub page (not yet written)
|
||||
|
||||
C Specification
|
||||
---------------
|
||||
|
||||
include::../enums/VkAttachmentDescriptionFlagBits.txt[]
|
||||
|
||||
This is a stub page. Content has not been filled in yet. Khronos is
|
||||
aware of the problem and working on it as time allows; please do not
|
||||
file Github issues bringing the missing content to our attention.
|
||||
|
||||
Constants
|
||||
---------
|
||||
|
||||
Description
|
||||
-----------
|
||||
|
||||
See Also
|
||||
--------
|
||||
|
||||
include::footer.txt[]
|
|
@ -0,0 +1,26 @@
|
|||
VkAttachmentDescriptionFlags(3)
|
||||
===============================
|
||||
|
||||
Name
|
||||
----
|
||||
VkAttachmentDescriptionFlags - Stub page (not yet written)
|
||||
|
||||
C Specification
|
||||
---------------
|
||||
|
||||
include::../flags/VkAttachmentDescriptionFlags.txt[]
|
||||
|
||||
This is a stub page. Content has not been filled in yet. Khronos is
|
||||
aware of the problem and working on it as time allows; please do not
|
||||
file Github issues bringing the missing content to our attention.
|
||||
|
||||
Constants
|
||||
---------
|
||||
|
||||
Description
|
||||
-----------
|
||||
|
||||
See Also
|
||||
--------
|
||||
|
||||
include::footer.txt[]
|
|
@ -0,0 +1,26 @@
|
|||
VkAttachmentLoadOp(3)
|
||||
=====================
|
||||
|
||||
Name
|
||||
----
|
||||
VkAttachmentLoadOp - Stub page (not yet written)
|
||||
|
||||
C Specification
|
||||
---------------
|
||||
|
||||
include::../enums/VkAttachmentLoadOp.txt[]
|
||||
|
||||
This is a stub page. Content has not been filled in yet. Khronos is
|
||||
aware of the problem and working on it as time allows; please do not
|
||||
file Github issues bringing the missing content to our attention.
|
||||
|
||||
Constants
|
||||
---------
|
||||
|
||||
Description
|
||||
-----------
|
||||
|
||||
See Also
|
||||
--------
|
||||
|
||||
include::footer.txt[]
|
|
@ -0,0 +1,27 @@
|
|||
VkAttachmentReference(3)
|
||||
========================
|
||||
|
||||
Name
|
||||
----
|
||||
VkAttachmentReference - Stub page (not yet written)
|
||||
|
||||
C Specification
|
||||
---------------
|
||||
|
||||
include::../structs/VkAttachmentReference.txt[]
|
||||
|
||||
This is a stub page. Content has not been filled in yet. Khronos is
|
||||
aware of the problem and working on it as time allows; please do not
|
||||
file Github issues bringing the missing content to our attention.
|
||||
|
||||
Fields
|
||||
------
|
||||
|
||||
Description
|
||||
-----------
|
||||
|
||||
include::../validity/structs/VkAttachmentReference.txt[]
|
||||
See Also
|
||||
--------
|
||||
|
||||
include::footer.txt[]
|
|
@ -0,0 +1,26 @@
|
|||
VkAttachmentStoreOp(3)
|
||||
======================
|
||||
|
||||
Name
|
||||
----
|
||||
VkAttachmentStoreOp - Stub page (not yet written)
|
||||
|
||||
C Specification
|
||||
---------------
|
||||
|
||||
include::../enums/VkAttachmentStoreOp.txt[]
|
||||
|
||||
This is a stub page. Content has not been filled in yet. Khronos is
|
||||
aware of the problem and working on it as time allows; please do not
|
||||
file Github issues bringing the missing content to our attention.
|
||||
|
||||
Constants
|
||||
---------
|
||||
|
||||
Description
|
||||
-----------
|
||||
|
||||
See Also
|
||||
--------
|
||||
|
||||
include::footer.txt[]
|
|
@ -0,0 +1,27 @@
|
|||
VkBindSparseInfo(3)
|
||||
===================
|
||||
|
||||
Name
|
||||
----
|
||||
VkBindSparseInfo - Stub page (not yet written)
|
||||
|
||||
C Specification
|
||||
---------------
|
||||
|
||||
include::../structs/VkBindSparseInfo.txt[]
|
||||
|
||||
This is a stub page. Content has not been filled in yet. Khronos is
|
||||
aware of the problem and working on it as time allows; please do not
|
||||
file Github issues bringing the missing content to our attention.
|
||||
|
||||
Fields
|
||||
------
|
||||
|
||||
Description
|
||||
-----------
|
||||
|
||||
include::../validity/structs/VkBindSparseInfo.txt[]
|
||||
See Also
|
||||
--------
|
||||
|
||||
include::footer.txt[]
|
|
@ -0,0 +1,26 @@
|
|||
VkBlendFactor(3)
|
||||
================
|
||||
|
||||
Name
|
||||
----
|
||||
VkBlendFactor - Stub page (not yet written)
|
||||
|
||||
C Specification
|
||||
---------------
|
||||
|
||||
include::../enums/VkBlendFactor.txt[]
|
||||
|
||||
This is a stub page. Content has not been filled in yet. Khronos is
|
||||
aware of the problem and working on it as time allows; please do not
|
||||
file Github issues bringing the missing content to our attention.
|
||||
|
||||
Constants
|
||||
---------
|
||||
|
||||
Description
|
||||
-----------
|
||||
|
||||
See Also
|
||||
--------
|
||||
|
||||
include::footer.txt[]
|
|
@ -0,0 +1,26 @@
|
|||
VkBlendOp(3)
|
||||
============
|
||||
|
||||
Name
|
||||
----
|
||||
VkBlendOp - Stub page (not yet written)
|
||||
|
||||
C Specification
|
||||
---------------
|
||||
|
||||
include::../enums/VkBlendOp.txt[]
|
||||
|
||||
This is a stub page. Content has not been filled in yet. Khronos is
|
||||
aware of the problem and working on it as time allows; please do not
|
||||
file Github issues bringing the missing content to our attention.
|
||||
|
||||
Constants
|
||||
---------
|
||||
|
||||
Description
|
||||
-----------
|
||||
|
||||
See Also
|
||||
--------
|
||||
|
||||
include::footer.txt[]
|
|
@ -0,0 +1,26 @@
|
|||
VkBorderColor(3)
|
||||
================
|
||||
|
||||
Name
|
||||
----
|
||||
VkBorderColor - Stub page (not yet written)
|
||||
|
||||
C Specification
|
||||
---------------
|
||||
|
||||
include::../enums/VkBorderColor.txt[]
|
||||
|
||||
This is a stub page. Content has not been filled in yet. Khronos is
|
||||
aware of the problem and working on it as time allows; please do not
|
||||
file Github issues bringing the missing content to our attention.
|
||||
|
||||
Constants
|
||||
---------
|
||||
|
||||
Description
|
||||
-----------
|
||||
|
||||
See Also
|
||||
--------
|
||||
|
||||
include::footer.txt[]
|
|
@ -0,0 +1,27 @@
|
|||
VkBufferCopy(3)
|
||||
===============
|
||||
|
||||
Name
|
||||
----
|
||||
VkBufferCopy - Stub page (not yet written)
|
||||
|
||||
C Specification
|
||||
---------------
|
||||
|
||||
include::../structs/VkBufferCopy.txt[]
|
||||
|
||||
This is a stub page. Content has not been filled in yet. Khronos is
|
||||
aware of the problem and working on it as time allows; please do not
|
||||
file Github issues bringing the missing content to our attention.
|
||||
|
||||
Fields
|
||||
------
|
||||
|
||||
Description
|
||||
-----------
|
||||
|
||||
include::../validity/structs/VkBufferCopy.txt[]
|
||||
See Also
|
||||
--------
|
||||
|
||||
include::footer.txt[]
|
|
@ -0,0 +1,26 @@
|
|||
VkBufferCreateFlagBits(3)
|
||||
=========================
|
||||
|
||||
Name
|
||||
----
|
||||
VkBufferCreateFlagBits - Stub page (not yet written)
|
||||
|
||||
C Specification
|
||||
---------------
|
||||
|
||||
include::../enums/VkBufferCreateFlagBits.txt[]
|
||||
|
||||
This is a stub page. Content has not been filled in yet. Khronos is
|
||||
aware of the problem and working on it as time allows; please do not
|
||||
file Github issues bringing the missing content to our attention.
|
||||
|
||||
Constants
|
||||
---------
|
||||
|
||||
Description
|
||||
-----------
|
||||
|
||||
See Also
|
||||
--------
|
||||
|
||||
include::footer.txt[]
|
|
@ -0,0 +1,27 @@
|
|||
VkBufferImageCopy(3)
|
||||
====================
|
||||
|
||||
Name
|
||||
----
|
||||
VkBufferImageCopy - Stub page (not yet written)
|
||||
|
||||
C Specification
|
||||
---------------
|
||||
|
||||
include::../structs/VkBufferImageCopy.txt[]
|
||||
|
||||
This is a stub page. Content has not been filled in yet. Khronos is
|
||||
aware of the problem and working on it as time allows; please do not
|
||||
file Github issues bringing the missing content to our attention.
|
||||
|
||||
Fields
|
||||
------
|
||||
|
||||
Description
|
||||
-----------
|
||||
|
||||
include::../validity/structs/VkBufferImageCopy.txt[]
|
||||
See Also
|
||||
--------
|
||||
|
||||
include::footer.txt[]
|
|
@ -0,0 +1,26 @@
|
|||
VkBufferUsageFlagBits(3)
|
||||
========================
|
||||
|
||||
Name
|
||||
----
|
||||
VkBufferUsageFlagBits - Stub page (not yet written)
|
||||
|
||||
C Specification
|
||||
---------------
|
||||
|
||||
include::../enums/VkBufferUsageFlagBits.txt[]
|
||||
|
||||
This is a stub page. Content has not been filled in yet. Khronos is
|
||||
aware of the problem and working on it as time allows; please do not
|
||||
file Github issues bringing the missing content to our attention.
|
||||
|
||||
Constants
|
||||
---------
|
||||
|
||||
Description
|
||||
-----------
|
||||
|
||||
See Also
|
||||
--------
|
||||
|
||||
include::footer.txt[]
|
|
@ -0,0 +1,26 @@
|
|||
VkBufferViewCreateFlags(3)
|
||||
==========================
|
||||
|
||||
Name
|
||||
----
|
||||
VkBufferViewCreateFlags - Stub page (not yet written)
|
||||
|
||||
C Specification
|
||||
---------------
|
||||
|
||||
include::../flags/VkBufferViewCreateFlags.txt[]
|
||||
|
||||
This is a stub page. Content has not been filled in yet. Khronos is
|
||||
aware of the problem and working on it as time allows; please do not
|
||||
file Github issues bringing the missing content to our attention.
|
||||
|
||||
Constants
|
||||
---------
|
||||
|
||||
Description
|
||||
-----------
|
||||
|
||||
See Also
|
||||
--------
|
||||
|
||||
include::footer.txt[]
|
|
@ -0,0 +1,27 @@
|
|||
VkBufferViewCreateInfo(3)
|
||||
=========================
|
||||
|
||||
Name
|
||||
----
|
||||
VkBufferViewCreateInfo - Stub page (not yet written)
|
||||
|
||||
C Specification
|
||||
---------------
|
||||
|
||||
include::../structs/VkBufferViewCreateInfo.txt[]
|
||||
|
||||
This is a stub page. Content has not been filled in yet. Khronos is
|
||||
aware of the problem and working on it as time allows; please do not
|
||||
file Github issues bringing the missing content to our attention.
|
||||
|
||||
Fields
|
||||
------
|
||||
|
||||
Description
|
||||
-----------
|
||||
|
||||
include::../validity/structs/VkBufferViewCreateInfo.txt[]
|
||||
See Also
|
||||
--------
|
||||
|
||||
include::footer.txt[]
|
|
@ -0,0 +1,27 @@
|
|||
VkClearAttachment(3)
|
||||
====================
|
||||
|
||||
Name
|
||||
----
|
||||
VkClearAttachment - Stub page (not yet written)
|
||||
|
||||
C Specification
|
||||
---------------
|
||||
|
||||
include::../structs/VkClearAttachment.txt[]
|
||||
|
||||
This is a stub page. Content has not been filled in yet. Khronos is
|
||||
aware of the problem and working on it as time allows; please do not
|
||||
file Github issues bringing the missing content to our attention.
|
||||
|
||||
Fields
|
||||
------
|
||||
|
||||
Description
|
||||
-----------
|
||||
|
||||
include::../validity/structs/VkClearAttachment.txt[]
|
||||
See Also
|
||||
--------
|
||||
|
||||
include::footer.txt[]
|
|
@ -0,0 +1,27 @@
|
|||
VkClearColorValue(3)
|
||||
====================
|
||||
|
||||
Name
|
||||
----
|
||||
VkClearColorValue - Stub page (not yet written)
|
||||
|
||||
C Specification
|
||||
---------------
|
||||
|
||||
include::../structs/VkClearColorValue.txt[]
|
||||
|
||||
This is a stub page. Content has not been filled in yet. Khronos is
|
||||
aware of the problem and working on it as time allows; please do not
|
||||
file Github issues bringing the missing content to our attention.
|
||||
|
||||
Fields
|
||||
------
|
||||
|
||||
Description
|
||||
-----------
|
||||
|
||||
include::../validity/structs/VkClearColorValue.txt[]
|
||||
See Also
|
||||
--------
|
||||
|
||||
include::footer.txt[]
|
|
@ -0,0 +1,27 @@
|
|||
VkClearDepthStencilValue(3)
|
||||
===========================
|
||||
|
||||
Name
|
||||
----
|
||||
VkClearDepthStencilValue - Stub page (not yet written)
|
||||
|
||||
C Specification
|
||||
---------------
|
||||
|
||||
include::../structs/VkClearDepthStencilValue.txt[]
|
||||
|
||||
This is a stub page. Content has not been filled in yet. Khronos is
|
||||
aware of the problem and working on it as time allows; please do not
|
||||
file Github issues bringing the missing content to our attention.
|
||||
|
||||
Fields
|
||||
------
|
||||
|
||||
Description
|
||||
-----------
|
||||
|
||||
include::../validity/structs/VkClearDepthStencilValue.txt[]
|
||||
See Also
|
||||
--------
|
||||
|
||||
include::footer.txt[]
|
|
@ -0,0 +1,27 @@
|
|||
VkClearRect(3)
|
||||
==============
|
||||
|
||||
Name
|
||||
----
|
||||
VkClearRect - Stub page (not yet written)
|
||||
|
||||
C Specification
|
||||
---------------
|
||||
|
||||
include::../structs/VkClearRect.txt[]
|
||||
|
||||
This is a stub page. Content has not been filled in yet. Khronos is
|
||||
aware of the problem and working on it as time allows; please do not
|
||||
file Github issues bringing the missing content to our attention.
|
||||
|
||||
Fields
|
||||
------
|
||||
|
||||
Description
|
||||
-----------
|
||||
|
||||
include::../validity/structs/VkClearRect.txt[]
|
||||
See Also
|
||||
--------
|
||||
|
||||
include::footer.txt[]
|
|
@ -0,0 +1,27 @@
|
|||
VkClearValue(3)
|
||||
===============
|
||||
|
||||
Name
|
||||
----
|
||||
VkClearValue - Stub page (not yet written)
|
||||
|
||||
C Specification
|
||||
---------------
|
||||
|
||||
include::../structs/VkClearValue.txt[]
|
||||
|
||||
This is a stub page. Content has not been filled in yet. Khronos is
|
||||
aware of the problem and working on it as time allows; please do not
|
||||
file Github issues bringing the missing content to our attention.
|
||||
|
||||
Fields
|
||||
------
|
||||
|
||||
Description
|
||||
-----------
|
||||
|
||||
include::../validity/structs/VkClearValue.txt[]
|
||||
See Also
|
||||
--------
|
||||
|
||||
include::footer.txt[]
|
|
@ -0,0 +1,26 @@
|
|||
VkColorComponentFlagBits(3)
|
||||
===========================
|
||||
|
||||
Name
|
||||
----
|
||||
VkColorComponentFlagBits - Stub page (not yet written)
|
||||
|
||||
C Specification
|
||||
---------------
|
||||
|
||||
include::../enums/VkColorComponentFlagBits.txt[]
|
||||
|
||||
This is a stub page. Content has not been filled in yet. Khronos is
|
||||
aware of the problem and working on it as time allows; please do not
|
||||
file Github issues bringing the missing content to our attention.
|
||||
|
||||
Constants
|
||||
---------
|
||||
|
||||
Description
|
||||
-----------
|
||||
|
||||
See Also
|
||||
--------
|
||||
|
||||
include::footer.txt[]
|
|
@ -0,0 +1,26 @@
|
|||
VkColorComponentFlags(3)
|
||||
========================
|
||||
|
||||
Name
|
||||
----
|
||||
VkColorComponentFlags - Stub page (not yet written)
|
||||
|
||||
C Specification
|
||||
---------------
|
||||
|
||||
include::../flags/VkColorComponentFlags.txt[]
|
||||
|
||||
This is a stub page. Content has not been filled in yet. Khronos is
|
||||
aware of the problem and working on it as time allows; please do not
|
||||
file Github issues bringing the missing content to our attention.
|
||||
|
||||
Constants
|
||||
---------
|
||||
|
||||
Description
|
||||
-----------
|
||||
|
||||
See Also
|
||||
--------
|
||||
|
||||
include::footer.txt[]
|
|
@ -0,0 +1,26 @@
|
|||
VkColorSpaceKHR(3)
|
||||
==================
|
||||
|
||||
Name
|
||||
----
|
||||
VkColorSpaceKHR - Stub page (not yet written)
|
||||
|
||||
C Specification
|
||||
---------------
|
||||
|
||||
include::../enums/VkColorSpaceKHR.txt[]
|
||||
|
||||
This is a stub page. Content has not been filled in yet. Khronos is
|
||||
aware of the problem and working on it as time allows; please do not
|
||||
file Github issues bringing the missing content to our attention.
|
||||
|
||||
Constants
|
||||
---------
|
||||
|
||||
Description
|
||||
-----------
|
||||
|
||||
See Also
|
||||
--------
|
||||
|
||||
include::footer.txt[]
|
|
@ -0,0 +1,27 @@
|
|||
VkCommandBufferBeginInfo(3)
|
||||
===========================
|
||||
|
||||
Name
|
||||
----
|
||||
VkCommandBufferBeginInfo - Stub page (not yet written)
|
||||
|
||||
C Specification
|
||||
---------------
|
||||
|
||||
include::../structs/VkCommandBufferBeginInfo.txt[]
|
||||
|
||||
This is a stub page. Content has not been filled in yet. Khronos is
|
||||
aware of the problem and working on it as time allows; please do not
|
||||
file Github issues bringing the missing content to our attention.
|
||||
|
||||
Fields
|
||||
------
|
||||
|
||||
Description
|
||||
-----------
|
||||
|
||||
include::../validity/structs/VkCommandBufferBeginInfo.txt[]
|
||||
See Also
|
||||
--------
|
||||
|
||||
include::footer.txt[]
|
|
@ -0,0 +1,27 @@
|
|||
VkCommandBufferInheritanceInfo(3)
|
||||
=================================
|
||||
|
||||
Name
|
||||
----
|
||||
VkCommandBufferInheritanceInfo - Stub page (not yet written)
|
||||
|
||||
C Specification
|
||||
---------------
|
||||
|
||||
include::../structs/VkCommandBufferInheritanceInfo.txt[]
|
||||
|
||||
This is a stub page. Content has not been filled in yet. Khronos is
|
||||
aware of the problem and working on it as time allows; please do not
|
||||
file Github issues bringing the missing content to our attention.
|
||||
|
||||
Fields
|
||||
------
|
||||
|
||||
Description
|
||||
-----------
|
||||
|
||||
include::../validity/structs/VkCommandBufferInheritanceInfo.txt[]
|
||||
See Also
|
||||
--------
|
||||
|
||||
include::footer.txt[]
|
|
@ -0,0 +1,26 @@
|
|||
VkCommandBufferLevel(3)
|
||||
=======================
|
||||
|
||||
Name
|
||||
----
|
||||
VkCommandBufferLevel - Stub page (not yet written)
|
||||
|
||||
C Specification
|
||||
---------------
|
||||
|
||||
include::../enums/VkCommandBufferLevel.txt[]
|
||||
|
||||
This is a stub page. Content has not been filled in yet. Khronos is
|
||||
aware of the problem and working on it as time allows; please do not
|
||||
file Github issues bringing the missing content to our attention.
|
||||
|
||||
Constants
|
||||
---------
|
||||
|
||||
Description
|
||||
-----------
|
||||
|
||||
See Also
|
||||
--------
|
||||
|
||||
include::footer.txt[]
|
|
@ -0,0 +1,26 @@
|
|||
VkCommandBufferResetFlagBits(3)
|
||||
===============================
|
||||
|
||||
Name
|
||||
----
|
||||
VkCommandBufferResetFlagBits - Stub page (not yet written)
|
||||
|
||||
C Specification
|
||||
---------------
|
||||
|
||||
include::../enums/VkCommandBufferResetFlagBits.txt[]
|
||||
|
||||
This is a stub page. Content has not been filled in yet. Khronos is
|
||||
aware of the problem and working on it as time allows; please do not
|
||||
file Github issues bringing the missing content to our attention.
|
||||
|
||||
Constants
|
||||
---------
|
||||
|
||||
Description
|
||||
-----------
|
||||
|
||||
See Also
|
||||
--------
|
||||
|
||||
include::footer.txt[]
|
|
@ -0,0 +1,26 @@
|
|||
VkCommandBufferResetFlags(3)
|
||||
============================
|
||||
|
||||
Name
|
||||
----
|
||||
VkCommandBufferResetFlags - Stub page (not yet written)
|
||||
|
||||
C Specification
|
||||
---------------
|
||||
|
||||
include::../flags/VkCommandBufferResetFlags.txt[]
|
||||
|
||||
This is a stub page. Content has not been filled in yet. Khronos is
|
||||
aware of the problem and working on it as time allows; please do not
|
||||
file Github issues bringing the missing content to our attention.
|
||||
|
||||
Constants
|
||||
---------
|
||||
|
||||
Description
|
||||
-----------
|
||||
|
||||
See Also
|
||||
--------
|
||||
|
||||
include::footer.txt[]
|
|
@ -0,0 +1,26 @@
|
|||
VkCommandBufferUsageFlagBits(3)
|
||||
===============================
|
||||
|
||||
Name
|
||||
----
|
||||
VkCommandBufferUsageFlagBits - Stub page (not yet written)
|
||||
|
||||
C Specification
|
||||
---------------
|
||||
|
||||
include::../enums/VkCommandBufferUsageFlagBits.txt[]
|
||||
|
||||
This is a stub page. Content has not been filled in yet. Khronos is
|
||||
aware of the problem and working on it as time allows; please do not
|
||||
file Github issues bringing the missing content to our attention.
|
||||
|
||||
Constants
|
||||
---------
|
||||
|
||||
Description
|
||||
-----------
|
||||
|
||||
See Also
|
||||
--------
|
||||
|
||||
include::footer.txt[]
|
|
@ -0,0 +1,26 @@
|
|||
VkCommandBufferUsageFlags(3)
|
||||
============================
|
||||
|
||||
Name
|
||||
----
|
||||
VkCommandBufferUsageFlags - Stub page (not yet written)
|
||||
|
||||
C Specification
|
||||
---------------
|
||||
|
||||
include::../flags/VkCommandBufferUsageFlags.txt[]
|
||||
|
||||
This is a stub page. Content has not been filled in yet. Khronos is
|
||||
aware of the problem and working on it as time allows; please do not
|
||||
file Github issues bringing the missing content to our attention.
|
||||
|
||||
Constants
|
||||
---------
|
||||
|
||||
Description
|
||||
-----------
|
||||
|
||||
See Also
|
||||
--------
|
||||
|
||||
include::footer.txt[]
|
|
@ -0,0 +1,26 @@
|
|||
VkCommandPoolCreateFlagBits(3)
|
||||
==============================
|
||||
|
||||
Name
|
||||
----
|
||||
VkCommandPoolCreateFlagBits - Stub page (not yet written)
|
||||
|
||||
C Specification
|
||||
---------------
|
||||
|
||||
include::../enums/VkCommandPoolCreateFlagBits.txt[]
|
||||
|
||||
This is a stub page. Content has not been filled in yet. Khronos is
|
||||
aware of the problem and working on it as time allows; please do not
|
||||
file Github issues bringing the missing content to our attention.
|
||||
|
||||
Constants
|
||||
---------
|
||||
|
||||
Description
|
||||
-----------
|
||||
|
||||
See Also
|
||||
--------
|
||||
|
||||
include::footer.txt[]
|
|
@ -0,0 +1,26 @@
|
|||
VkCommandPoolCreateFlags(3)
|
||||
===========================
|
||||
|
||||
Name
|
||||
----
|
||||
VkCommandPoolCreateFlags - Stub page (not yet written)
|
||||
|
||||
C Specification
|
||||
---------------
|
||||
|
||||
include::../flags/VkCommandPoolCreateFlags.txt[]
|
||||
|
||||
This is a stub page. Content has not been filled in yet. Khronos is
|
||||
aware of the problem and working on it as time allows; please do not
|
||||
file Github issues bringing the missing content to our attention.
|
||||
|
||||
Constants
|
||||
---------
|
||||
|
||||
Description
|
||||
-----------
|
||||
|
||||
See Also
|
||||
--------
|
||||
|
||||
include::footer.txt[]
|
|
@ -0,0 +1,27 @@
|
|||
VkCommandPoolCreateInfo(3)
|
||||
==========================
|
||||
|
||||
Name
|
||||
----
|
||||
VkCommandPoolCreateInfo - Stub page (not yet written)
|
||||
|
||||
C Specification
|
||||
---------------
|
||||
|
||||
include::../structs/VkCommandPoolCreateInfo.txt[]
|
||||
|
||||
This is a stub page. Content has not been filled in yet. Khronos is
|
||||
aware of the problem and working on it as time allows; please do not
|
||||
file Github issues bringing the missing content to our attention.
|
||||
|
||||
Fields
|
||||
------
|
||||
|
||||
Description
|
||||
-----------
|
||||
|
||||
include::../validity/structs/VkCommandPoolCreateInfo.txt[]
|
||||
See Also
|
||||
--------
|
||||
|
||||
include::footer.txt[]
|
|
@ -0,0 +1,26 @@
|
|||
VkCommandPoolResetFlagBits(3)
|
||||
=============================
|
||||
|
||||
Name
|
||||
----
|
||||
VkCommandPoolResetFlagBits - Stub page (not yet written)
|
||||
|
||||
C Specification
|
||||
---------------
|
||||
|
||||
include::../enums/VkCommandPoolResetFlagBits.txt[]
|
||||
|
||||
This is a stub page. Content has not been filled in yet. Khronos is
|
||||
aware of the problem and working on it as time allows; please do not
|
||||
file Github issues bringing the missing content to our attention.
|
||||
|
||||
Constants
|
||||
---------
|
||||
|
||||
Description
|
||||
-----------
|
||||
|
||||
See Also
|
||||
--------
|
||||
|
||||
include::footer.txt[]
|
|
@ -0,0 +1,26 @@
|
|||
VkCommandPoolResetFlags(3)
|
||||
==========================
|
||||
|
||||
Name
|
||||
----
|
||||
VkCommandPoolResetFlags - Stub page (not yet written)
|
||||
|
||||
C Specification
|
||||
---------------
|
||||
|
||||
include::../flags/VkCommandPoolResetFlags.txt[]
|
||||
|
||||
This is a stub page. Content has not been filled in yet. Khronos is
|
||||
aware of the problem and working on it as time allows; please do not
|
||||
file Github issues bringing the missing content to our attention.
|
||||
|
||||
Constants
|
||||
---------
|
||||
|
||||
Description
|
||||
-----------
|
||||
|
||||
See Also
|
||||
--------
|
||||
|
||||
include::footer.txt[]
|
|
@ -0,0 +1,26 @@
|
|||
VkCompareOp(3)
|
||||
==============
|
||||
|
||||
Name
|
||||
----
|
||||
VkCompareOp - Stub page (not yet written)
|
||||
|
||||
C Specification
|
||||
---------------
|
||||
|
||||
include::../enums/VkCompareOp.txt[]
|
||||
|
||||
This is a stub page. Content has not been filled in yet. Khronos is
|
||||
aware of the problem and working on it as time allows; please do not
|
||||
file Github issues bringing the missing content to our attention.
|
||||
|
||||
Constants
|
||||
---------
|
||||
|
||||
Description
|
||||
-----------
|
||||
|
||||
See Also
|
||||
--------
|
||||
|
||||
include::footer.txt[]
|
|
@ -0,0 +1,27 @@
|
|||
VkComponentMapping(3)
|
||||
=====================
|
||||
|
||||
Name
|
||||
----
|
||||
VkComponentMapping - Stub page (not yet written)
|
||||
|
||||
C Specification
|
||||
---------------
|
||||
|
||||
include::../structs/VkComponentMapping.txt[]
|
||||
|
||||
This is a stub page. Content has not been filled in yet. Khronos is
|
||||
aware of the problem and working on it as time allows; please do not
|
||||
file Github issues bringing the missing content to our attention.
|
||||
|
||||
Fields
|
||||
------
|
||||
|
||||
Description
|
||||
-----------
|
||||
|
||||
include::../validity/structs/VkComponentMapping.txt[]
|
||||
See Also
|
||||
--------
|
||||
|
||||
include::footer.txt[]
|
|
@ -0,0 +1,26 @@
|
|||
VkComponentSwizzle(3)
|
||||
=====================
|
||||
|
||||
Name
|
||||
----
|
||||
VkComponentSwizzle - Stub page (not yet written)
|
||||
|
||||
C Specification
|
||||
---------------
|
||||
|
||||
include::../enums/VkComponentSwizzle.txt[]
|
||||
|
||||
This is a stub page. Content has not been filled in yet. Khronos is
|
||||
aware of the problem and working on it as time allows; please do not
|
||||
file Github issues bringing the missing content to our attention.
|
||||
|
||||
Constants
|
||||
---------
|
||||
|
||||
Description
|
||||
-----------
|
||||
|
||||
See Also
|
||||
--------
|
||||
|
||||
include::footer.txt[]
|
|
@ -0,0 +1,26 @@
|
|||
VkCompositeAlphaFlagBitsKHR(3)
|
||||
==============================
|
||||
|
||||
Name
|
||||
----
|
||||
VkCompositeAlphaFlagBitsKHR - Stub page (not yet written)
|
||||
|
||||
C Specification
|
||||
---------------
|
||||
|
||||
include::../enums/VkCompositeAlphaFlagBitsKHR.txt[]
|
||||
|
||||
This is a stub page. Content has not been filled in yet. Khronos is
|
||||
aware of the problem and working on it as time allows; please do not
|
||||
file Github issues bringing the missing content to our attention.
|
||||
|
||||
Constants
|
||||
---------
|
||||
|
||||
Description
|
||||
-----------
|
||||
|
||||
See Also
|
||||
--------
|
||||
|
||||
include::footer.txt[]
|
|
@ -0,0 +1,26 @@
|
|||
VkCompositeAlphaFlagsKHR(3)
|
||||
===========================
|
||||
|
||||
Name
|
||||
----
|
||||
VkCompositeAlphaFlagsKHR - Stub page (not yet written)
|
||||
|
||||
C Specification
|
||||
---------------
|
||||
|
||||
include::../flags/VkCompositeAlphaFlagsKHR.txt[]
|
||||
|
||||
This is a stub page. Content has not been filled in yet. Khronos is
|
||||
aware of the problem and working on it as time allows; please do not
|
||||
file Github issues bringing the missing content to our attention.
|
||||
|
||||
Constants
|
||||
---------
|
||||
|
||||
Description
|
||||
-----------
|
||||
|
||||
See Also
|
||||
--------
|
||||
|
||||
include::footer.txt[]
|
|
@ -0,0 +1,27 @@
|
|||
VkComputePipelineCreateInfo(3)
|
||||
==============================
|
||||
|
||||
Name
|
||||
----
|
||||
VkComputePipelineCreateInfo - Stub page (not yet written)
|
||||
|
||||
C Specification
|
||||
---------------
|
||||
|
||||
include::../structs/VkComputePipelineCreateInfo.txt[]
|
||||
|
||||
This is a stub page. Content has not been filled in yet. Khronos is
|
||||
aware of the problem and working on it as time allows; please do not
|
||||
file Github issues bringing the missing content to our attention.
|
||||
|
||||
Fields
|
||||
------
|
||||
|
||||
Description
|
||||
-----------
|
||||
|
||||
include::../validity/structs/VkComputePipelineCreateInfo.txt[]
|
||||
See Also
|
||||
--------
|
||||
|
||||
include::footer.txt[]
|
|
@ -0,0 +1,27 @@
|
|||
VkCopyDescriptorSet(3)
|
||||
======================
|
||||
|
||||
Name
|
||||
----
|
||||
VkCopyDescriptorSet - Stub page (not yet written)
|
||||
|
||||
C Specification
|
||||
---------------
|
||||
|
||||
include::../structs/VkCopyDescriptorSet.txt[]
|
||||
|
||||
This is a stub page. Content has not been filled in yet. Khronos is
|
||||
aware of the problem and working on it as time allows; please do not
|
||||
file Github issues bringing the missing content to our attention.
|
||||
|
||||
Fields
|
||||
------
|
||||
|
||||
Description
|
||||
-----------
|
||||
|
||||
include::../validity/structs/VkCopyDescriptorSet.txt[]
|
||||
See Also
|
||||
--------
|
||||
|
||||
include::footer.txt[]
|
|
@ -0,0 +1,26 @@
|
|||
VkCullModeFlagBits(3)
|
||||
=====================
|
||||
|
||||
Name
|
||||
----
|
||||
VkCullModeFlagBits - Stub page (not yet written)
|
||||
|
||||
C Specification
|
||||
---------------
|
||||
|
||||
include::../enums/VkCullModeFlagBits.txt[]
|
||||
|
||||
This is a stub page. Content has not been filled in yet. Khronos is
|
||||
aware of the problem and working on it as time allows; please do not
|
||||
file Github issues bringing the missing content to our attention.
|
||||
|
||||
Constants
|
||||
---------
|
||||
|
||||
Description
|
||||
-----------
|
||||
|
||||
See Also
|
||||
--------
|
||||
|
||||
include::footer.txt[]
|
|
@ -0,0 +1,26 @@
|
|||
VkCullModeFlags(3)
|
||||
==================
|
||||
|
||||
Name
|
||||
----
|
||||
VkCullModeFlags - Stub page (not yet written)
|
||||
|
||||
C Specification
|
||||
---------------
|
||||
|
||||
include::../flags/VkCullModeFlags.txt[]
|
||||
|
||||
This is a stub page. Content has not been filled in yet. Khronos is
|
||||
aware of the problem and working on it as time allows; please do not
|
||||
file Github issues bringing the missing content to our attention.
|
||||
|
||||
Constants
|
||||
---------
|
||||
|
||||
Description
|
||||
-----------
|
||||
|
||||
See Also
|
||||
--------
|
||||
|
||||
include::footer.txt[]
|
|
@ -0,0 +1,27 @@
|
|||
VkDebugReportCallbackCreateInfoEXT(3)
|
||||
=====================================
|
||||
|
||||
Name
|
||||
----
|
||||
VkDebugReportCallbackCreateInfoEXT - Stub page (not yet written)
|
||||
|
||||
C Specification
|
||||
---------------
|
||||
|
||||
include::../structs/VkDebugReportCallbackCreateInfoEXT.txt[]
|
||||
|
||||
This is a stub page. Content has not been filled in yet. Khronos is
|
||||
aware of the problem and working on it as time allows; please do not
|
||||
file Github issues bringing the missing content to our attention.
|
||||
|
||||
Fields
|
||||
------
|
||||
|
||||
Description
|
||||
-----------
|
||||
|
||||
include::../validity/structs/VkDebugReportCallbackCreateInfoEXT.txt[]
|
||||
See Also
|
||||
--------
|
||||
|
||||
include::footer.txt[]
|
|
@ -0,0 +1,26 @@
|
|||
VkDebugReportErrorEXT(3)
|
||||
========================
|
||||
|
||||
Name
|
||||
----
|
||||
VkDebugReportErrorEXT - Stub page (not yet written)
|
||||
|
||||
C Specification
|
||||
---------------
|
||||
|
||||
include::../enums/VkDebugReportErrorEXT.txt[]
|
||||
|
||||
This is a stub page. Content has not been filled in yet. Khronos is
|
||||
aware of the problem and working on it as time allows; please do not
|
||||
file Github issues bringing the missing content to our attention.
|
||||
|
||||
Constants
|
||||
---------
|
||||
|
||||
Description
|
||||
-----------
|
||||
|
||||
See Also
|
||||
--------
|
||||
|
||||
include::footer.txt[]
|
|
@ -0,0 +1,26 @@
|
|||
VkDebugReportFlagBitsEXT(3)
|
||||
===========================
|
||||
|
||||
Name
|
||||
----
|
||||
VkDebugReportFlagBitsEXT - Stub page (not yet written)
|
||||
|
||||
C Specification
|
||||
---------------
|
||||
|
||||
include::../enums/VkDebugReportFlagBitsEXT.txt[]
|
||||
|
||||
This is a stub page. Content has not been filled in yet. Khronos is
|
||||
aware of the problem and working on it as time allows; please do not
|
||||
file Github issues bringing the missing content to our attention.
|
||||
|
||||
Constants
|
||||
---------
|
||||
|
||||
Description
|
||||
-----------
|
||||
|
||||
See Also
|
||||
--------
|
||||
|
||||
include::footer.txt[]
|
|
@ -0,0 +1,26 @@
|
|||
VkDebugReportFlagsEXT(3)
|
||||
========================
|
||||
|
||||
Name
|
||||
----
|
||||
VkDebugReportFlagsEXT - Stub page (not yet written)
|
||||
|
||||
C Specification
|
||||
---------------
|
||||
|
||||
include::../flags/VkDebugReportFlagsEXT.txt[]
|
||||
|
||||
This is a stub page. Content has not been filled in yet. Khronos is
|
||||
aware of the problem and working on it as time allows; please do not
|
||||
file Github issues bringing the missing content to our attention.
|
||||
|
||||
Constants
|
||||
---------
|
||||
|
||||
Description
|
||||
-----------
|
||||
|
||||
See Also
|
||||
--------
|
||||
|
||||
include::footer.txt[]
|
|
@ -0,0 +1,26 @@
|
|||
VkDebugReportObjectTypeEXT(3)
|
||||
=============================
|
||||
|
||||
Name
|
||||
----
|
||||
VkDebugReportObjectTypeEXT - Stub page (not yet written)
|
||||
|
||||
C Specification
|
||||
---------------
|
||||
|
||||
include::../enums/VkDebugReportObjectTypeEXT.txt[]
|
||||
|
||||
This is a stub page. Content has not been filled in yet. Khronos is
|
||||
aware of the problem and working on it as time allows; please do not
|
||||
file Github issues bringing the missing content to our attention.
|
||||
|
||||
Constants
|
||||
---------
|
||||
|
||||
Description
|
||||
-----------
|
||||
|
||||
See Also
|
||||
--------
|
||||
|
||||
include::footer.txt[]
|
|
@ -0,0 +1,26 @@
|
|||
VkDependencyFlagBits(3)
|
||||
=======================
|
||||
|
||||
Name
|
||||
----
|
||||
VkDependencyFlagBits - Stub page (not yet written)
|
||||
|
||||
C Specification
|
||||
---------------
|
||||
|
||||
include::../enums/VkDependencyFlagBits.txt[]
|
||||
|
||||
This is a stub page. Content has not been filled in yet. Khronos is
|
||||
aware of the problem and working on it as time allows; please do not
|
||||
file Github issues bringing the missing content to our attention.
|
||||
|
||||
Constants
|
||||
---------
|
||||
|
||||
Description
|
||||
-----------
|
||||
|
||||
See Also
|
||||
--------
|
||||
|
||||
include::footer.txt[]
|
|
@ -0,0 +1,26 @@
|
|||
VkDependencyFlags(3)
|
||||
====================
|
||||
|
||||
Name
|
||||
----
|
||||
VkDependencyFlags - Stub page (not yet written)
|
||||
|
||||
C Specification
|
||||
---------------
|
||||
|
||||
include::../flags/VkDependencyFlags.txt[]
|
||||
|
||||
This is a stub page. Content has not been filled in yet. Khronos is
|
||||
aware of the problem and working on it as time allows; please do not
|
||||
file Github issues bringing the missing content to our attention.
|
||||
|
||||
Constants
|
||||
---------
|
||||
|
||||
Description
|
||||
-----------
|
||||
|
||||
See Also
|
||||
--------
|
||||
|
||||
include::footer.txt[]
|
|
@ -0,0 +1,27 @@
|
|||
VkDescriptorBufferInfo(3)
|
||||
=========================
|
||||
|
||||
Name
|
||||
----
|
||||
VkDescriptorBufferInfo - Stub page (not yet written)
|
||||
|
||||
C Specification
|
||||
---------------
|
||||
|
||||
include::../structs/VkDescriptorBufferInfo.txt[]
|
||||
|
||||
This is a stub page. Content has not been filled in yet. Khronos is
|
||||
aware of the problem and working on it as time allows; please do not
|
||||
file Github issues bringing the missing content to our attention.
|
||||
|
||||
Fields
|
||||
------
|
||||
|
||||
Description
|
||||
-----------
|
||||
|
||||
include::../validity/structs/VkDescriptorBufferInfo.txt[]
|
||||
See Also
|
||||
--------
|
||||
|
||||
include::footer.txt[]
|
|
@ -0,0 +1,27 @@
|
|||
VkDescriptorImageInfo(3)
|
||||
========================
|
||||
|
||||
Name
|
||||
----
|
||||
VkDescriptorImageInfo - Stub page (not yet written)
|
||||
|
||||
C Specification
|
||||
---------------
|
||||
|
||||
include::../structs/VkDescriptorImageInfo.txt[]
|
||||
|
||||
This is a stub page. Content has not been filled in yet. Khronos is
|
||||
aware of the problem and working on it as time allows; please do not
|
||||
file Github issues bringing the missing content to our attention.
|
||||
|
||||
Fields
|
||||
------
|
||||
|
||||
Description
|
||||
-----------
|
||||
|
||||
include::../validity/structs/VkDescriptorImageInfo.txt[]
|
||||
See Also
|
||||
--------
|
||||
|
||||
include::footer.txt[]
|
|
@ -0,0 +1,26 @@
|
|||
VkDescriptorPoolCreateFlagBits(3)
|
||||
=================================
|
||||
|
||||
Name
|
||||
----
|
||||
VkDescriptorPoolCreateFlagBits - Stub page (not yet written)
|
||||
|
||||
C Specification
|
||||
---------------
|
||||
|
||||
include::../enums/VkDescriptorPoolCreateFlagBits.txt[]
|
||||
|
||||
This is a stub page. Content has not been filled in yet. Khronos is
|
||||
aware of the problem and working on it as time allows; please do not
|
||||
file Github issues bringing the missing content to our attention.
|
||||
|
||||
Constants
|
||||
---------
|
||||
|
||||
Description
|
||||
-----------
|
||||
|
||||
See Also
|
||||
--------
|
||||
|
||||
include::footer.txt[]
|
|
@ -0,0 +1,26 @@
|
|||
VkDescriptorPoolCreateFlags(3)
|
||||
==============================
|
||||
|
||||
Name
|
||||
----
|
||||
VkDescriptorPoolCreateFlags - Stub page (not yet written)
|
||||
|
||||
C Specification
|
||||
---------------
|
||||
|
||||
include::../flags/VkDescriptorPoolCreateFlags.txt[]
|
||||
|
||||
This is a stub page. Content has not been filled in yet. Khronos is
|
||||
aware of the problem and working on it as time allows; please do not
|
||||
file Github issues bringing the missing content to our attention.
|
||||
|
||||
Constants
|
||||
---------
|
||||
|
||||
Description
|
||||
-----------
|
||||
|
||||
See Also
|
||||
--------
|
||||
|
||||
include::footer.txt[]
|
|
@ -0,0 +1,27 @@
|
|||
VkDescriptorPoolCreateInfo(3)
|
||||
=============================
|
||||
|
||||
Name
|
||||
----
|
||||
VkDescriptorPoolCreateInfo - Stub page (not yet written)
|
||||
|
||||
C Specification
|
||||
---------------
|
||||
|
||||
include::../structs/VkDescriptorPoolCreateInfo.txt[]
|
||||
|
||||
This is a stub page. Content has not been filled in yet. Khronos is
|
||||
aware of the problem and working on it as time allows; please do not
|
||||
file Github issues bringing the missing content to our attention.
|
||||
|
||||
Fields
|
||||
------
|
||||
|
||||
Description
|
||||
-----------
|
||||
|
||||
include::../validity/structs/VkDescriptorPoolCreateInfo.txt[]
|
||||
See Also
|
||||
--------
|
||||
|
||||
include::footer.txt[]
|
|
@ -0,0 +1,26 @@
|
|||
VkDescriptorPoolResetFlags(3)
|
||||
=============================
|
||||
|
||||
Name
|
||||
----
|
||||
VkDescriptorPoolResetFlags - Stub page (not yet written)
|
||||
|
||||
C Specification
|
||||
---------------
|
||||
|
||||
include::../flags/VkDescriptorPoolResetFlags.txt[]
|
||||
|
||||
This is a stub page. Content has not been filled in yet. Khronos is
|
||||
aware of the problem and working on it as time allows; please do not
|
||||
file Github issues bringing the missing content to our attention.
|
||||
|
||||
Constants
|
||||
---------
|
||||
|
||||
Description
|
||||
-----------
|
||||
|
||||
See Also
|
||||
--------
|
||||
|
||||
include::footer.txt[]
|
|
@ -0,0 +1,27 @@
|
|||
VkDescriptorPoolSize(3)
|
||||
=======================
|
||||
|
||||
Name
|
||||
----
|
||||
VkDescriptorPoolSize - Stub page (not yet written)
|
||||
|
||||
C Specification
|
||||
---------------
|
||||
|
||||
include::../structs/VkDescriptorPoolSize.txt[]
|
||||
|
||||
This is a stub page. Content has not been filled in yet. Khronos is
|
||||
aware of the problem and working on it as time allows; please do not
|
||||
file Github issues bringing the missing content to our attention.
|
||||
|
||||
Fields
|
||||
------
|
||||
|
||||
Description
|
||||
-----------
|
||||
|
||||
include::../validity/structs/VkDescriptorPoolSize.txt[]
|
||||
See Also
|
||||
--------
|
||||
|
||||
include::footer.txt[]
|
|
@ -0,0 +1,27 @@
|
|||
VkDescriptorSetLayoutBinding(3)
|
||||
===============================
|
||||
|
||||
Name
|
||||
----
|
||||
VkDescriptorSetLayoutBinding - Stub page (not yet written)
|
||||
|
||||
C Specification
|
||||
---------------
|
||||
|
||||
include::../structs/VkDescriptorSetLayoutBinding.txt[]
|
||||
|
||||
This is a stub page. Content has not been filled in yet. Khronos is
|
||||
aware of the problem and working on it as time allows; please do not
|
||||
file Github issues bringing the missing content to our attention.
|
||||
|
||||
Fields
|
||||
------
|
||||
|
||||
Description
|
||||
-----------
|
||||
|
||||
include::../validity/structs/VkDescriptorSetLayoutBinding.txt[]
|
||||
See Also
|
||||
--------
|
||||
|
||||
include::footer.txt[]
|
|
@ -0,0 +1,26 @@
|
|||
VkDescriptorSetLayoutCreateFlags(3)
|
||||
===================================
|
||||
|
||||
Name
|
||||
----
|
||||
VkDescriptorSetLayoutCreateFlags - Stub page (not yet written)
|
||||
|
||||
C Specification
|
||||
---------------
|
||||
|
||||
include::../flags/VkDescriptorSetLayoutCreateFlags.txt[]
|
||||
|
||||
This is a stub page. Content has not been filled in yet. Khronos is
|
||||
aware of the problem and working on it as time allows; please do not
|
||||
file Github issues bringing the missing content to our attention.
|
||||
|
||||
Constants
|
||||
---------
|
||||
|
||||
Description
|
||||
-----------
|
||||
|
||||
See Also
|
||||
--------
|
||||
|
||||
include::footer.txt[]
|
|
@ -0,0 +1,27 @@
|
|||
VkDescriptorSetLayoutCreateInfo(3)
|
||||
==================================
|
||||
|
||||
Name
|
||||
----
|
||||
VkDescriptorSetLayoutCreateInfo - Stub page (not yet written)
|
||||
|
||||
C Specification
|
||||
---------------
|
||||
|
||||
include::../structs/VkDescriptorSetLayoutCreateInfo.txt[]
|
||||
|
||||
This is a stub page. Content has not been filled in yet. Khronos is
|
||||
aware of the problem and working on it as time allows; please do not
|
||||
file Github issues bringing the missing content to our attention.
|
||||
|
||||
Fields
|
||||
------
|
||||
|
||||
Description
|
||||
-----------
|
||||
|
||||
include::../validity/structs/VkDescriptorSetLayoutCreateInfo.txt[]
|
||||
See Also
|
||||
--------
|
||||
|
||||
include::footer.txt[]
|
|
@ -0,0 +1,26 @@
|
|||
VkDeviceCreateFlags(3)
|
||||
======================
|
||||
|
||||
Name
|
||||
----
|
||||
VkDeviceCreateFlags - Stub page (not yet written)
|
||||
|
||||
C Specification
|
||||
---------------
|
||||
|
||||
include::../flags/VkDeviceCreateFlags.txt[]
|
||||
|
||||
This is a stub page. Content has not been filled in yet. Khronos is
|
||||
aware of the problem and working on it as time allows; please do not
|
||||
file Github issues bringing the missing content to our attention.
|
||||
|
||||
Constants
|
||||
---------
|
||||
|
||||
Description
|
||||
-----------
|
||||
|
||||
See Also
|
||||
--------
|
||||
|
||||
include::footer.txt[]
|
|
@ -0,0 +1,27 @@
|
|||
VkDeviceCreateInfo(3)
|
||||
=====================
|
||||
|
||||
Name
|
||||
----
|
||||
VkDeviceCreateInfo - Stub page (not yet written)
|
||||
|
||||
C Specification
|
||||
---------------
|
||||
|
||||
include::../structs/VkDeviceCreateInfo.txt[]
|
||||
|
||||
This is a stub page. Content has not been filled in yet. Khronos is
|
||||
aware of the problem and working on it as time allows; please do not
|
||||
file Github issues bringing the missing content to our attention.
|
||||
|
||||
Fields
|
||||
------
|
||||
|
||||
Description
|
||||
-----------
|
||||
|
||||
include::../validity/structs/VkDeviceCreateInfo.txt[]
|
||||
See Also
|
||||
--------
|
||||
|
||||
include::footer.txt[]
|
|
@ -0,0 +1,26 @@
|
|||
VkDeviceQueueCreateFlags(3)
|
||||
===========================
|
||||
|
||||
Name
|
||||
----
|
||||
VkDeviceQueueCreateFlags - Stub page (not yet written)
|
||||
|
||||
C Specification
|
||||
---------------
|
||||
|
||||
include::../flags/VkDeviceQueueCreateFlags.txt[]
|
||||
|
||||
This is a stub page. Content has not been filled in yet. Khronos is
|
||||
aware of the problem and working on it as time allows; please do not
|
||||
file Github issues bringing the missing content to our attention.
|
||||
|
||||
Constants
|
||||
---------
|
||||
|
||||
Description
|
||||
-----------
|
||||
|
||||
See Also
|
||||
--------
|
||||
|
||||
include::footer.txt[]
|
|
@ -0,0 +1,27 @@
|
|||
VkDeviceQueueCreateInfo(3)
|
||||
==========================
|
||||
|
||||
Name
|
||||
----
|
||||
VkDeviceQueueCreateInfo - Stub page (not yet written)
|
||||
|
||||
C Specification
|
||||
---------------
|
||||
|
||||
include::../structs/VkDeviceQueueCreateInfo.txt[]
|
||||
|
||||
This is a stub page. Content has not been filled in yet. Khronos is
|
||||
aware of the problem and working on it as time allows; please do not
|
||||
file Github issues bringing the missing content to our attention.
|
||||
|
||||
Fields
|
||||
------
|
||||
|
||||
Description
|
||||
-----------
|
||||
|
||||
include::../validity/structs/VkDeviceQueueCreateInfo.txt[]
|
||||
See Also
|
||||
--------
|
||||
|
||||
include::footer.txt[]
|
|
@ -0,0 +1,27 @@
|
|||
VkDispatchIndirectCommand(3)
|
||||
============================
|
||||
|
||||
Name
|
||||
----
|
||||
VkDispatchIndirectCommand - Stub page (not yet written)
|
||||
|
||||
C Specification
|
||||
---------------
|
||||
|
||||
include::../structs/VkDispatchIndirectCommand.txt[]
|
||||
|
||||
This is a stub page. Content has not been filled in yet. Khronos is
|
||||
aware of the problem and working on it as time allows; please do not
|
||||
file Github issues bringing the missing content to our attention.
|
||||
|
||||
Fields
|
||||
------
|
||||
|
||||
Description
|
||||
-----------
|
||||
|
||||
include::../validity/structs/VkDispatchIndirectCommand.txt[]
|
||||
See Also
|
||||
--------
|
||||
|
||||
include::footer.txt[]
|
|
@ -0,0 +1,26 @@
|
|||
VkDisplayModeCreateFlagsKHR(3)
|
||||
==============================
|
||||
|
||||
Name
|
||||
----
|
||||
VkDisplayModeCreateFlagsKHR - Stub page (not yet written)
|
||||
|
||||
C Specification
|
||||
---------------
|
||||
|
||||
include::../flags/VkDisplayModeCreateFlagsKHR.txt[]
|
||||
|
||||
This is a stub page. Content has not been filled in yet. Khronos is
|
||||
aware of the problem and working on it as time allows; please do not
|
||||
file Github issues bringing the missing content to our attention.
|
||||
|
||||
Constants
|
||||
---------
|
||||
|
||||
Description
|
||||
-----------
|
||||
|
||||
See Also
|
||||
--------
|
||||
|
||||
include::footer.txt[]
|
|
@ -0,0 +1,27 @@
|
|||
VkDisplayModeCreateInfoKHR(3)
|
||||
=============================
|
||||
|
||||
Name
|
||||
----
|
||||
VkDisplayModeCreateInfoKHR - Stub page (not yet written)
|
||||
|
||||
C Specification
|
||||
---------------
|
||||
|
||||
include::../structs/VkDisplayModeCreateInfoKHR.txt[]
|
||||
|
||||
This is a stub page. Content has not been filled in yet. Khronos is
|
||||
aware of the problem and working on it as time allows; please do not
|
||||
file Github issues bringing the missing content to our attention.
|
||||
|
||||
Fields
|
||||
------
|
||||
|
||||
Description
|
||||
-----------
|
||||
|
||||
include::../validity/structs/VkDisplayModeCreateInfoKHR.txt[]
|
||||
See Also
|
||||
--------
|
||||
|
||||
include::footer.txt[]
|
|
@ -0,0 +1,27 @@
|
|||
VkDisplayModeParametersKHR(3)
|
||||
=============================
|
||||
|
||||
Name
|
||||
----
|
||||
VkDisplayModeParametersKHR - Stub page (not yet written)
|
||||
|
||||
C Specification
|
||||
---------------
|
||||
|
||||
include::../structs/VkDisplayModeParametersKHR.txt[]
|
||||
|
||||
This is a stub page. Content has not been filled in yet. Khronos is
|
||||
aware of the problem and working on it as time allows; please do not
|
||||
file Github issues bringing the missing content to our attention.
|
||||
|
||||
Fields
|
||||
------
|
||||
|
||||
Description
|
||||
-----------
|
||||
|
||||
include::../validity/structs/VkDisplayModeParametersKHR.txt[]
|
||||
See Also
|
||||
--------
|
||||
|
||||
include::footer.txt[]
|
|
@ -0,0 +1,27 @@
|
|||
VkDisplayModePropertiesKHR(3)
|
||||
=============================
|
||||
|
||||
Name
|
||||
----
|
||||
VkDisplayModePropertiesKHR - Stub page (not yet written)
|
||||
|
||||
C Specification
|
||||
---------------
|
||||
|
||||
include::../structs/VkDisplayModePropertiesKHR.txt[]
|
||||
|
||||
This is a stub page. Content has not been filled in yet. Khronos is
|
||||
aware of the problem and working on it as time allows; please do not
|
||||
file Github issues bringing the missing content to our attention.
|
||||
|
||||
Fields
|
||||
------
|
||||
|
||||
Description
|
||||
-----------
|
||||
|
||||
include::../validity/structs/VkDisplayModePropertiesKHR.txt[]
|
||||
See Also
|
||||
--------
|
||||
|
||||
include::footer.txt[]
|
|
@ -0,0 +1,26 @@
|
|||
VkDisplayPlaneAlphaFlagBitsKHR(3)
|
||||
=================================
|
||||
|
||||
Name
|
||||
----
|
||||
VkDisplayPlaneAlphaFlagBitsKHR - Stub page (not yet written)
|
||||
|
||||
C Specification
|
||||
---------------
|
||||
|
||||
include::../enums/VkDisplayPlaneAlphaFlagBitsKHR.txt[]
|
||||
|
||||
This is a stub page. Content has not been filled in yet. Khronos is
|
||||
aware of the problem and working on it as time allows; please do not
|
||||
file Github issues bringing the missing content to our attention.
|
||||
|
||||
Constants
|
||||
---------
|
||||
|
||||
Description
|
||||
-----------
|
||||
|
||||
See Also
|
||||
--------
|
||||
|
||||
include::footer.txt[]
|
|
@ -0,0 +1,26 @@
|
|||
VkDisplayPlaneAlphaFlagsKHR(3)
|
||||
==============================
|
||||
|
||||
Name
|
||||
----
|
||||
VkDisplayPlaneAlphaFlagsKHR - Stub page (not yet written)
|
||||
|
||||
C Specification
|
||||
---------------
|
||||
|
||||
include::../flags/VkDisplayPlaneAlphaFlagsKHR.txt[]
|
||||
|
||||
This is a stub page. Content has not been filled in yet. Khronos is
|
||||
aware of the problem and working on it as time allows; please do not
|
||||
file Github issues bringing the missing content to our attention.
|
||||
|
||||
Constants
|
||||
---------
|
||||
|
||||
Description
|
||||
-----------
|
||||
|
||||
See Also
|
||||
--------
|
||||
|
||||
include::footer.txt[]
|
|
@ -0,0 +1,27 @@
|
|||
VkDisplayPlaneCapabilitiesKHR(3)
|
||||
================================
|
||||
|
||||
Name
|
||||
----
|
||||
VkDisplayPlaneCapabilitiesKHR - Stub page (not yet written)
|
||||
|
||||
C Specification
|
||||
---------------
|
||||
|
||||
include::../structs/VkDisplayPlaneCapabilitiesKHR.txt[]
|
||||
|
||||
This is a stub page. Content has not been filled in yet. Khronos is
|
||||
aware of the problem and working on it as time allows; please do not
|
||||
file Github issues bringing the missing content to our attention.
|
||||
|
||||
Fields
|
||||
------
|
||||
|
||||
Description
|
||||
-----------
|
||||
|
||||
include::../validity/structs/VkDisplayPlaneCapabilitiesKHR.txt[]
|
||||
See Also
|
||||
--------
|
||||
|
||||
include::footer.txt[]
|
|
@ -0,0 +1,27 @@
|
|||
VkDisplayPlanePropertiesKHR(3)
|
||||
==============================
|
||||
|
||||
Name
|
||||
----
|
||||
VkDisplayPlanePropertiesKHR - Stub page (not yet written)
|
||||
|
||||
C Specification
|
||||
---------------
|
||||
|
||||
include::../structs/VkDisplayPlanePropertiesKHR.txt[]
|
||||
|
||||
This is a stub page. Content has not been filled in yet. Khronos is
|
||||
aware of the problem and working on it as time allows; please do not
|
||||
file Github issues bringing the missing content to our attention.
|
||||
|
||||
Fields
|
||||
------
|
||||
|
||||
Description
|
||||
-----------
|
||||
|
||||
include::../validity/structs/VkDisplayPlanePropertiesKHR.txt[]
|
||||
See Also
|
||||
--------
|
||||
|
||||
include::footer.txt[]
|
|
@ -0,0 +1,27 @@
|
|||
VkDisplayPresentInfoKHR(3)
|
||||
==========================
|
||||
|
||||
Name
|
||||
----
|
||||
VkDisplayPresentInfoKHR - Stub page (not yet written)
|
||||
|
||||
C Specification
|
||||
---------------
|
||||
|
||||
include::../structs/VkDisplayPresentInfoKHR.txt[]
|
||||
|
||||
This is a stub page. Content has not been filled in yet. Khronos is
|
||||
aware of the problem and working on it as time allows; please do not
|
||||
file Github issues bringing the missing content to our attention.
|
||||
|
||||
Fields
|
||||
------
|
||||
|
||||
Description
|
||||
-----------
|
||||
|
||||
include::../validity/structs/VkDisplayPresentInfoKHR.txt[]
|
||||
See Also
|
||||
--------
|
||||
|
||||
include::footer.txt[]
|
|
@ -0,0 +1,27 @@
|
|||
VkDisplayPropertiesKHR(3)
|
||||
=========================
|
||||
|
||||
Name
|
||||
----
|
||||
VkDisplayPropertiesKHR - Stub page (not yet written)
|
||||
|
||||
C Specification
|
||||
---------------
|
||||
|
||||
include::../structs/VkDisplayPropertiesKHR.txt[]
|
||||
|
||||
This is a stub page. Content has not been filled in yet. Khronos is
|
||||
aware of the problem and working on it as time allows; please do not
|
||||
file Github issues bringing the missing content to our attention.
|
||||
|
||||
Fields
|
||||
------
|
||||
|
||||
Description
|
||||
-----------
|
||||
|
||||
include::../validity/structs/VkDisplayPropertiesKHR.txt[]
|
||||
See Also
|
||||
--------
|
||||
|
||||
include::footer.txt[]
|
|
@ -0,0 +1,26 @@
|
|||
VkDisplaySurfaceCreateFlagsKHR(3)
|
||||
=================================
|
||||
|
||||
Name
|
||||
----
|
||||
VkDisplaySurfaceCreateFlagsKHR - Stub page (not yet written)
|
||||
|
||||
C Specification
|
||||
---------------
|
||||
|
||||
include::../flags/VkDisplaySurfaceCreateFlagsKHR.txt[]
|
||||
|
||||
This is a stub page. Content has not been filled in yet. Khronos is
|
||||
aware of the problem and working on it as time allows; please do not
|
||||
file Github issues bringing the missing content to our attention.
|
||||
|
||||
Constants
|
||||
---------
|
||||
|
||||
Description
|
||||
-----------
|
||||
|
||||
See Also
|
||||
--------
|
||||
|
||||
include::footer.txt[]
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue