Change log for July 30, 2018 Vulkan 1.1.82 spec update:
* Update release number to 82. Public Issues: * Add flink:vkDestroyPipelineLayout valid usage statement that the layout must not have been used with command buffers still in the recording state (public issue 730). * Correct \<unused> tag for elink:VkResult in `vk.xml` (public merge request 746). Internal Issues: * Add a valid usage statement to flink:vkQueueSubmit, and similar language to the definitions of <<synchronization-queue-transfers-acquire, acquire operations>> requiring that an acquire operation follow a previous release of the same subresource (internal issue 1290). * Add <<resources-image-format-features,Image Format Features>> and <<resources-image-view-format-features,Image View Format Features>> sections that precisely define the slink:VkFormatFeatures supported by images and image views, and rewrite valid usage statements to reference these sections instead of duplicating language (internal issue 1310). * Reword and consolidate synchronization valid usage statements for flink:vkCmdPipelineBarrier such that they correctly account for mutiple possible self-dependencies (internal issue 1322). * Change order of <<Standard sample locations>> for 2xMSAA (internal issue 1347). * Add definitions of "`<<Correctly Rounded>>`" and "`<<ULP>>`" in the SPIR-V environment appendix, and "`Units in the Last Place (ULP)`" in the glossary. New Extensions: * `VK_NV_device_diagnostic_checkpoints`
This commit is contained in:
parent
d5fc0a72f3
commit
ff0c233908
2
Makefile
2
Makefile
|
@ -107,7 +107,7 @@ VERBOSE =
|
||||||
# EXTRAATTRIBS sets additional attributes, if passed to make
|
# EXTRAATTRIBS sets additional attributes, if passed to make
|
||||||
# ADOCOPTS options for asciidoc->HTML5 output
|
# ADOCOPTS options for asciidoc->HTML5 output
|
||||||
NOTEOPTS = -a editing-notes -a implementation-guide
|
NOTEOPTS = -a editing-notes -a implementation-guide
|
||||||
PATCHVERSION = 81
|
PATCHVERSION = 82
|
||||||
ifneq (,$(findstring VK_VERSION_1_1,$(VERSIONS)))
|
ifneq (,$(findstring VK_VERSION_1_1,$(VERSIONS)))
|
||||||
SPECREVISION = 1.1.$(PATCHVERSION)
|
SPECREVISION = 1.1.$(PATCHVERSION)
|
||||||
else
|
else
|
||||||
|
|
|
@ -0,0 +1,55 @@
|
||||||
|
include::meta/VK_NV_device_diagnostic_checkpoints.txt[]
|
||||||
|
|
||||||
|
*Last Modified Date*::
|
||||||
|
2018-07-16
|
||||||
|
*Contributors*::
|
||||||
|
- Oleg Kuznetsov, NVIDIA
|
||||||
|
- Alex Dunn, NVIDIA
|
||||||
|
- Jeff Bolz, NVIDIA
|
||||||
|
- Eric Werness, NVIDIA
|
||||||
|
- Daniel Koch, NVIDIA
|
||||||
|
|
||||||
|
|
||||||
|
This extension allows applications to insert markers in the command stream
|
||||||
|
and associate them with custom data.
|
||||||
|
|
||||||
|
If a device lost error occurs, the application may: then query the
|
||||||
|
implementation for the last markers to cross specific implementation-defined
|
||||||
|
pipeline stages, in order to narrow down which commands were executing at
|
||||||
|
the time and might have caused the failure.
|
||||||
|
|
||||||
|
|
||||||
|
=== New Object Types
|
||||||
|
|
||||||
|
None.
|
||||||
|
|
||||||
|
=== New Enum Constants
|
||||||
|
|
||||||
|
Extending slink:VkStructureType:
|
||||||
|
|
||||||
|
* ename:VK_STRUCTURE_TYPE_CHECKPOINT_DATA_NV
|
||||||
|
* ename:VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV
|
||||||
|
|
||||||
|
=== New Enums
|
||||||
|
|
||||||
|
None.
|
||||||
|
|
||||||
|
=== New Structures
|
||||||
|
|
||||||
|
* slink:VkCheckpointDataNV
|
||||||
|
* slink:VkQueueFamilyCheckpointPropertiesNV
|
||||||
|
|
||||||
|
=== New Functions
|
||||||
|
|
||||||
|
* flink:vkCmdSetCheckpointNV
|
||||||
|
* flink:vkGetQueueCheckpointDataNV
|
||||||
|
|
||||||
|
=== Issues
|
||||||
|
|
||||||
|
None yet!
|
||||||
|
|
||||||
|
|
||||||
|
=== Version History
|
||||||
|
|
||||||
|
* Revision 1, 2018-07-16 (Nuno Subtil)
|
||||||
|
- Internal revisions
|
|
@ -1227,6 +1227,14 @@ Uniform Buffer::
|
||||||
A descriptor type that represents a buffer, and supports read-only
|
A descriptor type that represents a buffer, and supports read-only
|
||||||
access in a shader.
|
access in a shader.
|
||||||
|
|
||||||
|
Units in the Last Place (ULP)::
|
||||||
|
A measure of floating-point error loosely defined as the smallest
|
||||||
|
representable step in a floating-point format near a given value.
|
||||||
|
For the precise definition see <<spirvenv-precision-operation, Precision
|
||||||
|
and Operation of SPIR-V instructions>> or Jean-Michel Muller, "On the
|
||||||
|
definition of ulp(x).", RR-5504, INRIA.
|
||||||
|
Other sources may also use the term "unit of least precision".
|
||||||
|
|
||||||
Unnormalized::
|
Unnormalized::
|
||||||
A value that is interpreted according to its conventional
|
A value that is interpreted according to its conventional
|
||||||
interpretation, and is not normalized.
|
interpretation, and is not normalized.
|
||||||
|
|
|
@ -543,6 +543,38 @@ instructions:
|
||||||
|
|
||||||
The precision of double-precision instructions is at least that of single
|
The precision of double-precision instructions is at least that of single
|
||||||
precision.
|
precision.
|
||||||
|
|
||||||
|
The precision of operations is defined either in terms of rounding or as an
|
||||||
|
error bound in ULP, as follows.
|
||||||
|
|
||||||
|
.Correctly Rounded
|
||||||
|
Operations described as "correctly rounded" will return the infinitely
|
||||||
|
precise result, [eq]#x#, rounded so as to be representable in
|
||||||
|
floating-point.
|
||||||
|
The rounding mode used is not defined but if [eq]#x# is exactly
|
||||||
|
representable then [eq]#x# will be returned.
|
||||||
|
Otherwise, either the floating-point value closest to and no less than
|
||||||
|
[eq]#x# or the value closest to and no greater than [eq]#x# will be
|
||||||
|
returned.
|
||||||
|
|
||||||
|
.ULP
|
||||||
|
Where an error bound of [eq]#n# ULP (units in the last place) is given, for
|
||||||
|
an operation with infinitely precise result #x# the value returned must be
|
||||||
|
in the range #[x - n * ulp(x), x + n * ulp(x)]#.
|
||||||
|
The function #ulp(x)# is defined as follows:
|
||||||
|
|
||||||
|
:: If there exist non-equal floating-point numbers #a# and #b# such that
|
||||||
|
[eq]#a {leq} x {leq} b# then #ulp(x)# is the minimum possible distance
|
||||||
|
between such numbers, latexmath:[ulp(x) = \mathrm{min}_{a,b} | b - a |].
|
||||||
|
If such numbers do not exist then #ulp(x)# is defined to be the difference
|
||||||
|
between the two finite floating-point numbers nearest to #x#.
|
||||||
|
|
||||||
|
Where the range of allowed return values includes any value of magnitude
|
||||||
|
larger than that of the largest representable finite floating-point number,
|
||||||
|
operations may return an infinity of the appropriate sign.
|
||||||
|
If the infinitely precise result of the operation is not mathematically
|
||||||
|
defined then the value returned is undefined.
|
||||||
|
|
||||||
For single precision (32 bit) instructions, precisions are required: to be
|
For single precision (32 bit) instructions, precisions are required: to be
|
||||||
at least as follows, unless decorated with RelaxedPrecision:
|
at least as follows, unless decorated with RelaxedPrecision:
|
||||||
|
|
||||||
|
@ -593,7 +625,7 @@ additional functionality beyond what code:OpUMod provides.
|
||||||
|
|
||||||
|
|
||||||
[[spirvenv-image-formats]]
|
[[spirvenv-image-formats]]
|
||||||
.Compatibility Between SPIR-V Image Formats And Vulkan Formats
|
== Compatibility Between SPIR-V Image Formats And Vulkan Formats
|
||||||
|
|
||||||
Images which are read from or written to by shaders must: have SPIR-V image
|
Images which are read from or written to by shaders must: have SPIR-V image
|
||||||
formats compatible with the Vulkan image formats backing the image under the
|
formats compatible with the Vulkan image formats backing the image under the
|
||||||
|
|
|
@ -0,0 +1,94 @@
|
||||||
|
== Device Loss Debugging
|
||||||
|
|
||||||
|
=== Device Diagnostic Checkpoints
|
||||||
|
|
||||||
|
Device execution progress can: be tracked for the purposes of debugging a
|
||||||
|
device loss by annotating the command stream with application-defined
|
||||||
|
diagnostic checkpoints.
|
||||||
|
|
||||||
|
Each diagnostic checkpoint command is executed at two pipeline stages:
|
||||||
|
ename:VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT, and
|
||||||
|
ename:VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT.
|
||||||
|
If the device is lost, the application can: call
|
||||||
|
slink:vkGetQueueCheckpointDataNV to retrieve checkpoint data associated with
|
||||||
|
both pipeline stages, indicating the range of diagnostic checkpoints that
|
||||||
|
are currently in the execution pipeline on the device.
|
||||||
|
|
||||||
|
[open,refpage='vkCmdSetCheckpointNV',desc='insert diagnostic checkpoint in command stream',type='protos']
|
||||||
|
--
|
||||||
|
|
||||||
|
Device diagnostic checkpoints are inserted into the command stream by
|
||||||
|
calling slink:vkCmdSetCheckpointNV.
|
||||||
|
|
||||||
|
include::../../api/protos/vkCmdSetCheckpointNV.txt[]
|
||||||
|
|
||||||
|
* pname:commandBuffer is the command buffer that will receive the marker
|
||||||
|
* pname:pCheckpointMarker is an opaque application-provided value that
|
||||||
|
will be associated with the checkpoint.
|
||||||
|
|
||||||
|
include::../../validity/protos/vkCmdSetCheckpointNV.txt[]
|
||||||
|
--
|
||||||
|
|
||||||
|
Note that pname:pCheckpointMarker is treated as an opaque value.
|
||||||
|
It does not need to be a valid pointer and will not be dereferenced by the
|
||||||
|
implementation.
|
||||||
|
|
||||||
|
[open,refpage='vkGetQueueCheckpointDataNV',desc='retrieve diagnostic checkpoint data',type='protos']
|
||||||
|
--
|
||||||
|
|
||||||
|
If the device encounters an error during execution, the implementation will
|
||||||
|
return a ename:VK_ERROR_DEVICE_LOST error to the application at a certain
|
||||||
|
point during host execution.
|
||||||
|
When this happens, the application can: call
|
||||||
|
slink:vkGetQueueCheckpointDataNV to retrieve information on the most recent
|
||||||
|
diagnostic checkpoints that were executed by the device.
|
||||||
|
|
||||||
|
include::../../api/protos/vkGetQueueCheckpointDataNV.txt[]
|
||||||
|
|
||||||
|
* pname:queue is the elink:VkQueue object the caller would like to retrieve
|
||||||
|
checkpoint data for
|
||||||
|
* pname:pCheckpointDataCount is a pointer to an integer related to the
|
||||||
|
number of checkpoint markers available or queried, as described below.
|
||||||
|
* pname:pCheckpointData is either `NULL` or a pointer to an array of
|
||||||
|
sname:VkCheckpointDataNV structures.
|
||||||
|
|
||||||
|
If pname:pCheckpointData is `NULL`, then the number of checkpoint markers
|
||||||
|
available is returned in pname:pCheckpointDataCount.
|
||||||
|
|
||||||
|
Otherwise, pname:pCheckpointDataCount must: point to a variable set by the
|
||||||
|
user to the number of elements in the pname:pCheckpointData array, and on
|
||||||
|
return the variable is overwritten with the number of structures actually
|
||||||
|
written to pname:pCheckpointData.
|
||||||
|
|
||||||
|
If pname:pCheckpointDataCount is less than the number of checkpoint markers
|
||||||
|
available, at most pname:pCheckpointDataCount structures will be written.
|
||||||
|
|
||||||
|
.Valid Usage
|
||||||
|
****
|
||||||
|
* [[VUID-vkGetQueueCheckpointDataNV-queue-02025]]
|
||||||
|
The device that pname:queue belongs to must: be in the lost state
|
||||||
|
****
|
||||||
|
|
||||||
|
include::../../validity/protos/vkGetQueueCheckpointDataNV.txt[]
|
||||||
|
--
|
||||||
|
|
||||||
|
[open,refpage='VkCheckpointDataNV',desc='return structure for command buffer checkpoint data',type='structs']
|
||||||
|
--
|
||||||
|
The slink:VkCheckpointDataNV structure is defined as:
|
||||||
|
|
||||||
|
include::../../api/structs/VkCheckpointDataNV.txt[]
|
||||||
|
|
||||||
|
* pname:sType is the type of this structure
|
||||||
|
* pname:pNext is `NULL` or a pointer to an extension-specific structure.
|
||||||
|
* pname:stage indicates which pipeline stage the checkpoint marker data
|
||||||
|
refers to.
|
||||||
|
* pname:pCheckpointMarker contains the value of the last checkpoint marker
|
||||||
|
executed in the stage that pname:stage refers to.
|
||||||
|
|
||||||
|
include::../../validity/structs/VkCheckpointDataNV.txt[]
|
||||||
|
|
||||||
|
Note that the stages at which a checkpoint marker can: be executed are
|
||||||
|
implementation-defined and can: be queried by calling
|
||||||
|
slink:vkGetPhysicalDeviceQueueFamilyProperties2.
|
||||||
|
|
||||||
|
--
|
|
@ -0,0 +1,18 @@
|
||||||
|
Additional queue family information can be queried by setting
|
||||||
|
slink:VkQueueFamilyProperties2::pname:pNext to point to an instance of the
|
||||||
|
slink:VkQueueFamilyCheckpointPropertiesNV structure.
|
||||||
|
|
||||||
|
[open,refpage='VkQueueFamilyCheckpointPropertiesNV',desc='return structure for queue family checkpoint info query']
|
||||||
|
--
|
||||||
|
The slink:VkQueueFamilyCheckpointPropertiesNV structure is defined as:
|
||||||
|
|
||||||
|
include::../../api/structs/VkQueueFamilyCheckpointPropertiesNV.txt[]
|
||||||
|
|
||||||
|
* pname:sType is the type of this structure.
|
||||||
|
* pname:pNext is `NULL` or a pointer to an extension-specific structure.
|
||||||
|
* pname:checkpointExecutionStageMask is a mask indicating which pipeline
|
||||||
|
stages the implementation can execute checkpoint markers in.
|
||||||
|
|
||||||
|
include::../../validity/structs/VkQueueFamilyCheckpointPropertiesNV.txt[]
|
||||||
|
|
||||||
|
--
|
|
@ -48,29 +48,11 @@ pname:pColor.
|
||||||
|
|
||||||
.Valid Usage
|
.Valid Usage
|
||||||
****
|
****
|
||||||
ifndef::VK_ANDROID_external_memory_android_hardware_buffer[]
|
|
||||||
ifdef::VK_VERSION_1_1,VK_KHR_maintenance1[]
|
ifdef::VK_VERSION_1_1,VK_KHR_maintenance1[]
|
||||||
* [[VUID-vkCmdClearColorImage-image-00001]]
|
* [[VUID-vkCmdClearColorImage-image-01993]]
|
||||||
pname:image must: use a format that supports
|
The <<resources-image-format-features,format features>> of pname:image
|
||||||
ename:VK_FORMAT_FEATURE_TRANSFER_DST_BIT, which is indicated by
|
must: contain ename:VK_FORMAT_FEATURE_TRANSFER_DST_BIT.
|
||||||
sname:VkFormatProperties::pname:linearTilingFeatures or
|
|
||||||
sname:VkFormatProperties::pname:optimalTilingFeatures returned by
|
|
||||||
fname:vkGetPhysicalDeviceFormatProperties for linearly or optimally
|
|
||||||
tiled images, respectively
|
|
||||||
endif::VK_VERSION_1_1,VK_KHR_maintenance1[]
|
endif::VK_VERSION_1_1,VK_KHR_maintenance1[]
|
||||||
endif::VK_ANDROID_external_memory_android_hardware_buffer[]
|
|
||||||
ifdef::VK_ANDROID_external_memory_android_hardware_buffer[]
|
|
||||||
* [[VUID-vkCmdClearColorImage-image-01935]]
|
|
||||||
pname:image must: use a format that supports
|
|
||||||
ename:VK_FORMAT_FEATURE_TRANSFER_DST_BIT, which is indicated by
|
|
||||||
slink:VkAndroidHardwareBufferFormatPropertiesANDROID::pname:formatFeatures
|
|
||||||
returned by flink:vkGetAndroidHardwareBufferPropertiesANDROID for
|
|
||||||
external format images, or by
|
|
||||||
slink:VkFormatProperties::pname:linearTilingFeatures or
|
|
||||||
slink:VkFormatProperties::pname:optimalTilingFeatures returned by
|
|
||||||
flink:vkGetPhysicalDeviceFormatProperties for non-external format
|
|
||||||
linearly or optimally tiled images, respectively
|
|
||||||
endif::VK_ANDROID_external_memory_android_hardware_buffer[]
|
|
||||||
* [[VUID-vkCmdClearColorImage-image-00002]]
|
* [[VUID-vkCmdClearColorImage-image-00002]]
|
||||||
pname:image must: have been created with
|
pname:image must: have been created with
|
||||||
ename:VK_IMAGE_USAGE_TRANSFER_DST_BIT usage flag
|
ename:VK_IMAGE_USAGE_TRANSFER_DST_BIT usage flag
|
||||||
|
@ -163,29 +145,11 @@ include::../api/protos/vkCmdClearDepthStencilImage.txt[]
|
||||||
|
|
||||||
.Valid Usage
|
.Valid Usage
|
||||||
****
|
****
|
||||||
ifndef::VK_ANDROID_external_memory_android_hardware_buffer[]
|
|
||||||
ifdef::VK_VERSION_1_1,VK_KHR_maintenance1[]
|
ifdef::VK_VERSION_1_1,VK_KHR_maintenance1[]
|
||||||
* [[VUID-vkCmdClearDepthStencilImage-image-00008]]
|
* [[VUID-vkCmdClearDepthStencilImage-image-01994]]
|
||||||
pname:image must: use a format that supports
|
The <<resources-image-format-features,format features>> of pname:image
|
||||||
ename:VK_FORMAT_FEATURE_TRANSFER_DST_BIT, which is indicated by
|
must: contain ename:VK_FORMAT_FEATURE_TRANSFER_DST_BIT.
|
||||||
sname:VkFormatProperties::pname:linearTilingFeatures or
|
|
||||||
sname:VkFormatProperties::pname:optimalTilingFeatures returned by
|
|
||||||
fname:vkGetPhysicalDeviceFormatProperties for linearly or optimally
|
|
||||||
tiled images, respectively
|
|
||||||
endif::VK_VERSION_1_1,VK_KHR_maintenance1[]
|
endif::VK_VERSION_1_1,VK_KHR_maintenance1[]
|
||||||
endif::VK_ANDROID_external_memory_android_hardware_buffer[]
|
|
||||||
ifdef::VK_ANDROID_external_memory_android_hardware_buffer[]
|
|
||||||
* [[VUID-vkCmdClearDepthStencilImage-image-01936]]
|
|
||||||
pname:image must: use a format that supports
|
|
||||||
ename:VK_FORMAT_FEATURE_TRANSFER_DST_BIT, which is indicated by
|
|
||||||
slink:VkAndroidHardwareBufferFormatPropertiesANDROID::pname:formatFeatures
|
|
||||||
returned by flink:vkGetAndroidHardwareBufferPropertiesANDROID for
|
|
||||||
external format images, or by
|
|
||||||
slink:VkFormatProperties::pname:linearTilingFeatures or
|
|
||||||
slink:VkFormatProperties::pname:optimalTilingFeatures returned by
|
|
||||||
flink:vkGetPhysicalDeviceFormatProperties for non-external format
|
|
||||||
linearly or optimally tiled images, respectively
|
|
||||||
endif::VK_ANDROID_external_memory_android_hardware_buffer[]
|
|
||||||
* [[VUID-vkCmdClearDepthStencilImage-image-00009]]
|
* [[VUID-vkCmdClearDepthStencilImage-image-00009]]
|
||||||
pname:image must: have been created with
|
pname:image must: have been created with
|
||||||
ename:VK_IMAGE_USAGE_TRANSFER_DST_BIT usage flag
|
ename:VK_IMAGE_USAGE_TRANSFER_DST_BIT usage flag
|
||||||
|
|
|
@ -1022,6 +1022,16 @@ See <<devsandqueues-lost-device,Lost Device>>.
|
||||||
Each element of the pname:pCommandBuffers member of each element of
|
Each element of the pname:pCommandBuffers member of each element of
|
||||||
pname:pSubmits must: have been allocated from a sname:VkCommandPool that
|
pname:pSubmits must: have been allocated from a sname:VkCommandPool that
|
||||||
was created for the same queue family pname:queue belongs to.
|
was created for the same queue family pname:queue belongs to.
|
||||||
|
* [[VUID-vkQueueSubmit-pCommandBuffers]]
|
||||||
|
If any element of pname:pSubmits->pname:pCommandBuffers includes a
|
||||||
|
<<synchronization-queue-transfers-acquire, Queue Family Transfer Acquire
|
||||||
|
Operation>>, there must: exist a previously submitted
|
||||||
|
<<synchronization-queue-transfers-release, Queue Family Transfer Release
|
||||||
|
Operation>> on a queue in the queue family identified by the acquire
|
||||||
|
operation, with parameters matching the acquire operation as defined in
|
||||||
|
the definition of such <<synchronization-queue-transfers-acquire,
|
||||||
|
acquire operations>>, and which happens before the acquire operation.
|
||||||
|
|
||||||
****
|
****
|
||||||
|
|
||||||
include::../validity/protos/vkQueueSubmit.txt[]
|
include::../validity/protos/vkQueueSubmit.txt[]
|
||||||
|
|
|
@ -45,28 +45,10 @@ endif::VK_KHR_shared_presentable_image[]
|
||||||
destination of a copy, it must: be in the ename:VK_IMAGE_LAYOUT_GENERAL
|
destination of a copy, it must: be in the ename:VK_IMAGE_LAYOUT_GENERAL
|
||||||
layout.
|
layout.
|
||||||
ifdef::VK_VERSION_1_1,VK_KHR_maintenance1[]
|
ifdef::VK_VERSION_1_1,VK_KHR_maintenance1[]
|
||||||
* Source images must: use a format that supports
|
* Source images must: have ename:VK_FORMAT_FEATURE_TRANSFER_SRC_BIT in
|
||||||
ename:VK_FORMAT_FEATURE_TRANSFER_SRC_BIT, which is indicated by
|
their <<resources-image-format-features,format features>>.
|
||||||
ifdef::VK_ANDROID_external_memory_android_hardware_buffer[]
|
* Destination images must: have ename:VK_FORMAT_FEATURE_TRANSFER_DST_BIT
|
||||||
slink:VkAndroidHardwareBufferFormatPropertiesANDROID::pname:formatFeatures
|
in their <<resources-image-format-features,format features>>.
|
||||||
returned by flink:vkGetAndroidHardwareBufferPropertiesANDROID for
|
|
||||||
external format images, or by
|
|
||||||
endif::VK_ANDROID_external_memory_android_hardware_buffer[]
|
|
||||||
sname:VkFormatProperties::pname:linearTilingFeatures or
|
|
||||||
sname:VkFormatProperties::pname:optimalTilingFeatures returned by
|
|
||||||
fname:vkGetPhysicalDeviceFormatProperties for non-external format
|
|
||||||
linearly or optimally tiled images, respectively
|
|
||||||
* Destination images must: use a format that supports
|
|
||||||
ename:VK_FORMAT_FEATURE_TRANSFER_DST_BIT, which is indicated by
|
|
||||||
ifdef::VK_ANDROID_external_memory_android_hardware_buffer[]
|
|
||||||
slink:VkAndroidHardwareBufferFormatPropertiesANDROID::pname:formatFeatures
|
|
||||||
returned by flink:vkGetAndroidHardwareBufferPropertiesANDROID for
|
|
||||||
external format images, or by
|
|
||||||
endif::VK_ANDROID_external_memory_android_hardware_buffer[]
|
|
||||||
sname:VkFormatProperties::pname:linearTilingFeatures or
|
|
||||||
sname:VkFormatProperties::pname:optimalTilingFeatures returned by
|
|
||||||
fname:vkGetPhysicalDeviceFormatProperties for non-external format
|
|
||||||
linearly or optimally tiled images, respectively
|
|
||||||
endif::VK_VERSION_1_1,VK_KHR_maintenance1[]
|
endif::VK_VERSION_1_1,VK_KHR_maintenance1[]
|
||||||
* Source images must: have been created with the
|
* Source images must: have been created with the
|
||||||
ename:VK_IMAGE_USAGE_TRANSFER_SRC_BIT usage bit enabled and destination
|
ename:VK_IMAGE_USAGE_TRANSFER_SRC_BIT usage bit enabled and destination
|
||||||
|
@ -348,29 +330,11 @@ endif::VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion[]
|
||||||
The union of all source regions, and the union of all destination
|
The union of all source regions, and the union of all destination
|
||||||
regions, specified by the elements of pname:pRegions, must: not overlap
|
regions, specified by the elements of pname:pRegions, must: not overlap
|
||||||
in memory
|
in memory
|
||||||
ifndef::VK_ANDROID_external_memory_android_hardware_buffer[]
|
|
||||||
ifdef::VK_VERSION_1_1,VK_KHR_maintenance1[]
|
ifdef::VK_VERSION_1_1,VK_KHR_maintenance1[]
|
||||||
* [[VUID-vkCmdCopyImage-srcImage-00125]]
|
* [[VUID-vkCmdCopyImage-srcImage-01995]]
|
||||||
pname:srcImage must: use a format that supports
|
The <<resources-image-format-features,format features>> of
|
||||||
ename:VK_FORMAT_FEATURE_TRANSFER_SRC_BIT, which is indicated by
|
pname:srcImage must: contain ename:VK_FORMAT_FEATURE_TRANSFER_SRC_BIT.
|
||||||
sname:VkFormatProperties::pname:linearTilingFeatures or
|
|
||||||
sname:VkFormatProperties::pname:optimalTilingFeatures returned by
|
|
||||||
fname:vkGetPhysicalDeviceFormatProperties for linearly or optimally
|
|
||||||
tiled images, respectively
|
|
||||||
endif::VK_VERSION_1_1,VK_KHR_maintenance1[]
|
endif::VK_VERSION_1_1,VK_KHR_maintenance1[]
|
||||||
endif::VK_ANDROID_external_memory_android_hardware_buffer[]
|
|
||||||
ifdef::VK_ANDROID_external_memory_android_hardware_buffer[]
|
|
||||||
* [[VUID-vkCmdCopyImage-srcImage-01938]]
|
|
||||||
pname:srcImage must: use a format that supports
|
|
||||||
ename:VK_FORMAT_FEATURE_TRANSFER_SRC_BIT, which is indicated by
|
|
||||||
slink:VkAndroidHardwareBufferFormatPropertiesANDROID::pname:formatFeatures
|
|
||||||
returned by flink:vkGetAndroidHardwareBufferPropertiesANDROID for
|
|
||||||
external format images, or by
|
|
||||||
slink:VkFormatProperties::pname:linearTilingFeatures or
|
|
||||||
slink:VkFormatProperties::pname:optimalTilingFeatures returned by
|
|
||||||
flink:vkGetPhysicalDeviceFormatProperties for non-external format
|
|
||||||
linearly or optimally tiled images, respectively
|
|
||||||
endif::VK_ANDROID_external_memory_android_hardware_buffer[]
|
|
||||||
* [[VUID-vkCmdCopyImage-srcImage-00126]]
|
* [[VUID-vkCmdCopyImage-srcImage-00126]]
|
||||||
pname:srcImage must: have been created with
|
pname:srcImage must: have been created with
|
||||||
ename:VK_IMAGE_USAGE_TRANSFER_SRC_BIT usage flag
|
ename:VK_IMAGE_USAGE_TRANSFER_SRC_BIT usage flag
|
||||||
|
@ -401,29 +365,11 @@ ifdef::VK_KHR_shared_presentable_image[]
|
||||||
ename:VK_IMAGE_LAYOUT_GENERAL, or
|
ename:VK_IMAGE_LAYOUT_GENERAL, or
|
||||||
ename:VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR
|
ename:VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR
|
||||||
endif::VK_KHR_shared_presentable_image[]
|
endif::VK_KHR_shared_presentable_image[]
|
||||||
ifndef::VK_ANDROID_external_memory_android_hardware_buffer[]
|
|
||||||
ifdef::VK_VERSION_1_1,VK_KHR_maintenance1[]
|
ifdef::VK_VERSION_1_1,VK_KHR_maintenance1[]
|
||||||
* [[VUID-vkCmdCopyImage-dstImage-00130]]
|
* [[VUID-vkCmdCopyImage-dstImage-01996]]
|
||||||
pname:dstImage must: use a format that supports
|
The <<resources-image-format-features,format features>> of
|
||||||
ename:VK_FORMAT_FEATURE_TRANSFER_DST_BIT, which is indicated by
|
pname:dstImage must: contain ename:VK_FORMAT_FEATURE_TRANSFER_DST_BIT.
|
||||||
sname:VkFormatProperties::pname:linearTilingFeatures or
|
|
||||||
sname:VkFormatProperties::pname:optimalTilingFeatures returned by
|
|
||||||
fname:vkGetPhysicalDeviceFormatProperties for linearly or optimally
|
|
||||||
tiled images, respectively
|
|
||||||
endif::VK_VERSION_1_1,VK_KHR_maintenance1[]
|
endif::VK_VERSION_1_1,VK_KHR_maintenance1[]
|
||||||
endif::VK_ANDROID_external_memory_android_hardware_buffer[]
|
|
||||||
ifdef::VK_ANDROID_external_memory_android_hardware_buffer[]
|
|
||||||
* [[VUID-vkCmdCopyImage-dstImage-01939]]
|
|
||||||
pname:dstImage must: use a format that supports
|
|
||||||
ename:VK_FORMAT_FEATURE_TRANSFER_DST_BIT, which is indicated by
|
|
||||||
slink:VkAndroidHardwareBufferFormatPropertiesANDROID::pname:formatFeatures
|
|
||||||
returned by flink:vkGetAndroidHardwareBufferPropertiesANDROID for
|
|
||||||
external format images, or by
|
|
||||||
slink:VkFormatProperties::pname:linearTilingFeatures or
|
|
||||||
slink:VkFormatProperties::pname:optimalTilingFeatures returned by
|
|
||||||
flink:vkGetPhysicalDeviceFormatProperties for non-external format
|
|
||||||
linearly or optimally tiled images, respectively
|
|
||||||
endif::VK_ANDROID_external_memory_android_hardware_buffer[]
|
|
||||||
* [[VUID-vkCmdCopyImage-dstImage-00131]]
|
* [[VUID-vkCmdCopyImage-dstImage-00131]]
|
||||||
pname:dstImage must: have been created with
|
pname:dstImage must: have been created with
|
||||||
ename:VK_IMAGE_USAGE_TRANSFER_DST_BIT usage flag
|
ename:VK_IMAGE_USAGE_TRANSFER_DST_BIT usage flag
|
||||||
|
@ -927,29 +873,11 @@ endif::VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion[]
|
||||||
* [[VUID-vkCmdCopyBufferToImage-srcBuffer-00174]]
|
* [[VUID-vkCmdCopyBufferToImage-srcBuffer-00174]]
|
||||||
pname:srcBuffer must: have been created with
|
pname:srcBuffer must: have been created with
|
||||||
ename:VK_BUFFER_USAGE_TRANSFER_SRC_BIT usage flag
|
ename:VK_BUFFER_USAGE_TRANSFER_SRC_BIT usage flag
|
||||||
ifndef::VK_ANDROID_external_memory_android_hardware_buffer[]
|
|
||||||
ifdef::VK_VERSION_1_1,VK_KHR_maintenance1[]
|
ifdef::VK_VERSION_1_1,VK_KHR_maintenance1[]
|
||||||
* [[VUID-vkCmdCopyBufferToImage-dstImage-00175]]
|
* [[VUID-vkCmdCopyBufferToImage-dstImage-01997]]
|
||||||
pname:dstImage must: use a format that supports
|
The <<resources-image-format-features,format features>> of
|
||||||
ename:VK_FORMAT_FEATURE_TRANSFER_DST_BIT, which is indicated by
|
pname:dstImage must: contain ename:VK_FORMAT_FEATURE_TRANSFER_DST_BIT.
|
||||||
sname:VkFormatProperties::pname:linearTilingFeatures or
|
|
||||||
sname:VkFormatProperties::pname:optimalTilingFeatures returned by
|
|
||||||
fname:vkGetPhysicalDeviceFormatProperties for linearly or optimally
|
|
||||||
tiled images, respectively
|
|
||||||
endif::VK_VERSION_1_1,VK_KHR_maintenance1[]
|
endif::VK_VERSION_1_1,VK_KHR_maintenance1[]
|
||||||
endif::VK_ANDROID_external_memory_android_hardware_buffer[]
|
|
||||||
ifdef::VK_ANDROID_external_memory_android_hardware_buffer[]
|
|
||||||
* [[VUID-vkCmdCopyBufferToImage-dstImage-01940]]
|
|
||||||
pname:dstImage must: use a format that supports
|
|
||||||
ename:VK_FORMAT_FEATURE_TRANSFER_DST_BIT, which is indicated by
|
|
||||||
slink:VkAndroidHardwareBufferFormatPropertiesANDROID::pname:formatFeatures
|
|
||||||
returned by flink:vkGetAndroidHardwareBufferPropertiesANDROID for
|
|
||||||
external format images, or by
|
|
||||||
slink:VkFormatProperties::pname:linearTilingFeatures or
|
|
||||||
slink:VkFormatProperties::pname:optimalTilingFeatures returned by
|
|
||||||
flink:vkGetPhysicalDeviceFormatProperties for non-external format
|
|
||||||
linearly or optimally tiled images, respectively
|
|
||||||
endif::VK_ANDROID_external_memory_android_hardware_buffer[]
|
|
||||||
* [[VUID-vkCmdCopyBufferToImage-srcBuffer-00176]]
|
* [[VUID-vkCmdCopyBufferToImage-srcBuffer-00176]]
|
||||||
If pname:srcBuffer is non-sparse then it must: be bound completely and
|
If pname:srcBuffer is non-sparse then it must: be bound completely and
|
||||||
contiguously to a single sname:VkDeviceMemory object
|
contiguously to a single sname:VkDeviceMemory object
|
||||||
|
@ -1065,29 +993,11 @@ endif::VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion[]
|
||||||
The union of all source regions, and the union of all destination
|
The union of all source regions, and the union of all destination
|
||||||
regions, specified by the elements of pname:pRegions, must: not overlap
|
regions, specified by the elements of pname:pRegions, must: not overlap
|
||||||
in memory
|
in memory
|
||||||
ifndef::VK_ANDROID_external_memory_android_hardware_buffer[]
|
|
||||||
ifdef::VK_VERSION_1_1,VK_KHR_maintenance1[]
|
ifdef::VK_VERSION_1_1,VK_KHR_maintenance1[]
|
||||||
* [[VUID-vkCmdCopyImageToBuffer-srcImage-00185]]
|
* [[VUID-vkCmdCopyImageToBuffer-srcImage-01998]]
|
||||||
pname:srcImage must: use a format that supports
|
The <<resources-image-format-features,format features>> of
|
||||||
ename:VK_FORMAT_FEATURE_TRANSFER_SRC_BIT, which is indicated by
|
pname:srcImage must: contain ename:VK_FORMAT_FEATURE_TRANSFER_SRC_BIT.
|
||||||
sname:VkFormatProperties::pname:linearTilingFeatures or
|
|
||||||
sname:VkFormatProperties::pname:optimalTilingFeatures returned by
|
|
||||||
fname:vkGetPhysicalDeviceFormatProperties for linearly or optimally
|
|
||||||
tiled images, respectively
|
|
||||||
endif::VK_VERSION_1_1,VK_KHR_maintenance1[]
|
endif::VK_VERSION_1_1,VK_KHR_maintenance1[]
|
||||||
endif::VK_ANDROID_external_memory_android_hardware_buffer[]
|
|
||||||
ifdef::VK_ANDROID_external_memory_android_hardware_buffer[]
|
|
||||||
* [[VUID-vkCmdCopyImageToBuffer-srcImage-01941]]
|
|
||||||
pname:srcImage must: use a format that supports
|
|
||||||
ename:VK_FORMAT_FEATURE_TRANSFER_SRC_BIT, which is indicated by
|
|
||||||
slink:VkAndroidHardwareBufferFormatPropertiesANDROID::pname:formatFeatures
|
|
||||||
returned by flink:vkGetAndroidHardwareBufferPropertiesANDROID for
|
|
||||||
external format images, or by
|
|
||||||
slink:VkFormatProperties::pname:linearTilingFeatures or
|
|
||||||
slink:VkFormatProperties::pname:optimalTilingFeatures returned by
|
|
||||||
flink:vkGetPhysicalDeviceFormatProperties for non-external format
|
|
||||||
linearly or optimally tiled images, respectively
|
|
||||||
endif::VK_ANDROID_external_memory_android_hardware_buffer[]
|
|
||||||
* [[VUID-vkCmdCopyImageToBuffer-srcImage-00186]]
|
* [[VUID-vkCmdCopyImageToBuffer-srcImage-00186]]
|
||||||
pname:srcImage must: have been created with
|
pname:srcImage must: have been created with
|
||||||
ename:VK_IMAGE_USAGE_TRANSFER_SRC_BIT usage flag
|
ename:VK_IMAGE_USAGE_TRANSFER_SRC_BIT usage flag
|
||||||
|
@ -1599,27 +1509,9 @@ representable range of the destination format, then casting the value.
|
||||||
The union of all destination regions, specified by the elements of
|
The union of all destination regions, specified by the elements of
|
||||||
pname:pRegions, must: not overlap in memory with any texel that may: be
|
pname:pRegions, must: not overlap in memory with any texel that may: be
|
||||||
sampled during the blit operation
|
sampled during the blit operation
|
||||||
ifndef::VK_ANDROID_external_memory_android_hardware_buffer[]
|
* [[VUID-vkCmdBlitImage-srcImage-01999]]
|
||||||
* [[VUID-vkCmdBlitImage-srcImage-00218]]
|
The <<resources-image-format-features,format features>> of
|
||||||
pname:srcImage must: use a format that supports
|
pname:srcImage must: contain ename:VK_FORMAT_FEATURE_BLIT_SRC_BIT.
|
||||||
ename:VK_FORMAT_FEATURE_BLIT_SRC_BIT, which is indicated by
|
|
||||||
sname:VkFormatProperties::pname:linearTilingFeatures or
|
|
||||||
sname:VkFormatProperties::pname:optimalTilingFeatures returned by
|
|
||||||
fname:vkGetPhysicalDeviceFormatProperties for linearly or optimally
|
|
||||||
tiled images, respectively
|
|
||||||
endif::VK_ANDROID_external_memory_android_hardware_buffer[]
|
|
||||||
ifdef::VK_ANDROID_external_memory_android_hardware_buffer[]
|
|
||||||
* [[VUID-vkCmdBlitImage-srcImage-01942]]
|
|
||||||
pname:srcImage must: use a format that supports
|
|
||||||
ename:VK_FORMAT_FEATURE_TRANSFER_SRC_BIT, which is indicated by
|
|
||||||
slink:VkAndroidHardwareBufferFormatPropertiesANDROID::pname:formatFeatures
|
|
||||||
returned by flink:vkGetAndroidHardwareBufferPropertiesANDROID for
|
|
||||||
external format images, or by
|
|
||||||
slink:VkFormatProperties::pname:linearTilingFeatures or
|
|
||||||
slink:VkFormatProperties::pname:optimalTilingFeatures returned by
|
|
||||||
flink:vkGetPhysicalDeviceFormatProperties for non-external format
|
|
||||||
linearly or optimally tiled images, respectively
|
|
||||||
endif::VK_ANDROID_external_memory_android_hardware_buffer[]
|
|
||||||
ifdef::VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion[]
|
ifdef::VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion[]
|
||||||
* [[VUID-vkCmdBlitImage-srcImage-01561]]
|
* [[VUID-vkCmdBlitImage-srcImage-01561]]
|
||||||
pname:srcImage must: not use a format listed in
|
pname:srcImage must: not use a format listed in
|
||||||
|
@ -1646,27 +1538,9 @@ ifdef::VK_KHR_shared_presentable_image[]
|
||||||
ename:VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL or
|
ename:VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL or
|
||||||
ename:VK_IMAGE_LAYOUT_GENERAL
|
ename:VK_IMAGE_LAYOUT_GENERAL
|
||||||
endif::VK_KHR_shared_presentable_image[]
|
endif::VK_KHR_shared_presentable_image[]
|
||||||
ifndef::VK_ANDROID_external_memory_android_hardware_buffer[]
|
* [[VUID-vkCmdBlitImage-dstImage-02000]]
|
||||||
* [[VUID-vkCmdBlitImage-dstImage-00223]]
|
The <<resources-image-format-features,format features>> of
|
||||||
pname:dstImage must: use a format that supports
|
pname:dstImage must: contain ename:VK_FORMAT_FEATURE_BLIT_DST_BIT.
|
||||||
ename:VK_FORMAT_FEATURE_BLIT_DST_BIT, which is indicated by
|
|
||||||
sname:VkFormatProperties::pname:linearTilingFeatures or
|
|
||||||
sname:VkFormatProperties::pname:optimalTilingFeatures returned by
|
|
||||||
fname:vkGetPhysicalDeviceFormatProperties for linearly or optimally
|
|
||||||
tiled images, respectively
|
|
||||||
endif::VK_ANDROID_external_memory_android_hardware_buffer[]
|
|
||||||
ifdef::VK_ANDROID_external_memory_android_hardware_buffer[]
|
|
||||||
* [[VUID-vkCmdBlitImage-dstImage-01943]]
|
|
||||||
pname:dstImage must: use a format that supports
|
|
||||||
ename:VK_FORMAT_FEATURE_TRANSFER_DST_BIT, which is indicated by
|
|
||||||
slink:VkAndroidHardwareBufferFormatPropertiesANDROID::pname:formatFeatures
|
|
||||||
returned by flink:vkGetAndroidHardwareBufferPropertiesANDROID for
|
|
||||||
external format images, or by
|
|
||||||
slink:VkFormatProperties::pname:linearTilingFeatures or
|
|
||||||
slink:VkFormatProperties::pname:optimalTilingFeatures returned by
|
|
||||||
flink:vkGetPhysicalDeviceFormatProperties for non-external format
|
|
||||||
linearly or optimally tiled images, respectively
|
|
||||||
endif::VK_ANDROID_external_memory_android_hardware_buffer[]
|
|
||||||
ifdef::VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion[]
|
ifdef::VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion[]
|
||||||
* [[VUID-vkCmdBlitImage-dstImage-01562]]
|
* [[VUID-vkCmdBlitImage-dstImage-01562]]
|
||||||
pname:dstImage must: not use a format listed in
|
pname:dstImage must: not use a format listed in
|
||||||
|
@ -1716,53 +1590,16 @@ endif::VK_KHR_shared_presentable_image[]
|
||||||
* [[VUID-vkCmdBlitImage-dstImage-00234]]
|
* [[VUID-vkCmdBlitImage-dstImage-00234]]
|
||||||
pname:dstImage must: have been created with a pname:samples value of
|
pname:dstImage must: have been created with a pname:samples value of
|
||||||
ename:VK_SAMPLE_COUNT_1_BIT
|
ename:VK_SAMPLE_COUNT_1_BIT
|
||||||
ifndef::VK_ANDROID_external_memory_android_hardware_buffer[]
|
* [[VUID-vkCmdBlitImage-filter-02001]]
|
||||||
* [[VUID-vkCmdBlitImage-filter-00235]]
|
If pname:filter is ename:VK_FILTER_LINEAR, then the
|
||||||
If pname:filter is ename:VK_FILTER_LINEAR, pname:srcImage must: be of a
|
<<resources-image-format-features,format features>> of pname:srcImage
|
||||||
format which supports linear filtering, as specified by the
|
must: contain ename:VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT.
|
||||||
ename:VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT flag in
|
|
||||||
sname:VkFormatProperties::pname:linearTilingFeatures or
|
|
||||||
sname:VkFormatProperties::pname:optimalTilingFeatures returned by
|
|
||||||
fname:vkGetPhysicalDeviceFormatProperties for linearly or optimally
|
|
||||||
tiled images, respectively
|
|
||||||
endif::VK_ANDROID_external_memory_android_hardware_buffer[]
|
|
||||||
ifdef::VK_ANDROID_external_memory_android_hardware_buffer[]
|
|
||||||
* [[VUID-vkCmdBlitImage-filter-01944]]
|
|
||||||
If pname:filter is ename:VK_FILTER_LINEAR, pname:srcImage must: be of a
|
|
||||||
format which supports linear filtering, as specified by the
|
|
||||||
ename:VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT flag in
|
|
||||||
slink:VkAndroidHardwareBufferFormatPropertiesANDROID::pname:formatFeatures
|
|
||||||
returned by flink:vkGetAndroidHardwareBufferPropertiesANDROID for
|
|
||||||
external format images, or by
|
|
||||||
slink:VkFormatProperties::pname:linearTilingFeatures or
|
|
||||||
slink:VkFormatProperties::pname:optimalTilingFeatures returned by
|
|
||||||
flink:vkGetPhysicalDeviceFormatProperties for non-external format
|
|
||||||
linearly or optimally tiled images, respectively
|
|
||||||
endif::VK_ANDROID_external_memory_android_hardware_buffer[]
|
|
||||||
ifdef::VK_IMG_filter_cubic[]
|
ifdef::VK_IMG_filter_cubic[]
|
||||||
ifndef::VK_ANDROID_external_memory_android_hardware_buffer[]
|
* [[VUID-vkCmdBlitImage-filter-02002]]
|
||||||
* [[VUID-vkCmdBlitImage-filter-00236]]
|
If pname:filter is ename:VK_FILTER_CUBIC_IMG, then the
|
||||||
If pname:filter is ename:VK_FILTER_CUBIC_IMG, pname:srcImage must: be of
|
<<resources-image-format-features,format features>> of pname:srcImage
|
||||||
a format which supports cubic filtering, as specified by the
|
must: contain
|
||||||
ename:VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG flag in
|
ename:VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG.
|
||||||
sname:VkFormatProperties::pname:linearTilingFeatures or
|
|
||||||
sname:VkFormatProperties::pname:optimalTilingFeatures returned by
|
|
||||||
fname:vkGetPhysicalDeviceFormatProperties for linearly or optimally
|
|
||||||
tiled images, respectively
|
|
||||||
endif::VK_ANDROID_external_memory_android_hardware_buffer[]
|
|
||||||
ifdef::VK_ANDROID_external_memory_android_hardware_buffer[]
|
|
||||||
* [[VUID-vkCmdBlitImage-filter-01945]]
|
|
||||||
If pname:filter is ename:VK_FILTER_CUBIC_IMG, pname:srcImage must: be of
|
|
||||||
a format which supports cubic filtering, as specified by the
|
|
||||||
ename:VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG flag in
|
|
||||||
slink:VkAndroidHardwareBufferFormatPropertiesANDROID::pname:formatFeatures
|
|
||||||
returned byflink:vkGetAndroidHardwareBufferPropertiesANDROID for
|
|
||||||
external format images, or by
|
|
||||||
slink:VkFormatProperties::pname:linearTilingFeatures or
|
|
||||||
slink:VkFormatProperties::pname:optimalTilingFeatures returned by
|
|
||||||
flink:vkGetPhysicalDeviceFormatProperties for non-external format
|
|
||||||
linearly or optimally tiled images, respectively
|
|
||||||
endif::VK_ANDROID_external_memory_android_hardware_buffer[]
|
|
||||||
* [[VUID-vkCmdBlitImage-filter-00237]]
|
* [[VUID-vkCmdBlitImage-filter-00237]]
|
||||||
If pname:filter is ename:VK_FILTER_CUBIC_IMG, pname:srcImage must: have
|
If pname:filter is ename:VK_FILTER_CUBIC_IMG, pname:srcImage must: have
|
||||||
a elink:VkImageType of ename:VK_IMAGE_TYPE_2D
|
a elink:VkImageType of ename:VK_IMAGE_TYPE_2D
|
||||||
|
@ -1980,20 +1817,10 @@ ifdef::VK_KHR_shared_presentable_image[]
|
||||||
ename:VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL or
|
ename:VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL or
|
||||||
ename:VK_IMAGE_LAYOUT_GENERAL
|
ename:VK_IMAGE_LAYOUT_GENERAL
|
||||||
endif::VK_KHR_shared_presentable_image[]
|
endif::VK_KHR_shared_presentable_image[]
|
||||||
* [[VUID-vkCmdResolveImage-dstImage-00264]]
|
* [[VUID-vkCmdResolveImage-dstImage-02003]]
|
||||||
If pname:dstImage was created with pname:tiling equal to
|
The <<resources-image-format-features,format features>> of
|
||||||
ename:VK_IMAGE_TILING_LINEAR, pname:dstImage must: have been created
|
pname:dstImage must: contain
|
||||||
with a pname:format that supports being a color attachment, as specified
|
ename:VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT.
|
||||||
by the ename:VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT flag in
|
|
||||||
sname:VkFormatProperties::pname:linearTilingFeatures returned by
|
|
||||||
fname:vkGetPhysicalDeviceFormatProperties
|
|
||||||
* [[VUID-vkCmdResolveImage-dstImage-00265]]
|
|
||||||
If pname:dstImage was created with pname:tiling equal to
|
|
||||||
ename:VK_IMAGE_TILING_OPTIMAL, pname:dstImage must: have been created
|
|
||||||
with a pname:format that supports being a color attachment, as specified
|
|
||||||
by the ename:VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT flag in
|
|
||||||
sname:VkFormatProperties::pname:optimalTilingFeatures returned by
|
|
||||||
fname:vkGetPhysicalDeviceFormatProperties
|
|
||||||
* [[VUID-vkCmdResolveImage-srcImage-01386]]
|
* [[VUID-vkCmdResolveImage-srcImage-01386]]
|
||||||
pname:srcImage and pname:dstImage must: have been created with the same
|
pname:srcImage and pname:dstImage must: have been created with the same
|
||||||
image format
|
image format
|
||||||
|
|
|
@ -86,3 +86,7 @@ endif::VK_EXT_debug_marker[]
|
||||||
ifdef::VK_EXT_debug_report[]
|
ifdef::VK_EXT_debug_report[]
|
||||||
include::VK_EXT_debug_report.txt[]
|
include::VK_EXT_debug_report.txt[]
|
||||||
endif::VK_EXT_debug_report[]
|
endif::VK_EXT_debug_report[]
|
||||||
|
|
||||||
|
ifdef::VK_NV_device_diagnostic_checkpoints[]
|
||||||
|
include::VK_NV_device_diagnostic_checkpoints/device_diagnostic_checkpoints.txt[]
|
||||||
|
endif::VK_NV_device_diagnostic_checkpoints[]
|
||||||
|
|
|
@ -32,7 +32,7 @@ corresponding to different resources or usage.
|
||||||
The following sections describe the API definitions of each descriptor type.
|
The following sections describe the API definitions of each descriptor type.
|
||||||
The mapping of each type to SPIR-V is listed in the
|
The mapping of each type to SPIR-V is listed in the
|
||||||
<<interfaces-resources-correspondence, Shader Resource and Descriptor Type
|
<<interfaces-resources-correspondence, Shader Resource and Descriptor Type
|
||||||
Correspondence>> and <<interfaces-resources-storage-class-correspondence
|
Correspondence>> and <<interfaces-resources-storage-class-correspondence,
|
||||||
Shader Resource and Storage Class Correspondence>> tables in the
|
Shader Resource and Storage Class Correspondence>> tables in the
|
||||||
<<interfaces, Shader Interfaces>> chapter.
|
<<interfaces, Shader Interfaces>> chapter.
|
||||||
|
|
||||||
|
@ -45,28 +45,18 @@ type associated with an <<resources-images, image resource>> via an
|
||||||
<<resources-image-views, image view>> that load, store, and atomic
|
<<resources-image-views, image view>> that load, store, and atomic
|
||||||
operations can: be performed on.
|
operations can: be performed on.
|
||||||
|
|
||||||
Storage image loads are supported in all shader stages for image formats
|
Storage image loads are supported in all shader stages for image views whose
|
||||||
which report support for the
|
<<resources-image-view-format-features,format features>> contain
|
||||||
<<features-formats-properties,ename:VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT>>
|
<<features-formats-properties,ename:VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT>>.
|
||||||
feature bit via flink:vkGetPhysicalDeviceFormatProperties in
|
|
||||||
slink:VkFormatProperties::pname:linearTilingFeatures (for images with linear
|
|
||||||
tiling) or slink:VkFormatProperties::pname:optimalTilingFeatures (for images
|
|
||||||
with optimal tiling).
|
|
||||||
|
|
||||||
Stores to storage images are supported in compute shaders for image formats
|
Stores to storage images are supported in compute shaders for image views
|
||||||
which report support for the ename:VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT
|
whose <<resources-image-view-format-features,format features>> contain
|
||||||
feature via flink:vkGetPhysicalDeviceFormatProperties in
|
<<features-formats-properties,ename:VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT>>.
|
||||||
slink:VkFormatProperties::pname:linearTilingFeatures (for images with linear
|
|
||||||
tiling) or slink:VkFormatProperties::pname:optimalTilingFeatures (for images
|
|
||||||
with optimal tiling).
|
|
||||||
|
|
||||||
Atomic operations on storage images are supported in compute shaders for
|
Atomic operations on storage images are supported in compute shaders for
|
||||||
image formats which report support for the
|
image views whose <<resources-image-view-format-features,format features>>
|
||||||
<<features-formats-properties,ename:VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT>>
|
contain
|
||||||
feature via flink:vkGetPhysicalDeviceFormatProperties in
|
<<features-formats-properties,ename:VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT>>.
|
||||||
slink:VkFormatProperties::pname:linearTilingFeatures (for images with linear
|
|
||||||
tiling) or slink:VkFormatProperties::pname:optimalTilingFeatures (for images
|
|
||||||
with optimal tiling).
|
|
||||||
|
|
||||||
When the <<features-features-fragmentStoresAndAtomics,
|
When the <<features-features-fragmentStoresAndAtomics,
|
||||||
pname:fragmentStoresAndAtomics>> feature is enabled, stores and atomic
|
pname:fragmentStoresAndAtomics>> feature is enabled, stores and atomic
|
||||||
|
@ -105,13 +95,9 @@ can: be performed on.
|
||||||
Shaders combine a sampled image variable and a sampler variable to perform
|
Shaders combine a sampled image variable and a sampler variable to perform
|
||||||
sampling operations.
|
sampling operations.
|
||||||
|
|
||||||
Sampled images are supported in all shader stages for image formats which
|
Sampled images are supported in all shader stages for image views whose
|
||||||
report support for the
|
<<resources-image-view-format-features,format features>> contain
|
||||||
<<features-formats-properties,ename:VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT>>
|
<<features-formats-properties,ename:VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT>>.
|
||||||
feature bit via flink:vkGetPhysicalDeviceFormatProperties in
|
|
||||||
slink:VkFormatProperties::pname:linearTilingFeatures (for images with linear
|
|
||||||
tiling) or slink:VkFormatProperties::pname:optimalTilingFeatures (for images
|
|
||||||
with optimal tiling).
|
|
||||||
|
|
||||||
The image subresources for a sampled image must: be in the
|
The image subresources for a sampled image must: be in the
|
||||||
ifdef::VK_KHR_shared_presentable_image[]
|
ifdef::VK_KHR_shared_presentable_image[]
|
||||||
|
@ -1603,6 +1589,11 @@ include::../api/protos/vkDestroyPipelineLayout.txt[]
|
||||||
* [[VUID-vkDestroyPipelineLayout-pipelineLayout-00300]]
|
* [[VUID-vkDestroyPipelineLayout-pipelineLayout-00300]]
|
||||||
If no sname:VkAllocationCallbacks were provided when
|
If no sname:VkAllocationCallbacks were provided when
|
||||||
pname:pipelineLayout was created, pname:pAllocator must: be `NULL`
|
pname:pipelineLayout was created, pname:pAllocator must: be `NULL`
|
||||||
|
* [[VUID-vkDestroyPipelineLayout-pipelineLayout-02004]]
|
||||||
|
pname:pipelineLayout must: not have been passed to any vkCmd* command
|
||||||
|
for any command buffers that are still in the
|
||||||
|
<<commandbuffers-lifecycle, recording state>> when
|
||||||
|
fname:vkDestroyPipelineLayout is called
|
||||||
****
|
****
|
||||||
|
|
||||||
include::../validity/protos/vkDestroyPipelineLayout.txt[]
|
include::../validity/protos/vkDestroyPipelineLayout.txt[]
|
||||||
|
|
|
@ -618,8 +618,11 @@ endif::VK_KHR_get_physical_device_properties2[]
|
||||||
include::../validity/structs/VkQueueFamilyProperties2.txt[]
|
include::../validity/structs/VkQueueFamilyProperties2.txt[]
|
||||||
--
|
--
|
||||||
|
|
||||||
endif::VK_VERSION_1_1,VK_KHR_get_physical_device_properties2[]
|
ifdef::VK_NV_device_diagnostic_checkpoints[]
|
||||||
|
include::VK_NV_device_diagnostic_checkpoints/queue_checkpoint_properties.txt[]
|
||||||
|
endif::VK_NV_device_diagnostic_checkpoints[]
|
||||||
|
|
||||||
|
endif::VK_VERSION_1_1,VK_KHR_get_physical_device_properties2[]
|
||||||
|
|
||||||
[[devsandqueues-devices]]
|
[[devsandqueues-devices]]
|
||||||
== Devices
|
== Devices
|
||||||
|
|
|
@ -99,57 +99,17 @@ is assembled.
|
||||||
object bound to ename:VK_PIPELINE_BIND_POINT_COMPUTE accesses a storage
|
object bound to ename:VK_PIPELINE_BIND_POINT_COMPUTE accesses a storage
|
||||||
buffer, it must: not access values outside of the range of that buffer
|
buffer, it must: not access values outside of the range of that buffer
|
||||||
specified in the bound descriptor set
|
specified in the bound descriptor set
|
||||||
ifndef::VK_ANDROID_external_memory_android_hardware_buffer[]
|
* [[VUID-vkCmdDispatch-None-02005]]
|
||||||
* [[VUID-vkCmdDispatch-linearTilingFeatures-00398]]
|
If a sname:VkImageView is sampled with with ename:VK_FILTER_LINEAR as a
|
||||||
Any sname:VkImageView being sampled with ename:VK_FILTER_LINEAR as a
|
result of this command, then the image view's
|
||||||
result of this command must: be of a format which supports linear
|
<<resources-image-view-format-features,format features>> must: contain
|
||||||
filtering, as specified by the
|
ename:VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT.
|
||||||
ename:VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT flag in
|
|
||||||
sname:VkFormatProperties::pname:linearTilingFeatures or
|
|
||||||
sname:VkFormatProperties::pname:optimalTilingFeatures returned by
|
|
||||||
fname:vkGetPhysicalDeviceFormatProperties for linearly or optimally
|
|
||||||
tiled images, respectively
|
|
||||||
endif::VK_ANDROID_external_memory_android_hardware_buffer[]
|
|
||||||
ifdef::VK_ANDROID_external_memory_android_hardware_buffer[]
|
|
||||||
* [[VUID-vkCmdDispatch-formatFeatures-01949]]
|
|
||||||
Any sname:VkImageView being sampled with ename:VK_FILTER_LINEAR as a
|
|
||||||
result of this command must: be of a format which supports linear
|
|
||||||
filtering, as specified by the
|
|
||||||
ename:VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT flag in
|
|
||||||
slink:VkAndroidHardwareBufferFormatPropertiesANDROID::pname:formatFeatures
|
|
||||||
returned by flink:vkGetAndroidHardwareBufferPropertiesANDROID for
|
|
||||||
external format images, or by
|
|
||||||
slink:VkFormatProperties::pname:linearTilingFeatures or
|
|
||||||
slink:VkFormatProperties::pname:optimalTilingFeatures returned by
|
|
||||||
flink:vkGetPhysicalDeviceFormatProperties for non-external format
|
|
||||||
linearly or optimally tiled images, respectively
|
|
||||||
endif::VK_ANDROID_external_memory_android_hardware_buffer[]
|
|
||||||
ifdef::VK_IMG_filter_cubic[]
|
ifdef::VK_IMG_filter_cubic[]
|
||||||
ifndef::VK_ANDROID_external_memory_android_hardware_buffer[]
|
* [[VUID-vkCmdDispatch-None-02006]]
|
||||||
* [[VUID-vkCmdDispatch-linearTilingFeatures-00399]]
|
If a sname:VkImageView is sampled with with ename:VK_FILTER_CUBIC_IMG as
|
||||||
Any slink:VkImageView being sampled with ename:VK_FILTER_CUBIC_IMG as a
|
a result of this command, then the image view's
|
||||||
result of this command must: be of a format which supports cubic
|
<<resources-image-view-format-features,format features>> must: contain
|
||||||
filtering, as specified by the
|
ename:VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG.
|
||||||
ename:VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG flag in
|
|
||||||
sname:VkFormatProperties::pname:linearTilingFeatures or
|
|
||||||
sname:VkFormatProperties::pname:optimalTilingFeatures returned by
|
|
||||||
fname:vkGetPhysicalDeviceFormatProperties for linearly or optimally
|
|
||||||
tiled images, respectively
|
|
||||||
endif::VK_ANDROID_external_memory_android_hardware_buffer[]
|
|
||||||
ifdef::VK_ANDROID_external_memory_android_hardware_buffer[]
|
|
||||||
* [[VUID-vkCmdDispatch-formatFeatures-01950]]
|
|
||||||
Any slink:VkImageView being sampled with ename:VK_FILTER_CUBIC_IMG as a
|
|
||||||
result of this command must: be of a format which supports cubic
|
|
||||||
filtering, as specified by the
|
|
||||||
ename:VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG flag in
|
|
||||||
slink:VkAndroidHardwareBufferFormatPropertiesANDROID::pname:formatFeatures
|
|
||||||
returned by flink:vkGetAndroidHardwareBufferPropertiesANDROID for
|
|
||||||
external format images, or by
|
|
||||||
slink:VkFormatProperties::pname:linearTilingFeatures or
|
|
||||||
slink:VkFormatProperties::pname:optimalTilingFeatures returned by
|
|
||||||
flink:vkGetPhysicalDeviceFormatProperties for non-external format
|
|
||||||
linearly or optimally tiled images, respectively
|
|
||||||
endif::VK_ANDROID_external_memory_android_hardware_buffer[]
|
|
||||||
* [[VUID-vkCmdDispatch-None-00400]]
|
* [[VUID-vkCmdDispatch-None-00400]]
|
||||||
Any slink:VkImageView being sampled with ename:VK_FILTER_CUBIC_IMG as a
|
Any slink:VkImageView being sampled with ename:VK_FILTER_CUBIC_IMG as a
|
||||||
result of this command must: not have a elink:VkImageViewType of
|
result of this command must: not have a elink:VkImageViewType of
|
||||||
|
@ -267,57 +227,17 @@ at pname:offset.
|
||||||
object bound to ename:VK_PIPELINE_BIND_POINT_COMPUTE accesses a storage
|
object bound to ename:VK_PIPELINE_BIND_POINT_COMPUTE accesses a storage
|
||||||
buffer, it must: not access values outside of the range of that buffer
|
buffer, it must: not access values outside of the range of that buffer
|
||||||
specified in the bound descriptor set
|
specified in the bound descriptor set
|
||||||
ifndef::VK_ANDROID_external_memory_android_hardware_buffer[]
|
* [[VUID-vkCmdDispatchIndirect-None-02007]]
|
||||||
* [[VUID-vkCmdDispatchIndirect-linearTilingFeatures-00414]]
|
If a sname:VkImageView is sampled with with ename:VK_FILTER_LINEAR as a
|
||||||
Any sname:VkImageView being sampled with ename:VK_FILTER_LINEAR as a
|
result of this command, then the image view's
|
||||||
result of this command must: be of a format which supports linear
|
<<resources-image-view-format-features,format features>> must: contain
|
||||||
filtering, as specified by the
|
ename:VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT.
|
||||||
ename:VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT flag in
|
|
||||||
sname:VkFormatProperties::pname:linearTilingFeatures or
|
|
||||||
sname:VkFormatProperties::pname:optimalTilingFeatures returned by
|
|
||||||
fname:vkGetPhysicalDeviceFormatProperties for linearly or optimally
|
|
||||||
tiled images, respectively
|
|
||||||
endif::VK_ANDROID_external_memory_android_hardware_buffer[]
|
|
||||||
ifdef::VK_ANDROID_external_memory_android_hardware_buffer[]
|
|
||||||
* [[VUID-vkCmdDispatchIndirect-formatFeatures-01951]]
|
|
||||||
Any sname:VkImageView being sampled with ename:VK_FILTER_LINEAR as a
|
|
||||||
result of this command must: be of a format which supports linear
|
|
||||||
filtering, as specified by the
|
|
||||||
ename:VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT flag in
|
|
||||||
slink:VkAndroidHardwareBufferFormatPropertiesANDROID::pname:formatFeatures
|
|
||||||
returned by flink:vkGetAndroidHardwareBufferPropertiesANDROID for
|
|
||||||
external format images, or by
|
|
||||||
slink:VkFormatProperties::pname:linearTilingFeatures or
|
|
||||||
slink:VkFormatProperties::pname:optimalTilingFeatures returned by
|
|
||||||
flink:vkGetPhysicalDeviceFormatProperties for non-external format
|
|
||||||
linearly or optimally tiled images, respectively
|
|
||||||
endif::VK_ANDROID_external_memory_android_hardware_buffer[]
|
|
||||||
ifdef::VK_IMG_filter_cubic[]
|
ifdef::VK_IMG_filter_cubic[]
|
||||||
ifndef::VK_ANDROID_external_memory_android_hardware_buffer[]
|
* [[VUID-vkCmdDispatchIndirect-None-02008]]
|
||||||
* [[VUID-vkCmdDispatchIndirect-linearTilingFeatures-00415]]
|
If a sname:VkImageView is sampled with with ename:VK_FILTER_CUBIC_IMG as
|
||||||
Any slink:VkImageView being sampled with ename:VK_FILTER_CUBIC_IMG as a
|
a result of this command, then the image view's
|
||||||
result of this command must: be of a format which supports cubic
|
<<resources-image-view-format-features,format features>> must: contain
|
||||||
filtering, as specified by the
|
ename:VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG.
|
||||||
ename:VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG flag in
|
|
||||||
sname:VkFormatProperties::pname:linearTilingFeatures or
|
|
||||||
sname:VkFormatProperties::pname:optimalTilingFeatures returned by
|
|
||||||
fname:vkGetPhysicalDeviceFormatProperties for linearly or optimally
|
|
||||||
tiled images, respectively
|
|
||||||
endif::VK_ANDROID_external_memory_android_hardware_buffer[]
|
|
||||||
ifdef::VK_ANDROID_external_memory_android_hardware_buffer[]
|
|
||||||
* [[VUID-vkCmdDispatchIndirect-formatFeatures-01952]]
|
|
||||||
Any slink:VkImageView being sampled with ename:VK_FILTER_CUBIC_IMG as a
|
|
||||||
result of this command must: be of a format which supports cubic
|
|
||||||
filtering, as specified by the
|
|
||||||
ename:VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG flag in
|
|
||||||
slink:VkAndroidHardwareBufferFormatPropertiesANDROID::pname:formatFeatures
|
|
||||||
returned by flink:vkGetAndroidHardwareBufferPropertiesANDROID for
|
|
||||||
external format images, or by
|
|
||||||
slink:VkFormatProperties::pname:linearTilingFeatures or
|
|
||||||
slink:VkFormatProperties::pname:optimalTilingFeatures returned by
|
|
||||||
flink:vkGetPhysicalDeviceFormatProperties for non-external format
|
|
||||||
linearly or optimally tiled images, respectively
|
|
||||||
endif::VK_ANDROID_external_memory_android_hardware_buffer[]
|
|
||||||
* [[VUID-vkCmdDispatchIndirect-None-00416]]
|
* [[VUID-vkCmdDispatchIndirect-None-00416]]
|
||||||
Any slink:VkImageView being sampled with ename:VK_FILTER_CUBIC_IMG as a
|
Any slink:VkImageView being sampled with ename:VK_FILTER_CUBIC_IMG as a
|
||||||
result of this command must: not have a elink:VkImageViewType of
|
result of this command must: not have a elink:VkImageViewType of
|
||||||
|
|
|
@ -597,60 +597,20 @@ The assembled primitives execute the bound graphics pipeline.
|
||||||
object bound to ename:VK_PIPELINE_BIND_POINT_GRAPHICS accesses a storage
|
object bound to ename:VK_PIPELINE_BIND_POINT_GRAPHICS accesses a storage
|
||||||
buffer, it must: not access values outside of the range of that buffer
|
buffer, it must: not access values outside of the range of that buffer
|
||||||
specified in the bound descriptor set
|
specified in the bound descriptor set
|
||||||
ifndef::VK_ANDROID_external_memory_android_hardware_buffer[]
|
|
||||||
* [[VUID-vkCmdDraw-linearTilingFeatures-00450]]
|
|
||||||
Any sname:VkImageView being sampled with ename:VK_FILTER_LINEAR as a
|
|
||||||
result of this command must: be of a format which supports linear
|
|
||||||
filtering, as specified by the
|
|
||||||
ename:VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT flag in
|
|
||||||
sname:VkFormatProperties::pname:linearTilingFeatures or
|
|
||||||
sname:VkFormatProperties::pname:optimalTilingFeatures returned by
|
|
||||||
fname:vkGetPhysicalDeviceFormatProperties for linearly or optimally
|
|
||||||
tiled images, respectively
|
|
||||||
endif::VK_ANDROID_external_memory_android_hardware_buffer[]
|
|
||||||
ifdef::VK_ANDROID_external_memory_android_hardware_buffer[]
|
|
||||||
* [[VUID-vkCmdDraw-formatFeatures-01953]]
|
|
||||||
Any slink:VkImageView being sampled with ename:VK_FILTER_LINEAR as a
|
|
||||||
result of this command must: be of a format which supports linear
|
|
||||||
filtering, as specified by the
|
|
||||||
ename:VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT flag in
|
|
||||||
slink:VkAndroidHardwareBufferFormatPropertiesANDROID::pname:formatFeatures
|
|
||||||
returned by flink:vkGetAndroidHardwareBufferPropertiesANDROID for
|
|
||||||
external format images, or by
|
|
||||||
slink:VkFormatProperties::pname:linearTilingFeatures or
|
|
||||||
slink:VkFormatProperties::pname:optimalTilingFeatures returned by
|
|
||||||
flink:vkGetPhysicalDeviceFormatProperties for non-external format
|
|
||||||
linearly or optimally tiled images, respectively
|
|
||||||
endif::VK_ANDROID_external_memory_android_hardware_buffer[]
|
|
||||||
* [[VUID-vkCmdDraw-None-01499]]
|
* [[VUID-vkCmdDraw-None-01499]]
|
||||||
Image subresources used as attachments in the current render pass must:
|
Image subresources used as attachments in the current render pass must:
|
||||||
not be accessed in any way other than as an attachment by this command.
|
not be accessed in any way other than as an attachment by this command.
|
||||||
|
* [[VUID-vkCmdDraw-None-02009]]
|
||||||
|
If a sname:VkImageView is sampled with with ename:VK_FILTER_LINEAR as a
|
||||||
|
result of this command, then the image view's
|
||||||
|
<<resources-image-view-format-features,format features>> must: contain
|
||||||
|
ename:VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT.
|
||||||
ifdef::VK_IMG_filter_cubic[]
|
ifdef::VK_IMG_filter_cubic[]
|
||||||
ifndef::VK_ANDROID_external_memory_android_hardware_buffer[]
|
* [[VUID-vkCmdDraw-None-02010]]
|
||||||
* [[VUID-vkCmdDraw-linearTilingFeatures-00451]]
|
If a sname:VkImageView is sampled with with ename:VK_FILTER_CUBIC_IMG as
|
||||||
Any slink:VkImageView being sampled with ename:VK_FILTER_CUBIC_IMG as a
|
a result of this command, then the image view's
|
||||||
result of this command must: be of a format which supports cubic
|
<<resources-image-view-format-features,format features>> must: contain
|
||||||
filtering, as specified by the
|
ename:VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG.
|
||||||
ename:VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG flag in
|
|
||||||
sname:VkFormatProperties::pname:linearTilingFeatures or
|
|
||||||
sname:VkFormatProperties::pname:optimalTilingFeatures returned by
|
|
||||||
fname:vkGetPhysicalDeviceFormatProperties for linearly or optimally
|
|
||||||
tiled images, respectively
|
|
||||||
endif::VK_ANDROID_external_memory_android_hardware_buffer[]
|
|
||||||
ifdef::VK_ANDROID_external_memory_android_hardware_buffer[]
|
|
||||||
* [[VUID-vkCmdDraw-formatFeatures-01954]]
|
|
||||||
Any slink:VkImageView being sampled with ename:VK_FILTER_CUBIC_IMG as a
|
|
||||||
result of this command must: be of a format which supports cubic
|
|
||||||
filtering, as specified by the
|
|
||||||
ename:VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG flag in
|
|
||||||
slink:VkAndroidHardwareBufferFormatPropertiesANDROID::pname:formatFeatures
|
|
||||||
returned by flink:vkGetAndroidHardwareBufferPropertiesANDROID for
|
|
||||||
external format images, or by
|
|
||||||
slink:VkFormatProperties::pname:linearTilingFeatures or
|
|
||||||
slink:VkFormatProperties::pname:optimalTilingFeatures returned by
|
|
||||||
flink:vkGetPhysicalDeviceFormatProperties for non-external format
|
|
||||||
linearly or optimally tiled images, respectively
|
|
||||||
endif::VK_ANDROID_external_memory_android_hardware_buffer[]
|
|
||||||
* [[VUID-vkCmdDraw-None-00452]]
|
* [[VUID-vkCmdDraw-None-00452]]
|
||||||
Any slink:VkImageView being sampled with ename:VK_FILTER_CUBIC_IMG as a
|
Any slink:VkImageView being sampled with ename:VK_FILTER_CUBIC_IMG as a
|
||||||
result of this command must: not have a elink:VkImageViewType of
|
result of this command must: not have a elink:VkImageViewType of
|
||||||
|
@ -823,60 +783,20 @@ The assembled primitives execute the bound graphics pipeline.
|
||||||
object bound to ename:VK_PIPELINE_BIND_POINT_GRAPHICS accesses a storage
|
object bound to ename:VK_PIPELINE_BIND_POINT_GRAPHICS accesses a storage
|
||||||
buffer, it must: not access values outside of the range of that buffer
|
buffer, it must: not access values outside of the range of that buffer
|
||||||
specified in the bound descriptor set
|
specified in the bound descriptor set
|
||||||
ifndef::VK_ANDROID_external_memory_android_hardware_buffer[]
|
* [[VUID-vkCmdDrawIndexed-None-02011]]
|
||||||
* [[VUID-vkCmdDrawIndexed-linearTilingFeatures-00470]]
|
If a sname:VkImageView is sampled with with ename:VK_FILTER_LINEAR as a
|
||||||
Any sname:VkImageView being sampled with ename:VK_FILTER_LINEAR as a
|
result of this command, then the image view's
|
||||||
result of this command must: be of a format which supports linear
|
<<resources-image-view-format-features,format features>> must: contain
|
||||||
filtering, as specified by the
|
ename:VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT.
|
||||||
ename:VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT flag in
|
|
||||||
sname:VkFormatProperties::pname:linearTilingFeatures or
|
|
||||||
sname:VkFormatProperties::pname:optimalTilingFeatures returned by
|
|
||||||
fname:vkGetPhysicalDeviceFormatProperties for linearly or optimally
|
|
||||||
tiled images, respectively
|
|
||||||
endif::VK_ANDROID_external_memory_android_hardware_buffer[]
|
|
||||||
ifdef::VK_ANDROID_external_memory_android_hardware_buffer[]
|
|
||||||
* [[VUID-vkCmdDrawIndexed-formatFeatures-01955]]
|
|
||||||
Any slink:VkImageView being sampled with ename:VK_FILTER_LINEAR as a
|
|
||||||
result of this command must: be of a format which supports linear
|
|
||||||
filtering, as specified by the
|
|
||||||
ename:VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT flag in
|
|
||||||
slink:VkAndroidHardwareBufferFormatPropertiesANDROID::pname:formatFeatures
|
|
||||||
returned by flink:vkGetAndroidHardwareBufferPropertiesANDROID for
|
|
||||||
external format images, or by
|
|
||||||
slink:VkFormatProperties::pname:linearTilingFeatures or
|
|
||||||
slink:VkFormatProperties::pname:optimalTilingFeatures returned by
|
|
||||||
flink:vkGetPhysicalDeviceFormatProperties for non-external format
|
|
||||||
linearly or optimally tiled images, respectively
|
|
||||||
endif::VK_ANDROID_external_memory_android_hardware_buffer[]
|
|
||||||
* [[VUID-vkCmdDrawIndexed-None-01500]]
|
* [[VUID-vkCmdDrawIndexed-None-01500]]
|
||||||
Image subresources used as attachments in the current render pass must:
|
Image subresources used as attachments in the current render pass must:
|
||||||
not be accessed in any way other than as an attachment by this command.
|
not be accessed in any way other than as an attachment by this command.
|
||||||
ifdef::VK_IMG_filter_cubic[]
|
ifdef::VK_IMG_filter_cubic[]
|
||||||
ifndef::VK_ANDROID_external_memory_android_hardware_buffer[]
|
* [[VUID-vkCmdDrawIndexed-None-02012]]
|
||||||
* [[VUID-vkCmdDrawIndexed-linearTilingFeatures-00471]]
|
If a sname:VkImageView is sampled with with ename:VK_FILTER_CUBIC_IMG as
|
||||||
Any slink:VkImageView being sampled with ename:VK_FILTER_CUBIC_IMG as a
|
a result of this command, then the image view's
|
||||||
result of this command must: be of a format which supports cubic
|
<<resources-image-view-format-features,format features>> must: contain
|
||||||
filtering, as specified by the
|
ename:VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG.
|
||||||
ename:VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG flag in
|
|
||||||
sname:VkFormatProperties::pname:linearTilingFeatures or
|
|
||||||
sname:VkFormatProperties::pname:optimalTilingFeatures returned by
|
|
||||||
fname:vkGetPhysicalDeviceFormatProperties for linearly or optimally
|
|
||||||
tiled images, respectively
|
|
||||||
endif::VK_ANDROID_external_memory_android_hardware_buffer[]
|
|
||||||
ifdef::VK_ANDROID_external_memory_android_hardware_buffer[]
|
|
||||||
* [[VUID-vkCmdDrawIndexed-formatFeatures-01956]]
|
|
||||||
Any slink:VkImageView being sampled with ename:VK_FILTER_CUBIC_IMG as a
|
|
||||||
result of this command must: be of a format which supports cubic
|
|
||||||
filtering, as specified by the
|
|
||||||
ename:VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG flag in
|
|
||||||
slink:VkAndroidHardwareBufferFormatPropertiesANDROID::pname:formatFeatures
|
|
||||||
returned by flink:vkGetAndroidHardwareBufferPropertiesANDROID for
|
|
||||||
external format images, or by
|
|
||||||
slink:VkFormatProperties::pname:linearTilingFeatures or
|
|
||||||
slink:VkFormatProperties::pname:optimalTilingFeatures returned by
|
|
||||||
flink:vkGetPhysicalDeviceFormatProperties for non-external format
|
|
||||||
linearly or optimally tiled images, respectively
|
|
||||||
endif::VK_ANDROID_external_memory_android_hardware_buffer[]
|
|
||||||
* [[VUID-vkCmdDrawIndexed-None-00472]]
|
* [[VUID-vkCmdDrawIndexed-None-00472]]
|
||||||
Any slink:VkImageView being sampled with ename:VK_FILTER_CUBIC_IMG as a
|
Any slink:VkImageView being sampled with ename:VK_FILTER_CUBIC_IMG as a
|
||||||
result of this command must: not have a elink:VkImageViewType of
|
result of this command must: not have a elink:VkImageViewType of
|
||||||
|
@ -1058,60 +978,20 @@ If pname:drawCount is less than or equal to one, pname:stride is ignored.
|
||||||
object bound to ename:VK_PIPELINE_BIND_POINT_GRAPHICS accesses a storage
|
object bound to ename:VK_PIPELINE_BIND_POINT_GRAPHICS accesses a storage
|
||||||
buffer, it must: not access values outside of the range of that buffer
|
buffer, it must: not access values outside of the range of that buffer
|
||||||
specified in the bound descriptor set
|
specified in the bound descriptor set
|
||||||
ifndef::VK_ANDROID_external_memory_android_hardware_buffer[]
|
* [[VUID-vkCmdDrawIndirect-None-02013]]
|
||||||
* [[VUID-vkCmdDrawIndirect-linearTilingFeatures-00496]]
|
If a sname:VkImageView is sampled with with ename:VK_FILTER_LINEAR as a
|
||||||
Any sname:VkImageView being sampled with ename:VK_FILTER_LINEAR as a
|
result of this command, then the image view's
|
||||||
result of this command must: be of a format which supports linear
|
<<resources-image-view-format-features,format features>> must: contain
|
||||||
filtering, as specified by the
|
ename:VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT.
|
||||||
ename:VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT flag in
|
|
||||||
sname:VkFormatProperties::pname:linearTilingFeatures or
|
|
||||||
sname:VkFormatProperties::pname:optimalTilingFeatures returned by
|
|
||||||
fname:vkGetPhysicalDeviceFormatProperties for linearly or optimally
|
|
||||||
tiled images, respectively
|
|
||||||
endif::VK_ANDROID_external_memory_android_hardware_buffer[]
|
|
||||||
ifdef::VK_ANDROID_external_memory_android_hardware_buffer[]
|
|
||||||
* [[VUID-vkCmdDrawIndirect-formatFeatures-01957]]
|
|
||||||
Any slink:VkImageView being sampled with ename:VK_FILTER_LINEAR as a
|
|
||||||
result of this command must: be of a format which supports linear
|
|
||||||
filtering, as specified by the
|
|
||||||
ename:VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT flag in
|
|
||||||
slink:VkAndroidHardwareBufferFormatPropertiesANDROID::pname:formatFeatures
|
|
||||||
returned by flink:vkGetAndroidHardwareBufferPropertiesANDROID for
|
|
||||||
external format images, or by
|
|
||||||
slink:VkFormatProperties::pname:linearTilingFeatures or
|
|
||||||
slink:VkFormatProperties::pname:optimalTilingFeatures returned by
|
|
||||||
flink:vkGetPhysicalDeviceFormatProperties for non-external format
|
|
||||||
linearly or optimally tiled images, respectively
|
|
||||||
endif::VK_ANDROID_external_memory_android_hardware_buffer[]
|
|
||||||
* [[VUID-vkCmdDrawIndirect-None-01501]]
|
* [[VUID-vkCmdDrawIndirect-None-01501]]
|
||||||
Image subresources used as attachments in the current render pass must:
|
Image subresources used as attachments in the current render pass must:
|
||||||
not be accessed in any way other than as an attachment by this command.
|
not be accessed in any way other than as an attachment by this command.
|
||||||
ifdef::VK_IMG_filter_cubic[]
|
ifdef::VK_IMG_filter_cubic[]
|
||||||
ifndef::VK_ANDROID_external_memory_android_hardware_buffer[]
|
* [[VUID-vkCmdDrawIndirect-None-02014]]
|
||||||
* [[VUID-vkCmdDrawIndirect-linearTilingFeatures-00497]]
|
If a sname:VkImageView is sampled with with ename:VK_FILTER_CUBIC_IMG as
|
||||||
Any slink:VkImageView being sampled with ename:VK_FILTER_CUBIC_IMG as a
|
a result of this command, then the image view's
|
||||||
result of this command must: be of a format which supports cubic
|
<<resources-image-view-format-features,format features>> must: contain
|
||||||
filtering, as specified by the
|
ename:VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG.
|
||||||
ename:VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG flag in
|
|
||||||
sname:VkFormatProperties::pname:linearTilingFeatures or
|
|
||||||
sname:VkFormatProperties::pname:optimalTilingFeatures returned by
|
|
||||||
fname:vkGetPhysicalDeviceFormatProperties for linearly or optimally
|
|
||||||
tiled images, respectively
|
|
||||||
endif::VK_ANDROID_external_memory_android_hardware_buffer[]
|
|
||||||
ifdef::VK_ANDROID_external_memory_android_hardware_buffer[]
|
|
||||||
* [[VUID-vkCmdDrawIndirect-formatFeatures-01958]]
|
|
||||||
Any slink:VkImageView being sampled with ename:VK_FILTER_CUBIC_IMG as a
|
|
||||||
result of this command must: be of a format which supports cubic
|
|
||||||
filtering, as specified by the
|
|
||||||
ename:VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG flag in
|
|
||||||
slink:VkAndroidHardwareBufferFormatPropertiesANDROID::pname:formatFeatures
|
|
||||||
returned by flink:vkGetAndroidHardwareBufferPropertiesANDROID for
|
|
||||||
external format images, or by
|
|
||||||
slink:VkFormatProperties::pname:linearTilingFeatures or
|
|
||||||
slink:VkFormatProperties::pname:optimalTilingFeatures returned by
|
|
||||||
flink:vkGetPhysicalDeviceFormatProperties for non-external format
|
|
||||||
linearly or optimally tiled images, respectively
|
|
||||||
endif::VK_ANDROID_external_memory_android_hardware_buffer[]
|
|
||||||
* [[VUID-vkCmdDrawIndirect-None-00498]]
|
* [[VUID-vkCmdDrawIndirect-None-00498]]
|
||||||
Any slink:VkImageView being sampled with ename:VK_FILTER_CUBIC_IMG as a
|
Any slink:VkImageView being sampled with ename:VK_FILTER_CUBIC_IMG as a
|
||||||
result of this command must: not have a elink:VkImageViewType of
|
result of this command must: not have a elink:VkImageViewType of
|
||||||
|
@ -1338,28 +1218,20 @@ located at pname:countBufferOffset and use this as the draw count.
|
||||||
object bound to ename:VK_PIPELINE_BIND_POINT_GRAPHICS accesses a storage
|
object bound to ename:VK_PIPELINE_BIND_POINT_GRAPHICS accesses a storage
|
||||||
buffer, it must: not access values outside of the range of that buffer
|
buffer, it must: not access values outside of the range of that buffer
|
||||||
specified in the bound descriptor set
|
specified in the bound descriptor set
|
||||||
* [[VUID-vkCmdDrawIndirectCountKHR-linearTilingFeatures-03130]]
|
* [[VUID-vkCmdDrawIndirectCountKHR-None-02015]]
|
||||||
Any sname:VkImageView being sampled with ename:VK_FILTER_LINEAR as a
|
If a sname:VkImageView is sampled with with ename:VK_FILTER_LINEAR as a
|
||||||
result of this command must: be of a format which supports linear
|
result of this command, then the image view's
|
||||||
filtering, as specified by the
|
<<resources-image-view-format-features,format features>> must: contain
|
||||||
ename:VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT flag in
|
ename:VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT.
|
||||||
sname:VkFormatProperties::pname:linearTilingFeatures (for a linear
|
|
||||||
image) or sname:VkFormatProperties::pname:optimalTilingFeatures(for an
|
|
||||||
optimally tiled image) returned by
|
|
||||||
fname:vkGetPhysicalDeviceFormatProperties
|
|
||||||
* [[VUID-vkCmdDrawIndirectCountKHR-None-03131]]
|
* [[VUID-vkCmdDrawIndirectCountKHR-None-03131]]
|
||||||
Image subresources used as attachments in the current render pass must:
|
Image subresources used as attachments in the current render pass must:
|
||||||
not be accessed in any way other than as an attachment by this command.
|
not be accessed in any way other than as an attachment by this command.
|
||||||
ifdef::VK_IMG_filter_cubic[]
|
ifdef::VK_IMG_filter_cubic[]
|
||||||
* [[VUID-vkCmdDrawIndirectCountKHR-linearTilingFeatures-03169]]
|
* [[VUID-vkCmdDrawIndirectCountKHR-None-02016]]
|
||||||
Any slink:VkImageView being sampled with ename:VK_FILTER_CUBIC_IMG as a
|
If a sname:VkImageView is sampled with with ename:VK_FILTER_CUBIC_IMG as
|
||||||
result of this command must: be of a format which supports cubic
|
a result of this command, then the image view's
|
||||||
filtering, as specified by the
|
<<resources-image-view-format-features,format features>> must: contain
|
||||||
ename:VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG flag in
|
ename:VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG.
|
||||||
sname:VkFormatProperties::pname:linearTilingFeatures (for a linear
|
|
||||||
image) or sname:VkFormatProperties::pname:optimalTilingFeatures(for an
|
|
||||||
optimally tiled image) returned by
|
|
||||||
fname:vkGetPhysicalDeviceFormatProperties
|
|
||||||
* [[VUID-vkCmdDrawIndirectCountKHR-None-03170]]
|
* [[VUID-vkCmdDrawIndirectCountKHR-None-03170]]
|
||||||
Any slink:VkImageView being sampled with ename:VK_FILTER_CUBIC_IMG as a
|
Any slink:VkImageView being sampled with ename:VK_FILTER_CUBIC_IMG as a
|
||||||
result of this command must: not have a elink:VkImageViewType of
|
result of this command must: not have a elink:VkImageViewType of
|
||||||
|
@ -1557,31 +1429,11 @@ located at pname:countBufferOffset and use this as the draw count.
|
||||||
object bound to ename:VK_PIPELINE_BIND_POINT_GRAPHICS accesses a storage
|
object bound to ename:VK_PIPELINE_BIND_POINT_GRAPHICS accesses a storage
|
||||||
buffer, it must: not access values outside of the range of that buffer
|
buffer, it must: not access values outside of the range of that buffer
|
||||||
specified in the bound descriptor set
|
specified in the bound descriptor set
|
||||||
ifndef::VK_ANDROID_external_memory_android_hardware_buffer[]
|
* [[VUID-vkCmdDrawIndirectCountAMD-None-02017]]
|
||||||
* [[VUID-vkCmdDrawIndirectCountAMD-linearTilingFeatures-00524]]
|
If a sname:VkImageView is sampled with with ename:VK_FILTER_LINEAR as a
|
||||||
Any sname:VkImageView being sampled with ename:VK_FILTER_LINEAR as a
|
result of this command, then the image view's
|
||||||
result of this command must: be of a format which supports linear
|
<<resources-image-view-format-features,format features>> must: contain
|
||||||
filtering, as specified by the
|
ename:VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT.
|
||||||
ename:VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT flag in
|
|
||||||
sname:VkFormatProperties::pname:linearTilingFeatures or
|
|
||||||
sname:VkFormatProperties::pname:optimalTilingFeatures returned by
|
|
||||||
fname:vkGetPhysicalDeviceFormatProperties for linearly or optimally
|
|
||||||
tiled images, respectively
|
|
||||||
endif::VK_ANDROID_external_memory_android_hardware_buffer[]
|
|
||||||
ifdef::VK_ANDROID_external_memory_android_hardware_buffer[]
|
|
||||||
* [[VUID-vkCmdDrawIndirectCountAMD-formatFeatures-01959]]
|
|
||||||
Any slink:VkImageView being sampled with ename:VK_FILTER_LINEAR as a
|
|
||||||
result of this command must: be of a format which supports linear
|
|
||||||
filtering, as specified by the
|
|
||||||
ename:VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT flag in
|
|
||||||
slink:VkAndroidHardwareBufferFormatPropertiesANDROID::pname:formatFeatures
|
|
||||||
returned by flink:vkGetAndroidHardwareBufferPropertiesANDROID for
|
|
||||||
external format images, or by
|
|
||||||
slink:VkFormatProperties::pname:linearTilingFeatures or
|
|
||||||
slink:VkFormatProperties::pname:optimalTilingFeatures returned by
|
|
||||||
flink:vkGetPhysicalDeviceFormatProperties for non-external format
|
|
||||||
linearly or optimally tiled images, respectively
|
|
||||||
endif::VK_ANDROID_external_memory_android_hardware_buffer[]
|
|
||||||
* [[VUID-vkCmdDrawIndirectCountAMD-None-01502]]
|
* [[VUID-vkCmdDrawIndirectCountAMD-None-01502]]
|
||||||
Image subresources used as attachments in the current render pass must:
|
Image subresources used as attachments in the current render pass must:
|
||||||
not be accessed in any way other than as an attachment by this command.
|
not be accessed in any way other than as an attachment by this command.
|
||||||
|
@ -1763,60 +1615,20 @@ If pname:drawCount is less than or equal to one, pname:stride is ignored.
|
||||||
object bound to ename:VK_PIPELINE_BIND_POINT_GRAPHICS accesses a storage
|
object bound to ename:VK_PIPELINE_BIND_POINT_GRAPHICS accesses a storage
|
||||||
buffer, it must: not access values outside of the range of that buffer
|
buffer, it must: not access values outside of the range of that buffer
|
||||||
specified in the bound descriptor set
|
specified in the bound descriptor set
|
||||||
ifndef::VK_ANDROID_external_memory_android_hardware_buffer[]
|
* [[VUID-vkCmdDrawIndexedIndirect-None-02018]]
|
||||||
* [[VUID-vkCmdDrawIndexedIndirect-linearTilingFeatures-00548]]
|
If a sname:VkImageView is sampled with with ename:VK_FILTER_LINEAR as a
|
||||||
Any sname:VkImageView being sampled with ename:VK_FILTER_LINEAR as a
|
result of this command, then the image view's
|
||||||
result of this command must: be of a format which supports linear
|
<<resources-image-view-format-features,format features>> must: contain
|
||||||
filtering, as specified by the
|
ename:VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT.
|
||||||
ename:VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT flag in
|
|
||||||
sname:VkFormatProperties::pname:linearTilingFeatures or
|
|
||||||
sname:VkFormatProperties::pname:optimalTilingFeatures returned by
|
|
||||||
fname:vkGetPhysicalDeviceFormatProperties for linearly or optimally
|
|
||||||
tiled images, respectively
|
|
||||||
endif::VK_ANDROID_external_memory_android_hardware_buffer[]
|
|
||||||
ifdef::VK_ANDROID_external_memory_android_hardware_buffer[]
|
|
||||||
* [[VUID-vkCmdDrawIndexedIndirect-formatFeatures-01960]]
|
|
||||||
Any slink:VkImageView being sampled with ename:VK_FILTER_LINEAR as a
|
|
||||||
result of this command must: be of a format which supports linear
|
|
||||||
filtering, as specified by the
|
|
||||||
ename:VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT flag in
|
|
||||||
slink:VkAndroidHardwareBufferFormatPropertiesANDROID::pname:formatFeatures
|
|
||||||
returned by flink:vkGetAndroidHardwareBufferPropertiesANDROID for
|
|
||||||
external format images, or by
|
|
||||||
slink:VkFormatProperties::pname:linearTilingFeatures or
|
|
||||||
slink:VkFormatProperties::pname:optimalTilingFeatures returned by
|
|
||||||
flink:vkGetPhysicalDeviceFormatProperties for non-external format
|
|
||||||
linearly or optimally tiled images, respectively
|
|
||||||
endif::VK_ANDROID_external_memory_android_hardware_buffer[]
|
|
||||||
* [[VUID-vkCmdDrawIndexedIndirect-None-01503]]
|
* [[VUID-vkCmdDrawIndexedIndirect-None-01503]]
|
||||||
Image subresources used as attachments in the current render pass must:
|
Image subresources used as attachments in the current render pass must:
|
||||||
not be accessed in any way other than as an attachment by this command.
|
not be accessed in any way other than as an attachment by this command.
|
||||||
ifdef::VK_IMG_filter_cubic[]
|
ifdef::VK_IMG_filter_cubic[]
|
||||||
ifndef::VK_ANDROID_external_memory_android_hardware_buffer[]
|
* [[VUID-vkCmdDrawIndexedIndirect-None-02019]]
|
||||||
* [[VUID-vkCmdDrawIndexedIndirect-linearTilingFeatures-00549]]
|
If a sname:VkImageView is sampled with with ename:VK_FILTER_CUBIC_IMG as
|
||||||
Any slink:VkImageView being sampled with ename:VK_FILTER_CUBIC_IMG as a
|
a result of this command, then the image view's
|
||||||
result of this command must: be of a format which supports cubic
|
<<resources-image-view-format-features,format features>> must: contain
|
||||||
filtering, as specified by the
|
ename:VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG.
|
||||||
ename:VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG flag in
|
|
||||||
sname:VkFormatProperties::pname:linearTilingFeatures or
|
|
||||||
sname:VkFormatProperties::pname:optimalTilingFeatures returned by
|
|
||||||
fname:vkGetPhysicalDeviceFormatProperties for linearly or optimally
|
|
||||||
tiled images, respectively
|
|
||||||
endif::VK_ANDROID_external_memory_android_hardware_buffer[]
|
|
||||||
ifdef::VK_ANDROID_external_memory_android_hardware_buffer[]
|
|
||||||
* [[VUID-vkCmdDrawIndexedIndirect-formatFeatures-01961]]
|
|
||||||
Any slink:VkImageView being sampled with ename:VK_FILTER_CUBIC_IMG as a
|
|
||||||
result of this command must: be of a format which supports cubic
|
|
||||||
filtering, as specified by the
|
|
||||||
ename:VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG flag in
|
|
||||||
slink:VkAndroidHardwareBufferFormatPropertiesANDROID::pname:formatFeatures
|
|
||||||
returned by flink:vkGetAndroidHardwareBufferPropertiesANDROID for
|
|
||||||
external format images, or by
|
|
||||||
slink:VkFormatProperties::pname:linearTilingFeatures or
|
|
||||||
slink:VkFormatProperties::pname:optimalTilingFeatures returned by
|
|
||||||
flink:vkGetPhysicalDeviceFormatProperties for non-external format
|
|
||||||
linearly or optimally tiled images, respectively
|
|
||||||
endif::VK_ANDROID_external_memory_android_hardware_buffer[]
|
|
||||||
* [[VUID-vkCmdDrawIndexedIndirect-None-00550]]
|
* [[VUID-vkCmdDrawIndexedIndirect-None-00550]]
|
||||||
Any slink:VkImageView being sampled with ename:VK_FILTER_CUBIC_IMG as a
|
Any slink:VkImageView being sampled with ename:VK_FILTER_CUBIC_IMG as a
|
||||||
result of this command must: not have a elink:VkImageViewType of
|
result of this command must: not have a elink:VkImageViewType of
|
||||||
|
@ -2051,28 +1863,20 @@ located at pname:countBufferOffset and use this as the draw count.
|
||||||
object bound to ename:VK_PIPELINE_BIND_POINT_GRAPHICS accesses a storage
|
object bound to ename:VK_PIPELINE_BIND_POINT_GRAPHICS accesses a storage
|
||||||
buffer, it must: not access values outside of the range of that buffer
|
buffer, it must: not access values outside of the range of that buffer
|
||||||
specified in the bound descriptor set
|
specified in the bound descriptor set
|
||||||
* [[VUID-vkCmdDrawIndexedIndirectCountKHR-linearTilingFeatures-03162]]
|
* [[VUID-vkCmdDrawIndexedIndirectCountKHR-None-02020]]
|
||||||
Any sname:VkImageView being sampled with ename:VK_FILTER_LINEAR as a
|
If a sname:VkImageView is sampled with with ename:VK_FILTER_LINEAR as a
|
||||||
result of this command must: be of a format which supports linear
|
result of this command, then the image view's
|
||||||
filtering, as specified by the
|
<<resources-image-view-format-features,format features>> must: contain
|
||||||
ename:VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT flag in
|
ename:VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT.
|
||||||
sname:VkFormatProperties::pname:linearTilingFeatures (for a linear
|
|
||||||
image) or sname:VkFormatProperties::pname:optimalTilingFeatures(for an
|
|
||||||
optimally tiled image) returned by
|
|
||||||
fname:vkGetPhysicalDeviceFormatProperties
|
|
||||||
* [[VUID-vkCmdDrawIndexedIndirectCountKHR-None-03163]]
|
* [[VUID-vkCmdDrawIndexedIndirectCountKHR-None-03163]]
|
||||||
Image subresources used as attachments in the current render pass must:
|
Image subresources used as attachments in the current render pass must:
|
||||||
not be accessed in any way other than as an attachment by this command.
|
not be accessed in any way other than as an attachment by this command.
|
||||||
ifdef::VK_IMG_filter_cubic[]
|
ifdef::VK_IMG_filter_cubic[]
|
||||||
* [[VUID-vkCmdDrawIndexedIndirectCountKHR-linearTilingFeatures-03172]]
|
* [[VUID-vkCmdDrawIndexedIndirectCountKHR-None-02021]]
|
||||||
Any slink:VkImageView being sampled with ename:VK_FILTER_CUBIC_IMG as a
|
If a sname:VkImageView is sampled with with ename:VK_FILTER_CUBIC_IMG as
|
||||||
result of this command must: be of a format which supports cubic
|
a result of this command, then the image view's
|
||||||
filtering, as specified by the
|
<<resources-image-view-format-features,format features>> must: contain
|
||||||
ename:VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG flag in
|
ename:VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG.
|
||||||
sname:VkFormatProperties::pname:linearTilingFeatures (for a linear
|
|
||||||
image) or sname:VkFormatProperties::pname:optimalTilingFeatures(for an
|
|
||||||
optimally tiled image) returned by
|
|
||||||
fname:vkGetPhysicalDeviceFormatProperties
|
|
||||||
* [[VUID-vkCmdDrawIndexedIndirectCountKHR-None-03173]]
|
* [[VUID-vkCmdDrawIndexedIndirectCountKHR-None-03173]]
|
||||||
Any slink:VkImageView being sampled with ename:VK_FILTER_CUBIC_IMG as a
|
Any slink:VkImageView being sampled with ename:VK_FILTER_CUBIC_IMG as a
|
||||||
result of this command must: not have a elink:VkImageViewType of
|
result of this command must: not have a elink:VkImageViewType of
|
||||||
|
@ -2271,31 +2075,11 @@ located at pname:countBufferOffset and use this as the draw count.
|
||||||
object bound to ename:VK_PIPELINE_BIND_POINT_GRAPHICS accesses a storage
|
object bound to ename:VK_PIPELINE_BIND_POINT_GRAPHICS accesses a storage
|
||||||
buffer, it must: not access values outside of the range of that buffer
|
buffer, it must: not access values outside of the range of that buffer
|
||||||
specified in the bound descriptor set
|
specified in the bound descriptor set
|
||||||
ifndef::VK_ANDROID_external_memory_android_hardware_buffer[]
|
* [[VUID-vkCmdDrawIndexedIndirectCountAMD-None-02022]]
|
||||||
* [[VUID-vkCmdDrawIndexedIndirectCountAMD-linearTilingFeatures-00577]]
|
If a sname:VkImageView is sampled with with ename:VK_FILTER_LINEAR as a
|
||||||
Any sname:VkImageView being sampled with ename:VK_FILTER_LINEAR as a
|
result of this command, then the image view's
|
||||||
result of this command must: be of a format which supports linear
|
<<resources-image-view-format-features,format features>> must: contain
|
||||||
filtering, as specified by the
|
ename:VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT.
|
||||||
ename:VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT flag in
|
|
||||||
sname:VkFormatProperties::pname:linearTilingFeatures or
|
|
||||||
sname:VkFormatProperties::pname:optimalTilingFeatures returned by
|
|
||||||
fname:vkGetPhysicalDeviceFormatProperties for linearly or optimally
|
|
||||||
tiled images, respectively
|
|
||||||
endif::VK_ANDROID_external_memory_android_hardware_buffer[]
|
|
||||||
ifdef::VK_ANDROID_external_memory_android_hardware_buffer[]
|
|
||||||
* [[VUID-vkCmdDrawIndexedIndirectCountAMD-formatFeatures-01962]]
|
|
||||||
Any slink:VkImageView being sampled with ename:VK_FILTER_LINEAR as a
|
|
||||||
result of this command must: be of a format which supports linear
|
|
||||||
filtering, as specified by the
|
|
||||||
ename:VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT flag in
|
|
||||||
slink:VkAndroidHardwareBufferFormatPropertiesANDROID::pname:formatFeatures
|
|
||||||
returned by flink:vkGetAndroidHardwareBufferPropertiesANDROID for
|
|
||||||
external format images, or by
|
|
||||||
slink:VkFormatProperties::pname:linearTilingFeatures or
|
|
||||||
slink:VkFormatProperties::pname:optimalTilingFeatures returned by
|
|
||||||
flink:vkGetPhysicalDeviceFormatProperties for non-external format
|
|
||||||
linearly or optimally tiled images, respectively
|
|
||||||
endif::VK_ANDROID_external_memory_android_hardware_buffer[]
|
|
||||||
* [[VUID-vkCmdDrawIndexedIndirectCountAMD-None-01504]]
|
* [[VUID-vkCmdDrawIndexedIndirectCountAMD-None-01504]]
|
||||||
Image subresources used as attachments in the current render pass must:
|
Image subresources used as attachments in the current render pass must:
|
||||||
not be accessed in any way other than as an attachment by this command.
|
not be accessed in any way other than as an attachment by this command.
|
||||||
|
|
|
@ -630,16 +630,13 @@ ifdef::VK_VERSION_1_1,VK_KHR_maintenance2[]
|
||||||
pname:front and pname:back members of pname:pDepthStencilState must: be
|
pname:front and pname:back members of pname:pDepthStencilState must: be
|
||||||
ename:VK_STENCIL_OP_KEEP
|
ename:VK_STENCIL_OP_KEEP
|
||||||
endif::VK_VERSION_1_1,VK_KHR_maintenance2[]
|
endif::VK_VERSION_1_1,VK_KHR_maintenance2[]
|
||||||
* [[VUID-VkGraphicsPipelineCreateInfo-subpass-00745]]
|
* [[VUID-VkGraphicsPipelineCreateInfo-blendEnable-02023]]
|
||||||
If rasterization is not disabled and the subpass uses color attachments,
|
If rasterization is not disabled and the subpass uses color attachments,
|
||||||
then for each color attachment in the subpass the pname:blendEnable
|
then for each color attachment in the subpass the pname:blendEnable
|
||||||
member of the corresponding element of the pname:pAttachment member of
|
member of the corresponding element of the pname:pAttachment member of
|
||||||
pname:pColorBlendState must: be ename:VK_FALSE if the pname:format of
|
pname:pColorBlendState must: be ename:VK_FALSE if the attached image's
|
||||||
the attachment does not support color blend operations, as specified by
|
<<resources-image-format-features,format features>> does not contain the
|
||||||
the ename:VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT flag in
|
ename:VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT.
|
||||||
sname:VkFormatProperties::pname:linearTilingFeatures or
|
|
||||||
sname:VkFormatProperties::pname:optimalTilingFeatures returned by
|
|
||||||
fname:vkGetPhysicalDeviceFormatProperties
|
|
||||||
* [[VUID-VkGraphicsPipelineCreateInfo-attachmentCount-00746]]
|
* [[VUID-VkGraphicsPipelineCreateInfo-attachmentCount-00746]]
|
||||||
If rasterization is not disabled and the subpass uses color attachments,
|
If rasterization is not disabled and the subpass uses color attachments,
|
||||||
the pname:attachmentCount member of pname:pColorBlendState must: be
|
the pname:attachmentCount member of pname:pColorBlendState must: be
|
||||||
|
|
|
@ -367,8 +367,8 @@ pixel.
|
||||||
|
|
|
|
||||||
[eq]#(0.5,0.5)#
|
[eq]#(0.5,0.5)#
|
||||||
|
|
|
|
||||||
[eq]#(0.25,0.25)# +
|
[eq]#(0.75,0.75)# +
|
||||||
[eq]#(0.75,0.75)#
|
[eq]#(0.25,0.25)#
|
||||||
|
|
|
|
||||||
[eq]#(0.375, 0.125)# +
|
[eq]#(0.375, 0.125)# +
|
||||||
[eq]#(0.875, 0.375)# +
|
[eq]#(0.875, 0.375)# +
|
||||||
|
|
|
@ -1633,6 +1633,37 @@ include::../api/protos/vkDestroyImage.txt[]
|
||||||
include::../validity/protos/vkDestroyImage.txt[]
|
include::../validity/protos/vkDestroyImage.txt[]
|
||||||
--
|
--
|
||||||
|
|
||||||
|
[[resources-image-format-features]]
|
||||||
|
=== Image Format Features
|
||||||
|
|
||||||
|
Valid usage of a slink:VkImage may: be constrained by the image's format
|
||||||
|
features, defined below.
|
||||||
|
Such constraints are documented in the affected valid usage statement.
|
||||||
|
|
||||||
|
* If the image was created with ename:VK_IMAGE_TILING_LINEAR, then its set
|
||||||
|
of _format features_ is the value of
|
||||||
|
slink:VkFormatProperties::pname:linearTilingFeatures found by calling
|
||||||
|
flink:vkGetPhysicalDeviceFormatProperties on the same pname:format as
|
||||||
|
slink:VkImageCreateInfo::pname:format.
|
||||||
|
* If the image was created with ename:VK_IMAGE_TILING_OPTIMAL,
|
||||||
|
ifdef::VK_ANDROID_external_memory_android_hardware_buffer[]
|
||||||
|
but without an
|
||||||
|
<<memory-external-android-hardware-buffer-external-formats,external
|
||||||
|
format>>,
|
||||||
|
endif::VK_ANDROID_external_memory_android_hardware_buffer[]
|
||||||
|
then its set of _format features_ is the value of
|
||||||
|
slink:VkFormatProperties::pname:optimalTilingFeatures found by calling
|
||||||
|
flink:vkGetPhysicalDeviceFormatProperties on the same pname:format as
|
||||||
|
slink:VkImageCreateInfo::pname:format.
|
||||||
|
ifdef::VK_ANDROID_external_memory_android_hardware_buffer[]
|
||||||
|
* If the image was created with an
|
||||||
|
<<memory-external-android-hardware-buffer-external-formats,external
|
||||||
|
format>>, then its set of _format features_ is the value of
|
||||||
|
slink:VkAndroidHardwareBufferFormatPropertiesANDROID::pname:formatFeatures
|
||||||
|
found by calling flink:vkGetAndroidHardwareBufferPropertiesANDROID on
|
||||||
|
the Android hardware buffer that was imported to the
|
||||||
|
slink:VkDeviceMemory to which the image is bound.
|
||||||
|
endif::VK_ANDROID_external_memory_android_hardware_buffer[]
|
||||||
|
|
||||||
[[resources-image-layouts]]
|
[[resources-image-layouts]]
|
||||||
== Image Layouts
|
== Image Layouts
|
||||||
|
@ -2812,6 +2843,38 @@ include::../api/protos/vkDestroyImageView.txt[]
|
||||||
include::../validity/protos/vkDestroyImageView.txt[]
|
include::../validity/protos/vkDestroyImageView.txt[]
|
||||||
--
|
--
|
||||||
|
|
||||||
|
[[resources-image-view-format-features]]
|
||||||
|
=== Image View Format Features
|
||||||
|
|
||||||
|
Valid usage of a slink:VkImageView may: be constrained by the image view's
|
||||||
|
format features, defined below.
|
||||||
|
Such constraints are documented in the affected valid usage statement.
|
||||||
|
|
||||||
|
* If the view's image was created with ename:VK_IMAGE_TILING_LINEAR, then
|
||||||
|
the image view's set of _format features_ is the value of
|
||||||
|
slink:VkFormatProperties::pname:linearTilingFeatures found by calling
|
||||||
|
flink:vkGetPhysicalDeviceFormatProperties on the same pname:format as
|
||||||
|
slink:VkImageViewCreateInfo::pname:format.
|
||||||
|
* If the view's image was created with ename:VK_IMAGE_TILING_OPTIMAL,
|
||||||
|
ifdef::VK_ANDROID_external_memory_android_hardware_buffer[]
|
||||||
|
but without an
|
||||||
|
<<memory-external-android-hardware-buffer-external-formats,external
|
||||||
|
format>>,
|
||||||
|
endif::VK_ANDROID_external_memory_android_hardware_buffer[]
|
||||||
|
then the image view's set of _format features_ is the value of
|
||||||
|
slink:VkFormatProperties::pname:optimalTilingFeatures found by calling
|
||||||
|
flink:vkGetPhysicalDeviceFormatProperties on the same pname:format as
|
||||||
|
slink:VkImageViewCreateInfo::pname:format.
|
||||||
|
ifdef::VK_ANDROID_external_memory_android_hardware_buffer[]
|
||||||
|
* If the view's image was created with an
|
||||||
|
<<memory-external-android-hardware-buffer-external-formats,external
|
||||||
|
format>>, then the image views's set of _format features_ is the value
|
||||||
|
of
|
||||||
|
slink:VkAndroidHardwareBufferFormatPropertiesANDROID::pname:formatFeatures
|
||||||
|
found by calling flink:vkGetAndroidHardwareBufferPropertiesANDROID on
|
||||||
|
the Android hardware buffer that was imported to the
|
||||||
|
slink:VkDeviceMemory to which the image is bound.
|
||||||
|
endif::VK_ANDROID_external_memory_android_hardware_buffer[]
|
||||||
|
|
||||||
[[resources-association]]
|
[[resources-association]]
|
||||||
== Resource Memory Association
|
== Resource Memory Association
|
||||||
|
|
|
@ -3414,33 +3414,26 @@ framebuffer-space>> pipeline stages is
|
||||||
feature is not enabled, pname:dstStageMask must: not contain
|
feature is not enabled, pname:dstStageMask must: not contain
|
||||||
ename:VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT or
|
ename:VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT or
|
||||||
ename:VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT
|
ename:VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT
|
||||||
* [[VUID-vkCmdPipelineBarrier-pDependencies-01172]]
|
* [[VUID-vkCmdPipelineBarrier-pDependencies-02024]]
|
||||||
If fname:vkCmdPipelineBarrier is called within a render pass instance,
|
If fname:vkCmdPipelineBarrier is called within a render pass instance,
|
||||||
the render pass must: have been created with a sname:VkSubpassDependency
|
the render pass must: have been created with at least one
|
||||||
instance in pname:pDependencies that expresses a dependency from the
|
sname:VkSubpassDependency instance in
|
||||||
current subpass to itself.
|
sname:VkRenderPassCreateInfo::pname:pDependencies that expresses a
|
||||||
* [[VUID-vkCmdPipelineBarrier-srcStageMask-01173]]
|
dependency from the current subpass to itself, and for which
|
||||||
If fname:vkCmdPipelineBarrier is called within a render pass instance,
|
pname:srcStageMask contains a subset of the bit values in
|
||||||
pname:srcStageMask must: contain a subset of the bit values in the
|
sname:VkSubpassDependency::pname:srcStageMask, pname:dstStageMask
|
||||||
pname:srcStageMask member of that instance of sname:VkSubpassDependency
|
contains a subset of the bit values in
|
||||||
* [[VUID-vkCmdPipelineBarrier-dstStageMask-01174]]
|
sname:VkSubpassDependency::pname:dstStageMask, and pname:dependencyFlags
|
||||||
If fname:vkCmdPipelineBarrier is called within a render pass instance,
|
is equal to sname:VkSubpassDependency::pname:dependencyFlags.
|
||||||
pname:dstStageMask must: contain a subset of the bit values in the
|
* If fname:vkCmdPipelineBarrier is called within a render pass instance,
|
||||||
pname:dstStageMask member of that instance of sname:VkSubpassDependency
|
for each element of pname:pMemoryBarriers and
|
||||||
* [[VUID-vkCmdPipelineBarrier-srcAccessMask-01175]]
|
pname:pImageMemoryBarriers, the render pass must: have been defined with
|
||||||
If fname:vkCmdPipelineBarrier is called within a render pass instance,
|
a sname:VkSubpassDependency self-dependency for the current subpass with
|
||||||
the pname:srcAccessMask of any element of pname:pMemoryBarriers or
|
valid pname:srcStageMask, pname:dstStageMask, and pname:dependencyFlags
|
||||||
pname:pImageMemoryBarriers must: contain a subset of the bit values the
|
values such that stext:Vk*Barrier::pname:srcAccessMask contains a subset
|
||||||
pname:srcAccessMask member of that instance of sname:VkSubpassDependency
|
of the bit values in sname:VkSubpassDependency::pname:srcAccessMask and
|
||||||
* [[VUID-vkCmdPipelineBarrier-dstAccessMask-01176]]
|
stext:Vk*Barrier::pname:dstAccessMask contains a subset of the bit
|
||||||
If fname:vkCmdPipelineBarrier is called within a render pass instance,
|
values in sname:VkSubpassDependency::pname:dstAccessMask.
|
||||||
the pname:dstAccessMask of any element of pname:pMemoryBarriers or
|
|
||||||
pname:pImageMemoryBarriers must: contain a subset of the bit values the
|
|
||||||
pname:dstAccessMask member of that instance of sname:VkSubpassDependency
|
|
||||||
* [[VUID-vkCmdPipelineBarrier-dependencyFlags-01177]]
|
|
||||||
If fname:vkCmdPipelineBarrier is called within a render pass instance,
|
|
||||||
pname:dependencyFlags must: be equal to the pname:dependencyFlags member
|
|
||||||
of that instance of sname:VkSubpassDependency
|
|
||||||
* [[VUID-vkCmdPipelineBarrier-bufferMemoryBarrierCount-01178]]
|
* [[VUID-vkCmdPipelineBarrier-bufferMemoryBarrierCount-01178]]
|
||||||
If fname:vkCmdPipelineBarrier is called within a render pass instance,
|
If fname:vkCmdPipelineBarrier is called within a render pass instance,
|
||||||
pname:bufferMemoryBarrierCount must: be `0`
|
pname:bufferMemoryBarrierCount must: be `0`
|
||||||
|
@ -4120,6 +4113,8 @@ An acquire operation is defined by executing a
|
||||||
buffer range) or an <<synchronization-image-memory-barriers, image memory
|
buffer range) or an <<synchronization-image-memory-barriers, image memory
|
||||||
barrier>> (for an image subresource range), on a queue from the destination
|
barrier>> (for an image subresource range), on a queue from the destination
|
||||||
queue family.
|
queue family.
|
||||||
|
The buffer range or image subresource range specified in an acquire
|
||||||
|
operation must: match exactly that of a previous release operation.
|
||||||
The pname:srcQueueFamilyIndex parameter of the barrier must: be set to the
|
The pname:srcQueueFamilyIndex parameter of the barrier must: be set to the
|
||||||
source queue family index, and the pname:dstQueueFamilyIndex parameter to
|
source queue family index, and the pname:dstQueueFamilyIndex parameter to
|
||||||
the destination queue family index.
|
the destination queue family index.
|
||||||
|
|
|
@ -43,7 +43,7 @@ extern "C" {
|
||||||
#define VK_VERSION_MINOR(version) (((uint32_t)(version) >> 12) & 0x3ff)
|
#define VK_VERSION_MINOR(version) (((uint32_t)(version) >> 12) & 0x3ff)
|
||||||
#define VK_VERSION_PATCH(version) ((uint32_t)(version) & 0xfff)
|
#define VK_VERSION_PATCH(version) ((uint32_t)(version) & 0xfff)
|
||||||
// Version of this file
|
// Version of this file
|
||||||
#define VK_HEADER_VERSION 81
|
#define VK_HEADER_VERSION 82
|
||||||
|
|
||||||
|
|
||||||
#define VK_NULL_HANDLE 0
|
#define VK_NULL_HANDLE 0
|
||||||
|
@ -406,6 +406,8 @@ typedef enum VkStructureType {
|
||||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD = 1000185000,
|
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD = 1000185000,
|
||||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT = 1000190000,
|
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT = 1000190000,
|
||||||
VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT = 1000190001,
|
VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT = 1000190001,
|
||||||
|
VK_STRUCTURE_TYPE_CHECKPOINT_DATA_NV = 1000206000,
|
||||||
|
VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV = 1000206001,
|
||||||
VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO,
|
VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO,
|
||||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES,
|
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES,
|
||||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES,
|
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES,
|
||||||
|
@ -7760,6 +7762,38 @@ typedef struct VkPipelineVertexInputDivisorStateCreateInfoEXT {
|
||||||
#define VK_NV_SHADER_SUBGROUP_PARTITIONED_EXTENSION_NAME "VK_NV_shader_subgroup_partitioned"
|
#define VK_NV_SHADER_SUBGROUP_PARTITIONED_EXTENSION_NAME "VK_NV_shader_subgroup_partitioned"
|
||||||
|
|
||||||
|
|
||||||
|
#define VK_NV_device_diagnostic_checkpoints 1
|
||||||
|
#define VK_NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_SPEC_VERSION 2
|
||||||
|
#define VK_NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_EXTENSION_NAME "VK_NV_device_diagnostic_checkpoints"
|
||||||
|
|
||||||
|
typedef struct VkQueueFamilyCheckpointPropertiesNV {
|
||||||
|
VkStructureType sType;
|
||||||
|
void* pNext;
|
||||||
|
VkPipelineStageFlags checkpointExecutionStageMask;
|
||||||
|
} VkQueueFamilyCheckpointPropertiesNV;
|
||||||
|
|
||||||
|
typedef struct VkCheckpointDataNV {
|
||||||
|
VkStructureType sType;
|
||||||
|
void* pNext;
|
||||||
|
VkPipelineStageFlagBits stage;
|
||||||
|
void* pCheckpointMarker;
|
||||||
|
} VkCheckpointDataNV;
|
||||||
|
|
||||||
|
|
||||||
|
typedef void (VKAPI_PTR *PFN_vkCmdSetCheckpointNV)(VkCommandBuffer commandBuffer, const void* pCheckpointMarker);
|
||||||
|
typedef void (VKAPI_PTR *PFN_vkGetQueueCheckpointDataNV)(VkQueue queue, uint32_t* pCheckpointDataCount, VkCheckpointDataNV* pCheckpointData);
|
||||||
|
|
||||||
|
#ifndef VK_NO_PROTOTYPES
|
||||||
|
VKAPI_ATTR void VKAPI_CALL vkCmdSetCheckpointNV(
|
||||||
|
VkCommandBuffer commandBuffer,
|
||||||
|
const void* pCheckpointMarker);
|
||||||
|
|
||||||
|
VKAPI_ATTR void VKAPI_CALL vkGetQueueCheckpointDataNV(
|
||||||
|
VkQueue queue,
|
||||||
|
uint32_t* pCheckpointDataCount,
|
||||||
|
VkCheckpointDataNV* pCheckpointData);
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -1,2 +1,2 @@
|
||||||
# The value to start tagging VU statements at, unless overridden by -nextvu
|
# The value to start tagging VU statements at, unless overridden by -nextvu
|
||||||
startVUID = 1993
|
startVUID = 2026
|
||||||
|
|
37
xml/vk.xml
37
xml/vk.xml
|
@ -72,6 +72,7 @@ server.
|
||||||
<tag name="KDAB" author="KDAB" contact="Sean Harmer @seanharmer"/>
|
<tag name="KDAB" author="KDAB" contact="Sean Harmer @seanharmer"/>
|
||||||
<tag name="ANDROID" author="Google, Inc." contact="Jesse Hall @critsec"/>
|
<tag name="ANDROID" author="Google, Inc." contact="Jesse Hall @critsec"/>
|
||||||
<tag name="CHROMIUM" author="Google, Inc." contact="Jesse Hall @critsec"/>
|
<tag name="CHROMIUM" author="Google, Inc." contact="Jesse Hall @critsec"/>
|
||||||
|
<tag name="FUCHSIA" author="Google, Inc." contact="Craig Stout @cdotstout, Jesse Hall @critsec"/>
|
||||||
<tag name="GOOGLE" author="Google, Inc." contact="Jesse Hall @critsec"/>
|
<tag name="GOOGLE" author="Google, Inc." contact="Jesse Hall @critsec"/>
|
||||||
<tag name="QCOM" author="Qualcomm Technologies, Inc." contact="Maurice Ribble @mribble"/>
|
<tag name="QCOM" author="Qualcomm Technologies, Inc." contact="Maurice Ribble @mribble"/>
|
||||||
<tag name="LUNARG" author="LunarG, Inc." contact="Karen Ghavam @karenghavam-lunarg"/>
|
<tag name="LUNARG" author="LunarG, Inc." contact="Karen Ghavam @karenghavam-lunarg"/>
|
||||||
|
@ -146,7 +147,7 @@ server.
|
||||||
<type category="define">// Vulkan 1.1 version number
|
<type category="define">// Vulkan 1.1 version number
|
||||||
#define <name>VK_API_VERSION_1_1</name> <type>VK_MAKE_VERSION</type>(1, 1, 0)// Patch version should always be set to 0</type>
|
#define <name>VK_API_VERSION_1_1</name> <type>VK_MAKE_VERSION</type>(1, 1, 0)// Patch version should always be set to 0</type>
|
||||||
<type category="define">// Version of this file
|
<type category="define">// Version of this file
|
||||||
#define <name>VK_HEADER_VERSION</name> 81</type>
|
#define <name>VK_HEADER_VERSION</name> 82</type>
|
||||||
|
|
||||||
<type category="define">
|
<type category="define">
|
||||||
#define <name>VK_DEFINE_HANDLE</name>(object) typedef struct object##_T* object;</type>
|
#define <name>VK_DEFINE_HANDLE</name>(object) typedef struct object##_T* object;</type>
|
||||||
|
@ -3198,6 +3199,17 @@ server.
|
||||||
<member><type>VkBool32</type> <name>conditionalRendering</name></member>
|
<member><type>VkBool32</type> <name>conditionalRendering</name></member>
|
||||||
<member><type>VkBool32</type> <name>inheritedConditionalRendering</name></member>
|
<member><type>VkBool32</type> <name>inheritedConditionalRendering</name></member>
|
||||||
</type>
|
</type>
|
||||||
|
<type category="struct" name="VkQueueFamilyCheckpointPropertiesNV" structextends="VkQueueFamilyProperties2" returnedonly="true">
|
||||||
|
<member values="VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV"><type>VkStructureType</type> <name>sType</name></member>
|
||||||
|
<member><type>void</type>* <name>pNext</name></member>
|
||||||
|
<member><type>VkPipelineStageFlags</type> <name>checkpointExecutionStageMask</name></member>
|
||||||
|
</type>
|
||||||
|
<type category="struct" name="VkCheckpointDataNV" returnedonly="true">
|
||||||
|
<member values="VK_STRUCTURE_TYPE_CHECKPOINT_DATA_NV"><type>VkStructureType</type> <name>sType</name></member>
|
||||||
|
<member><type>void</type>* <name>pNext</name></member>
|
||||||
|
<member><type>VkPipelineStageFlagBits</type> <name>stage</name></member>
|
||||||
|
<member noautovalidity="true"><type>void</type>* <name>pCheckpointMarker</name></member>
|
||||||
|
</type>
|
||||||
</types>
|
</types>
|
||||||
|
|
||||||
<comment>Vulkan enumerant (token) definitions</comment>
|
<comment>Vulkan enumerant (token) definitions</comment>
|
||||||
|
@ -6239,6 +6251,17 @@ server.
|
||||||
<param><type>uint32_t</type> <name>maxDrawCount</name></param>
|
<param><type>uint32_t</type> <name>maxDrawCount</name></param>
|
||||||
<param><type>uint32_t</type> <name>stride</name></param>
|
<param><type>uint32_t</type> <name>stride</name></param>
|
||||||
</command>
|
</command>
|
||||||
|
<command queues="graphics,compute,transfer" renderpass="both" cmdbufferlevel="primary,secondary">
|
||||||
|
<proto><type>void</type> <name>vkCmdSetCheckpointNV</name></proto>
|
||||||
|
<param><type>VkCommandBuffer</type> <name>commandBuffer</name></param>
|
||||||
|
<param noautovalidity="true">const <type>void</type>* <name>pCheckpointMarker</name></param>
|
||||||
|
</command>
|
||||||
|
<command>
|
||||||
|
<proto><type>void</type> <name>vkGetQueueCheckpointDataNV</name></proto>
|
||||||
|
<param><type>VkQueue</type> <name>queue</name></param>
|
||||||
|
<param optional="false,true"><type>uint32_t</type>* <name>pCheckpointDataCount</name></param>
|
||||||
|
<param optional="true" len="pCheckpointDataCount"><type>VkCheckpointDataNV</type>* <name>pCheckpointData</name></param>
|
||||||
|
</command>
|
||||||
</commands>
|
</commands>
|
||||||
|
|
||||||
<feature api="vulkan" name="VK_VERSION_1_0" number="1.0" comment="Vulkan core API interface definitions">
|
<feature api="vulkan" name="VK_VERSION_1_0" number="1.0" comment="Vulkan core API interface definitions">
|
||||||
|
@ -8960,10 +8983,16 @@ server.
|
||||||
<enum value=""VK_NV_extension_206"" name="VK_NV_EXTENSION_206_EXTENSION_NAME"/>
|
<enum value=""VK_NV_extension_206"" name="VK_NV_EXTENSION_206_EXTENSION_NAME"/>
|
||||||
</require>
|
</require>
|
||||||
</extension>
|
</extension>
|
||||||
<extension name="VK_NV_extension_207" number="207" author="NV" contact="Nuno Subtil @nsubtil" supported="disabled">
|
<extension name="VK_NV_device_diagnostic_checkpoints" type="device" number="207" requires="VK_KHR_get_physical_device_properties2" author="NVIDIA" contact="Nuno Subtil @nsubtil" supported="vulkan">
|
||||||
<require>
|
<require>
|
||||||
<enum value="0" name="VK_NV_EXTENSION_207_SPEC_VERSION"/>
|
<enum value="2" name="VK_NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_SPEC_VERSION"/>
|
||||||
<enum value=""VK_NV_extension_207"" name="VK_NV_EXTENSION_207_EXTENSION_NAME"/>
|
<enum value=""VK_NV_device_diagnostic_checkpoints"" name="VK_NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_EXTENSION_NAME"/>
|
||||||
|
<enum offset="0" extends="VkStructureType" name="VK_STRUCTURE_TYPE_CHECKPOINT_DATA_NV"/>
|
||||||
|
<enum offset="1" extends="VkStructureType" name="VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV"/>
|
||||||
|
<type name="VkQueueFamilyCheckpointPropertiesNV"/>
|
||||||
|
<type name="VkCheckpointDataNV"/>
|
||||||
|
<command name="vkCmdSetCheckpointNV"/>
|
||||||
|
<command name="vkGetQueueCheckpointDataNV"/>
|
||||||
</require>
|
</require>
|
||||||
</extension>
|
</extension>
|
||||||
<extension name="VK_KHR_extension_208" number="208" type="device" author="KHR" contact="Daniel Rakos @drakos-arm" supported="disabled">
|
<extension name="VK_KHR_extension_208" number="208" type="device" author="KHR" contact="Daniel Rakos @drakos-arm" supported="disabled">
|
||||||
|
|
Loading…
Reference in New Issue