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
|
||||
# ADOCOPTS options for asciidoc->HTML5 output
|
||||
NOTEOPTS = -a editing-notes -a implementation-guide
|
||||
PATCHVERSION = 81
|
||||
PATCHVERSION = 82
|
||||
ifneq (,$(findstring VK_VERSION_1_1,$(VERSIONS)))
|
||||
SPECREVISION = 1.1.$(PATCHVERSION)
|
||||
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
|
||||
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::
|
||||
A value that is interpreted according to its conventional
|
||||
interpretation, and is not normalized.
|
||||
|
|
|
@ -543,6 +543,38 @@ instructions:
|
|||
|
||||
The precision of double-precision instructions is at least that of single
|
||||
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
|
||||
at least as follows, unless decorated with RelaxedPrecision:
|
||||
|
||||
|
@ -593,7 +625,7 @@ additional functionality beyond what code:OpUMod provides.
|
|||
|
||||
|
||||
[[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
|
||||
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
|
||||
****
|
||||
ifndef::VK_ANDROID_external_memory_android_hardware_buffer[]
|
||||
ifdef::VK_VERSION_1_1,VK_KHR_maintenance1[]
|
||||
* [[VUID-vkCmdClearColorImage-image-00001]]
|
||||
pname:image must: use a format that supports
|
||||
ename:VK_FORMAT_FEATURE_TRANSFER_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
|
||||
* [[VUID-vkCmdClearColorImage-image-01993]]
|
||||
The <<resources-image-format-features,format features>> of pname:image
|
||||
must: contain ename:VK_FORMAT_FEATURE_TRANSFER_DST_BIT.
|
||||
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]]
|
||||
pname:image must: have been created with
|
||||
ename:VK_IMAGE_USAGE_TRANSFER_DST_BIT usage flag
|
||||
|
@ -163,29 +145,11 @@ include::../api/protos/vkCmdClearDepthStencilImage.txt[]
|
|||
|
||||
.Valid Usage
|
||||
****
|
||||
ifndef::VK_ANDROID_external_memory_android_hardware_buffer[]
|
||||
ifdef::VK_VERSION_1_1,VK_KHR_maintenance1[]
|
||||
* [[VUID-vkCmdClearDepthStencilImage-image-00008]]
|
||||
pname:image must: use a format that supports
|
||||
ename:VK_FORMAT_FEATURE_TRANSFER_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
|
||||
* [[VUID-vkCmdClearDepthStencilImage-image-01994]]
|
||||
The <<resources-image-format-features,format features>> of pname:image
|
||||
must: contain ename:VK_FORMAT_FEATURE_TRANSFER_DST_BIT.
|
||||
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]]
|
||||
pname:image must: have been created with
|
||||
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
|
||||
pname:pSubmits must: have been allocated from a sname:VkCommandPool that
|
||||
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[]
|
||||
|
|
|
@ -45,28 +45,10 @@ endif::VK_KHR_shared_presentable_image[]
|
|||
destination of a copy, it must: be in the ename:VK_IMAGE_LAYOUT_GENERAL
|
||||
layout.
|
||||
ifdef::VK_VERSION_1_1,VK_KHR_maintenance1[]
|
||||
* Source images must: use a format that supports
|
||||
ename:VK_FORMAT_FEATURE_TRANSFER_SRC_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
|
||||
* 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
|
||||
* Source images must: have ename:VK_FORMAT_FEATURE_TRANSFER_SRC_BIT in
|
||||
their <<resources-image-format-features,format features>>.
|
||||
* Destination images must: have ename:VK_FORMAT_FEATURE_TRANSFER_DST_BIT
|
||||
in their <<resources-image-format-features,format features>>.
|
||||
endif::VK_VERSION_1_1,VK_KHR_maintenance1[]
|
||||
* Source images must: have been created with the
|
||||
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
|
||||
regions, specified by the elements of pname:pRegions, must: not overlap
|
||||
in memory
|
||||
ifndef::VK_ANDROID_external_memory_android_hardware_buffer[]
|
||||
ifdef::VK_VERSION_1_1,VK_KHR_maintenance1[]
|
||||
* [[VUID-vkCmdCopyImage-srcImage-00125]]
|
||||
pname:srcImage must: use a format that supports
|
||||
ename:VK_FORMAT_FEATURE_TRANSFER_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
|
||||
* [[VUID-vkCmdCopyImage-srcImage-01995]]
|
||||
The <<resources-image-format-features,format features>> of
|
||||
pname:srcImage must: contain ename:VK_FORMAT_FEATURE_TRANSFER_SRC_BIT.
|
||||
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]]
|
||||
pname:srcImage must: have been created with
|
||||
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_SHARED_PRESENT_KHR
|
||||
endif::VK_KHR_shared_presentable_image[]
|
||||
ifndef::VK_ANDROID_external_memory_android_hardware_buffer[]
|
||||
ifdef::VK_VERSION_1_1,VK_KHR_maintenance1[]
|
||||
* [[VUID-vkCmdCopyImage-dstImage-00130]]
|
||||
pname:dstImage must: use a format that supports
|
||||
ename:VK_FORMAT_FEATURE_TRANSFER_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
|
||||
* [[VUID-vkCmdCopyImage-dstImage-01996]]
|
||||
The <<resources-image-format-features,format features>> of
|
||||
pname:dstImage must: contain ename:VK_FORMAT_FEATURE_TRANSFER_DST_BIT.
|
||||
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]]
|
||||
pname:dstImage must: have been created with
|
||||
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]]
|
||||
pname:srcBuffer must: have been created with
|
||||
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[]
|
||||
* [[VUID-vkCmdCopyBufferToImage-dstImage-00175]]
|
||||
pname:dstImage must: use a format that supports
|
||||
ename:VK_FORMAT_FEATURE_TRANSFER_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
|
||||
* [[VUID-vkCmdCopyBufferToImage-dstImage-01997]]
|
||||
The <<resources-image-format-features,format features>> of
|
||||
pname:dstImage must: contain ename:VK_FORMAT_FEATURE_TRANSFER_DST_BIT.
|
||||
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]]
|
||||
If pname:srcBuffer is non-sparse then it must: be bound completely and
|
||||
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
|
||||
regions, specified by the elements of pname:pRegions, must: not overlap
|
||||
in memory
|
||||
ifndef::VK_ANDROID_external_memory_android_hardware_buffer[]
|
||||
ifdef::VK_VERSION_1_1,VK_KHR_maintenance1[]
|
||||
* [[VUID-vkCmdCopyImageToBuffer-srcImage-00185]]
|
||||
pname:srcImage must: use a format that supports
|
||||
ename:VK_FORMAT_FEATURE_TRANSFER_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
|
||||
* [[VUID-vkCmdCopyImageToBuffer-srcImage-01998]]
|
||||
The <<resources-image-format-features,format features>> of
|
||||
pname:srcImage must: contain ename:VK_FORMAT_FEATURE_TRANSFER_SRC_BIT.
|
||||
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]]
|
||||
pname:srcImage must: have been created with
|
||||
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
|
||||
pname:pRegions, must: not overlap in memory with any texel that may: be
|
||||
sampled during the blit operation
|
||||
ifndef::VK_ANDROID_external_memory_android_hardware_buffer[]
|
||||
* [[VUID-vkCmdBlitImage-srcImage-00218]]
|
||||
pname:srcImage must: use a format that supports
|
||||
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[]
|
||||
* [[VUID-vkCmdBlitImage-srcImage-01999]]
|
||||
The <<resources-image-format-features,format features>> of
|
||||
pname:srcImage must: contain ename:VK_FORMAT_FEATURE_BLIT_SRC_BIT.
|
||||
ifdef::VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion[]
|
||||
* [[VUID-vkCmdBlitImage-srcImage-01561]]
|
||||
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_GENERAL
|
||||
endif::VK_KHR_shared_presentable_image[]
|
||||
ifndef::VK_ANDROID_external_memory_android_hardware_buffer[]
|
||||
* [[VUID-vkCmdBlitImage-dstImage-00223]]
|
||||
pname:dstImage must: use a format that supports
|
||||
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[]
|
||||
* [[VUID-vkCmdBlitImage-dstImage-02000]]
|
||||
The <<resources-image-format-features,format features>> of
|
||||
pname:dstImage must: contain ename:VK_FORMAT_FEATURE_BLIT_DST_BIT.
|
||||
ifdef::VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion[]
|
||||
* [[VUID-vkCmdBlitImage-dstImage-01562]]
|
||||
pname:dstImage must: not use a format listed in
|
||||
|
@ -1716,53 +1590,16 @@ endif::VK_KHR_shared_presentable_image[]
|
|||
* [[VUID-vkCmdBlitImage-dstImage-00234]]
|
||||
pname:dstImage must: have been created with a pname:samples value of
|
||||
ename:VK_SAMPLE_COUNT_1_BIT
|
||||
ifndef::VK_ANDROID_external_memory_android_hardware_buffer[]
|
||||
* [[VUID-vkCmdBlitImage-filter-00235]]
|
||||
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
|
||||
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[]
|
||||
* [[VUID-vkCmdBlitImage-filter-02001]]
|
||||
If pname:filter is ename:VK_FILTER_LINEAR, then the
|
||||
<<resources-image-format-features,format features>> of pname:srcImage
|
||||
must: contain ename:VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT.
|
||||
ifdef::VK_IMG_filter_cubic[]
|
||||
ifndef::VK_ANDROID_external_memory_android_hardware_buffer[]
|
||||
* [[VUID-vkCmdBlitImage-filter-00236]]
|
||||
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
|
||||
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-02002]]
|
||||
If pname:filter is ename:VK_FILTER_CUBIC_IMG, then the
|
||||
<<resources-image-format-features,format features>> of pname:srcImage
|
||||
must: contain
|
||||
ename:VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG.
|
||||
* [[VUID-vkCmdBlitImage-filter-00237]]
|
||||
If pname:filter is ename:VK_FILTER_CUBIC_IMG, pname:srcImage must: have
|
||||
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_GENERAL
|
||||
endif::VK_KHR_shared_presentable_image[]
|
||||
* [[VUID-vkCmdResolveImage-dstImage-00264]]
|
||||
If pname:dstImage was created with pname:tiling equal to
|
||||
ename:VK_IMAGE_TILING_LINEAR, 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: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-dstImage-02003]]
|
||||
The <<resources-image-format-features,format features>> of
|
||||
pname:dstImage must: contain
|
||||
ename:VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT.
|
||||
* [[VUID-vkCmdResolveImage-srcImage-01386]]
|
||||
pname:srcImage and pname:dstImage must: have been created with the same
|
||||
image format
|
||||
|
|
|
@ -86,3 +86,7 @@ endif::VK_EXT_debug_marker[]
|
|||
ifdef::VK_EXT_debug_report[]
|
||||
include::VK_EXT_debug_report.txt[]
|
||||
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 mapping of each type to SPIR-V is listed in the
|
||||
<<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
|
||||
<<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
|
||||
operations can: be performed on.
|
||||
|
||||
Storage image loads are supported in all shader stages for image formats
|
||||
which report support for the
|
||||
<<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).
|
||||
Storage image loads are supported in all shader stages for image views whose
|
||||
<<resources-image-view-format-features,format features>> contain
|
||||
<<features-formats-properties,ename:VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT>>.
|
||||
|
||||
Stores to storage images are supported in compute shaders for image formats
|
||||
which report support for the ename:VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT
|
||||
feature 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 views
|
||||
whose <<resources-image-view-format-features,format features>> contain
|
||||
<<features-formats-properties,ename:VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT>>.
|
||||
|
||||
Atomic operations on storage images are supported in compute shaders for
|
||||
image formats which report support for the
|
||||
<<features-formats-properties,ename:VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT>>
|
||||
feature via flink:vkGetPhysicalDeviceFormatProperties in
|
||||
slink:VkFormatProperties::pname:linearTilingFeatures (for images with linear
|
||||
tiling) or slink:VkFormatProperties::pname:optimalTilingFeatures (for images
|
||||
with optimal tiling).
|
||||
image views whose <<resources-image-view-format-features,format features>>
|
||||
contain
|
||||
<<features-formats-properties,ename:VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT>>.
|
||||
|
||||
When the <<features-features-fragmentStoresAndAtomics,
|
||||
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
|
||||
sampling operations.
|
||||
|
||||
Sampled images are supported in all shader stages for image formats which
|
||||
report support for the
|
||||
<<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).
|
||||
Sampled images are supported in all shader stages for image views whose
|
||||
<<resources-image-view-format-features,format features>> contain
|
||||
<<features-formats-properties,ename:VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT>>.
|
||||
|
||||
The image subresources for a sampled image must: be in the
|
||||
ifdef::VK_KHR_shared_presentable_image[]
|
||||
|
@ -1603,6 +1589,11 @@ include::../api/protos/vkDestroyPipelineLayout.txt[]
|
|||
* [[VUID-vkDestroyPipelineLayout-pipelineLayout-00300]]
|
||||
If no sname:VkAllocationCallbacks were provided when
|
||||
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[]
|
||||
|
|
|
@ -618,8 +618,11 @@ endif::VK_KHR_get_physical_device_properties2[]
|
|||
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]]
|
||||
== Devices
|
||||
|
|
|
@ -99,57 +99,17 @@ is assembled.
|
|||
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
|
||||
specified in the bound descriptor set
|
||||
ifndef::VK_ANDROID_external_memory_android_hardware_buffer[]
|
||||
* [[VUID-vkCmdDispatch-linearTilingFeatures-00398]]
|
||||
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-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[]
|
||||
* [[VUID-vkCmdDispatch-None-02005]]
|
||||
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[]
|
||||
ifndef::VK_ANDROID_external_memory_android_hardware_buffer[]
|
||||
* [[VUID-vkCmdDispatch-linearTilingFeatures-00399]]
|
||||
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
|
||||
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-02006]]
|
||||
If a sname:VkImageView is sampled with with ename:VK_FILTER_CUBIC_IMG 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_CUBIC_BIT_IMG.
|
||||
* [[VUID-vkCmdDispatch-None-00400]]
|
||||
Any slink:VkImageView being sampled with ename:VK_FILTER_CUBIC_IMG as a
|
||||
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
|
||||
buffer, it must: not access values outside of the range of that buffer
|
||||
specified in the bound descriptor set
|
||||
ifndef::VK_ANDROID_external_memory_android_hardware_buffer[]
|
||||
* [[VUID-vkCmdDispatchIndirect-linearTilingFeatures-00414]]
|
||||
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-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[]
|
||||
* [[VUID-vkCmdDispatchIndirect-None-02007]]
|
||||
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[]
|
||||
ifndef::VK_ANDROID_external_memory_android_hardware_buffer[]
|
||||
* [[VUID-vkCmdDispatchIndirect-linearTilingFeatures-00415]]
|
||||
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
|
||||
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-02008]]
|
||||
If a sname:VkImageView is sampled with with ename:VK_FILTER_CUBIC_IMG 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_CUBIC_BIT_IMG.
|
||||
* [[VUID-vkCmdDispatchIndirect-None-00416]]
|
||||
Any slink:VkImageView being sampled with ename:VK_FILTER_CUBIC_IMG as a
|
||||
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
|
||||
buffer, it must: not access values outside of the range of that buffer
|
||||
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]]
|
||||
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.
|
||||
* [[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[]
|
||||
ifndef::VK_ANDROID_external_memory_android_hardware_buffer[]
|
||||
* [[VUID-vkCmdDraw-linearTilingFeatures-00451]]
|
||||
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
|
||||
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-02010]]
|
||||
If a sname:VkImageView is sampled with with ename:VK_FILTER_CUBIC_IMG 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_CUBIC_BIT_IMG.
|
||||
* [[VUID-vkCmdDraw-None-00452]]
|
||||
Any slink:VkImageView being sampled with ename:VK_FILTER_CUBIC_IMG as a
|
||||
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
|
||||
buffer, it must: not access values outside of the range of that buffer
|
||||
specified in the bound descriptor set
|
||||
ifndef::VK_ANDROID_external_memory_android_hardware_buffer[]
|
||||
* [[VUID-vkCmdDrawIndexed-linearTilingFeatures-00470]]
|
||||
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-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-02011]]
|
||||
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.
|
||||
* [[VUID-vkCmdDrawIndexed-None-01500]]
|
||||
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.
|
||||
ifdef::VK_IMG_filter_cubic[]
|
||||
ifndef::VK_ANDROID_external_memory_android_hardware_buffer[]
|
||||
* [[VUID-vkCmdDrawIndexed-linearTilingFeatures-00471]]
|
||||
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
|
||||
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-02012]]
|
||||
If a sname:VkImageView is sampled with with ename:VK_FILTER_CUBIC_IMG 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_CUBIC_BIT_IMG.
|
||||
* [[VUID-vkCmdDrawIndexed-None-00472]]
|
||||
Any slink:VkImageView being sampled with ename:VK_FILTER_CUBIC_IMG as a
|
||||
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
|
||||
buffer, it must: not access values outside of the range of that buffer
|
||||
specified in the bound descriptor set
|
||||
ifndef::VK_ANDROID_external_memory_android_hardware_buffer[]
|
||||
* [[VUID-vkCmdDrawIndirect-linearTilingFeatures-00496]]
|
||||
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-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-02013]]
|
||||
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.
|
||||
* [[VUID-vkCmdDrawIndirect-None-01501]]
|
||||
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.
|
||||
ifdef::VK_IMG_filter_cubic[]
|
||||
ifndef::VK_ANDROID_external_memory_android_hardware_buffer[]
|
||||
* [[VUID-vkCmdDrawIndirect-linearTilingFeatures-00497]]
|
||||
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
|
||||
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-02014]]
|
||||
If a sname:VkImageView is sampled with with ename:VK_FILTER_CUBIC_IMG 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_CUBIC_BIT_IMG.
|
||||
* [[VUID-vkCmdDrawIndirect-None-00498]]
|
||||
Any slink:VkImageView being sampled with ename:VK_FILTER_CUBIC_IMG as a
|
||||
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
|
||||
buffer, it must: not access values outside of the range of that buffer
|
||||
specified in the bound descriptor set
|
||||
* [[VUID-vkCmdDrawIndirectCountKHR-linearTilingFeatures-03130]]
|
||||
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 (for a linear
|
||||
image) or sname:VkFormatProperties::pname:optimalTilingFeatures(for an
|
||||
optimally tiled image) returned by
|
||||
fname:vkGetPhysicalDeviceFormatProperties
|
||||
* [[VUID-vkCmdDrawIndirectCountKHR-None-02015]]
|
||||
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.
|
||||
* [[VUID-vkCmdDrawIndirectCountKHR-None-03131]]
|
||||
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.
|
||||
ifdef::VK_IMG_filter_cubic[]
|
||||
* [[VUID-vkCmdDrawIndirectCountKHR-linearTilingFeatures-03169]]
|
||||
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
|
||||
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-02016]]
|
||||
If a sname:VkImageView is sampled with with ename:VK_FILTER_CUBIC_IMG 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_CUBIC_BIT_IMG.
|
||||
* [[VUID-vkCmdDrawIndirectCountKHR-None-03170]]
|
||||
Any slink:VkImageView being sampled with ename:VK_FILTER_CUBIC_IMG as a
|
||||
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
|
||||
buffer, it must: not access values outside of the range of that buffer
|
||||
specified in the bound descriptor set
|
||||
ifndef::VK_ANDROID_external_memory_android_hardware_buffer[]
|
||||
* [[VUID-vkCmdDrawIndirectCountAMD-linearTilingFeatures-00524]]
|
||||
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-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-02017]]
|
||||
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.
|
||||
* [[VUID-vkCmdDrawIndirectCountAMD-None-01502]]
|
||||
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.
|
||||
|
@ -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
|
||||
buffer, it must: not access values outside of the range of that buffer
|
||||
specified in the bound descriptor set
|
||||
ifndef::VK_ANDROID_external_memory_android_hardware_buffer[]
|
||||
* [[VUID-vkCmdDrawIndexedIndirect-linearTilingFeatures-00548]]
|
||||
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-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-02018]]
|
||||
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.
|
||||
* [[VUID-vkCmdDrawIndexedIndirect-None-01503]]
|
||||
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.
|
||||
ifdef::VK_IMG_filter_cubic[]
|
||||
ifndef::VK_ANDROID_external_memory_android_hardware_buffer[]
|
||||
* [[VUID-vkCmdDrawIndexedIndirect-linearTilingFeatures-00549]]
|
||||
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
|
||||
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-02019]]
|
||||
If a sname:VkImageView is sampled with with ename:VK_FILTER_CUBIC_IMG 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_CUBIC_BIT_IMG.
|
||||
* [[VUID-vkCmdDrawIndexedIndirect-None-00550]]
|
||||
Any slink:VkImageView being sampled with ename:VK_FILTER_CUBIC_IMG as a
|
||||
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
|
||||
buffer, it must: not access values outside of the range of that buffer
|
||||
specified in the bound descriptor set
|
||||
* [[VUID-vkCmdDrawIndexedIndirectCountKHR-linearTilingFeatures-03162]]
|
||||
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 (for a linear
|
||||
image) or sname:VkFormatProperties::pname:optimalTilingFeatures(for an
|
||||
optimally tiled image) returned by
|
||||
fname:vkGetPhysicalDeviceFormatProperties
|
||||
* [[VUID-vkCmdDrawIndexedIndirectCountKHR-None-02020]]
|
||||
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.
|
||||
* [[VUID-vkCmdDrawIndexedIndirectCountKHR-None-03163]]
|
||||
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.
|
||||
ifdef::VK_IMG_filter_cubic[]
|
||||
* [[VUID-vkCmdDrawIndexedIndirectCountKHR-linearTilingFeatures-03172]]
|
||||
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
|
||||
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-02021]]
|
||||
If a sname:VkImageView is sampled with with ename:VK_FILTER_CUBIC_IMG 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_CUBIC_BIT_IMG.
|
||||
* [[VUID-vkCmdDrawIndexedIndirectCountKHR-None-03173]]
|
||||
Any slink:VkImageView being sampled with ename:VK_FILTER_CUBIC_IMG as a
|
||||
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
|
||||
buffer, it must: not access values outside of the range of that buffer
|
||||
specified in the bound descriptor set
|
||||
ifndef::VK_ANDROID_external_memory_android_hardware_buffer[]
|
||||
* [[VUID-vkCmdDrawIndexedIndirectCountAMD-linearTilingFeatures-00577]]
|
||||
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-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-02022]]
|
||||
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.
|
||||
* [[VUID-vkCmdDrawIndexedIndirectCountAMD-None-01504]]
|
||||
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.
|
||||
|
|
|
@ -630,16 +630,13 @@ ifdef::VK_VERSION_1_1,VK_KHR_maintenance2[]
|
|||
pname:front and pname:back members of pname:pDepthStencilState must: be
|
||||
ename:VK_STENCIL_OP_KEEP
|
||||
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,
|
||||
then for each color attachment in the subpass the pname:blendEnable
|
||||
member of the corresponding element of the pname:pAttachment member of
|
||||
pname:pColorBlendState must: be ename:VK_FALSE if the pname:format of
|
||||
the attachment does not support color blend operations, as specified by
|
||||
the ename:VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT flag in
|
||||
sname:VkFormatProperties::pname:linearTilingFeatures or
|
||||
sname:VkFormatProperties::pname:optimalTilingFeatures returned by
|
||||
fname:vkGetPhysicalDeviceFormatProperties
|
||||
pname:pColorBlendState must: be ename:VK_FALSE if the attached image's
|
||||
<<resources-image-format-features,format features>> does not contain the
|
||||
ename:VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT.
|
||||
* [[VUID-VkGraphicsPipelineCreateInfo-attachmentCount-00746]]
|
||||
If rasterization is not disabled and the subpass uses color attachments,
|
||||
the pname:attachmentCount member of pname:pColorBlendState must: be
|
||||
|
|
|
@ -367,8 +367,8 @@ pixel.
|
|||
|
|
||||
[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.875, 0.375)# +
|
||||
|
|
|
@ -1633,6 +1633,37 @@ include::../api/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]]
|
||||
== Image Layouts
|
||||
|
@ -2812,6 +2843,38 @@ include::../api/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]]
|
||||
== Resource Memory Association
|
||||
|
|
|
@ -3414,33 +3414,26 @@ framebuffer-space>> pipeline stages is
|
|||
feature is not enabled, pname:dstStageMask must: not contain
|
||||
ename:VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT or
|
||||
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,
|
||||
the render pass must: have been created with a sname:VkSubpassDependency
|
||||
instance in pname:pDependencies that expresses a dependency from the
|
||||
current subpass to itself.
|
||||
* [[VUID-vkCmdPipelineBarrier-srcStageMask-01173]]
|
||||
If fname:vkCmdPipelineBarrier is called within a render pass instance,
|
||||
pname:srcStageMask must: contain a subset of the bit values in the
|
||||
pname:srcStageMask member of that instance of sname:VkSubpassDependency
|
||||
* [[VUID-vkCmdPipelineBarrier-dstStageMask-01174]]
|
||||
If fname:vkCmdPipelineBarrier is called within a render pass instance,
|
||||
pname:dstStageMask must: contain a subset of the bit values in the
|
||||
pname:dstStageMask member of that instance of sname:VkSubpassDependency
|
||||
* [[VUID-vkCmdPipelineBarrier-srcAccessMask-01175]]
|
||||
If fname:vkCmdPipelineBarrier is called within a render pass instance,
|
||||
the pname:srcAccessMask of any element of pname:pMemoryBarriers or
|
||||
pname:pImageMemoryBarriers must: contain a subset of the bit values the
|
||||
pname:srcAccessMask member of that instance of sname:VkSubpassDependency
|
||||
* [[VUID-vkCmdPipelineBarrier-dstAccessMask-01176]]
|
||||
If fname:vkCmdPipelineBarrier is called within a render pass instance,
|
||||
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
|
||||
the render pass must: have been created with at least one
|
||||
sname:VkSubpassDependency instance in
|
||||
sname:VkRenderPassCreateInfo::pname:pDependencies that expresses a
|
||||
dependency from the current subpass to itself, and for which
|
||||
pname:srcStageMask contains a subset of the bit values in
|
||||
sname:VkSubpassDependency::pname:srcStageMask, pname:dstStageMask
|
||||
contains a subset of the bit values in
|
||||
sname:VkSubpassDependency::pname:dstStageMask, and pname:dependencyFlags
|
||||
is equal to sname:VkSubpassDependency::pname:dependencyFlags.
|
||||
* If fname:vkCmdPipelineBarrier is called within a render pass instance,
|
||||
for each element of pname:pMemoryBarriers and
|
||||
pname:pImageMemoryBarriers, the render pass must: have been defined with
|
||||
a sname:VkSubpassDependency self-dependency for the current subpass with
|
||||
valid pname:srcStageMask, pname:dstStageMask, and pname:dependencyFlags
|
||||
values such that stext:Vk*Barrier::pname:srcAccessMask contains a subset
|
||||
of the bit values in sname:VkSubpassDependency::pname:srcAccessMask and
|
||||
stext:Vk*Barrier::pname:dstAccessMask contains a subset of the bit
|
||||
values in sname:VkSubpassDependency::pname:dstAccessMask.
|
||||
* [[VUID-vkCmdPipelineBarrier-bufferMemoryBarrierCount-01178]]
|
||||
If fname:vkCmdPipelineBarrier is called within a render pass instance,
|
||||
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
|
||||
barrier>> (for an image subresource range), on a queue from the destination
|
||||
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
|
||||
source queue family index, and the pname:dstQueueFamilyIndex parameter to
|
||||
the destination queue family index.
|
||||
|
|
|
@ -43,7 +43,7 @@ extern "C" {
|
|||
#define VK_VERSION_MINOR(version) (((uint32_t)(version) >> 12) & 0x3ff)
|
||||
#define VK_VERSION_PATCH(version) ((uint32_t)(version) & 0xfff)
|
||||
// Version of this file
|
||||
#define VK_HEADER_VERSION 81
|
||||
#define VK_HEADER_VERSION 82
|
||||
|
||||
|
||||
#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_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT = 1000190000,
|
||||
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_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,
|
||||
|
@ -7760,6 +7762,38 @@ typedef struct VkPipelineVertexInputDivisorStateCreateInfoEXT {
|
|||
#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
|
||||
}
|
||||
#endif
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
# The value to start tagging VU statements at, unless overridden by -nextvu
|
||||
startVUID = 1993
|
||||
startVUID = 2026
|
||||
|
|
39
xml/vk.xml
39
xml/vk.xml
|
@ -72,6 +72,7 @@ server.
|
|||
<tag name="KDAB" author="KDAB" contact="Sean Harmer @seanharmer"/>
|
||||
<tag name="ANDROID" 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="QCOM" author="Qualcomm Technologies, Inc." contact="Maurice Ribble @mribble"/>
|
||||
<tag name="LUNARG" author="LunarG, Inc." contact="Karen Ghavam @karenghavam-lunarg"/>
|
||||
|
@ -146,7 +147,7 @@ server.
|
|||
<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>
|
||||
<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">
|
||||
#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>inheritedConditionalRendering</name></member>
|
||||
</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>
|
||||
|
||||
<comment>Vulkan enumerant (token) definitions</comment>
|
||||
|
@ -3725,7 +3737,7 @@ server.
|
|||
<enum value="-10" name="VK_ERROR_TOO_MANY_OBJECTS" comment="Too many objects of the type have already been created"/>
|
||||
<enum value="-11" name="VK_ERROR_FORMAT_NOT_SUPPORTED" comment="Requested format is not supported on this device"/>
|
||||
<enum value="-12" name="VK_ERROR_FRAGMENTED_POOL" comment="A requested pool allocation has failed due to fragmentation of the pool's memory"/>
|
||||
<unused start="-13" comment="This is the next unused available error code (negative value)"/>
|
||||
<unused start="-13" comment="This is the next unused available error code (negative value)"/>
|
||||
</enums>
|
||||
<enums name="VkDynamicState" type="enum">
|
||||
<enum value="0" name="VK_DYNAMIC_STATE_VIEWPORT"/>
|
||||
|
@ -6239,6 +6251,17 @@ server.
|
|||
<param><type>uint32_t</type> <name>maxDrawCount</name></param>
|
||||
<param><type>uint32_t</type> <name>stride</name></param>
|
||||
</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>
|
||||
|
||||
<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"/>
|
||||
</require>
|
||||
</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>
|
||||
<enum value="0" name="VK_NV_EXTENSION_207_SPEC_VERSION"/>
|
||||
<enum value=""VK_NV_extension_207"" name="VK_NV_EXTENSION_207_EXTENSION_NAME"/>
|
||||
<enum value="2" name="VK_NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_SPEC_VERSION"/>
|
||||
<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>
|
||||
</extension>
|
||||
<extension name="VK_KHR_extension_208" number="208" type="device" author="KHR" contact="Daniel Rakos @drakos-arm" supported="disabled">
|
||||
|
|
Loading…
Reference in New Issue