Change log for February 19, 2018 Vulkan 1.0.69 spec update:
* Bump API patch number and header version number to 69 for this update.
Github Issues:
* Clean up description of synchronization for flink:vkAcquireNextImageKHR
(public issue 626).
* Move valid usage statements requiring offset and extent to respect image
transfer granularity requirements of the queue family they are submitted
against from slink:VkImageCopy and slink:VkBufferImageCopy to the
corresponding flink:vkCmdCopyImage, flink:vkCmdCopyBufferToImage, and
flink:vkCmdCopyImageToBuffer commands, where are relevant information is
known (public issue 654).
* Clarify that flink:vkGetDeviceProcAddr only supports device-level
commands (public issue 655).
Internal Issues:
* Associate each elink:VkDescriptorType with a type of descriptor, and
link to descriptions of those types (internal issue 860).
* Rework valid usage extraction script to better utilize and respond to
spec markup, and fix some spec markup accordingly (internal issues 846,
909, 945).
* Rephrase flink:vkCmdPushConstants valid usage to allow overlapping push
constant ranges in different shader stages (internal issue 1103).
* Fix problem with diff_html target in extension.rb (internal issue 1104).
* Modify valid usage statements for slink:VkClearDepthStencilValue,
slink:VkGraphicsPipelineCreateInfo, slink:VkViewport, and
flink:vkCmdSetDepthBounds, and the description of vkCmdSetDepthBias, to
clarify that clamping is applied if and only if the
`VK_EXT_depth_range_unrestricted` is not enabled (internal issue 1124),
in versions of the specification built with that extension included.
* Resolve contradictions and use of undefined "`per-sample shading`" term
in the <<primsrast-sampleshading, Sample Shading>> and
<<shaders-fragment-execution, Fragment Shader Execution>> sections; for
the <<features-features-sampleRateShading, sampleRateShading feature>>;
for code:FragCoord, code:SampleId, and code:SamplePosition; and for
slink:sname:VkPipelineMultisampleStateCreateInfo (internal issue 1134).
* Clarify the meaning of the ptext:maxDescriptorSet* limits in footnote 8
of the <<features-limits-required,Required Limits>> table (internal
issue 1139).
* Fix broken NOTE markup in slink:VkSamplerCreateInfo.txt (internal issue
1140).
* Remove extend comparison language from valid usage statement for
slink:VkImageCreateInfo, turning it into a simple validation of
pname:mipLevels against pname:maxMipLevels (internal issue 1151).
* Update valid usage statements for slink:VkImageCopy when the
`VK_KHR_maintenance1` extension is enabled to allow multi-slice 2D <->
3D copies when the pnaem:extent.depth parameter specifies the number of
layers being copied, and matches the
slink:VkImageSubresourceLayers.layerCount of the 2D image (internal
issue 1152).
* Rephrase memory / control barrier rules in the
<<spirvenv-module-validation, Validation Rules within a Module>> section
to avoid "`not use none`", which could be misconstrued to allow no
synchronization semantics, and only storage class semantics (internal
issue 1154).
Other Issues:
* Move GLSL extension specifications to the KhronosGroup/GLSL repository
on Github.
* Add missing description of ename:VK_FILTER_CUBIC_IMG enum to
slink:VkFilter.
* Update description of code:PrimitiveId in the
<<interfaces-builtin-variables,Built-In Variables>> section to clarify
its behavior.
* Disallow disjoint images from being used with dedicated-memory images in
slink:VkMemoryDedicatedAllocateInfoKHR.
* Update README to suggest older versions of "mathematical" and
"ruby-gems" packages for use on Cygwin.
* Fix typos
New Extensions:
* `VK_AMD_buffer_marker`
2018-02-19 23:19:38 +00:00
|
|
|
[[copies-buffer-markers]]
|
|
|
|
== Buffer Markers
|
|
|
|
|
|
|
|
[open,refpage='vkCmdWriteBufferMarkerAMD',desc='Execute a pipelined write of a marker value into a buffer',type='protos']
|
|
|
|
--
|
|
|
|
|
|
|
|
To write a 32-bit marker value into a buffer as a pipelined operation, call:
|
|
|
|
|
|
|
|
include::../../api/protos/vkCmdWriteBufferMarkerAMD.txt[]
|
|
|
|
|
|
|
|
* pname:commandBuffer is the command buffer into which the command will be
|
|
|
|
recorded.
|
|
|
|
* pname:pipelineStage is one of the elink:VkPipelineStageFlagBits values,
|
|
|
|
specifying the pipeline stage whose completion triggers the marker
|
|
|
|
write.
|
|
|
|
* pname:dstBuffer is the buffer where the marker will be written to.
|
|
|
|
* pname:dstOffset is the byte offset into the buffer where the marker will
|
|
|
|
be written to.
|
|
|
|
* pname:marker is the 32-bit value of the marker.
|
|
|
|
|
|
|
|
The command will write the 32-bit marker value into the buffer only after
|
|
|
|
all preceding commands have finished executing up to at least the specified
|
|
|
|
pipeline stage.
|
|
|
|
This includes the completion of other preceding
|
Change log for November 12, 2018 Vulkan 1.1.92 spec update:
* Update release number to 92.
Public Issues:
* Move and modify valid usage statements dealing with pname:aspectMask in
flink:vkCmdClearColorImage, flink:vkCmdClearDepthStencilImage, and
slink:VkClearAttachment, so they are in places where all necessary
information is available (public issue 529).
* Fix math markup in <<textures-texel-anisotropic-filtering, Texel
Anisotropic Filtering>> (public pull request 840).
* Fix misspellings (public pull request 845).
Internal Issues:
* Add installation instructions and a Makefile "`chunked`" target for
chunked HTML generation (internal issue 1352).
* Fix pipeline mesh diagram style; also fix a minor bug in the classic
pipeline diagram where vertex/index buffers wrongly fed into the vertex
shader (internal issue 1436).
* Make asciidoctor ERROR output raise an error, and don't suppress
executed command output from CI make invocation (internal issue 1454).
* Minor typo fixes and clarifications for `VK_NV_raytracing`.
* Cleanup extension-specific properties
** Remove duplicated documentation for pname:maxDiscardRectangles,
pname:pointClippingBehavior, and pname:maxVertexAttribDivisor (they
shouldn't be documented with the other members of
slink:VkPhysicalDeviceLimits at all).
** Remove duplicate anchor for pname:maxVertexAttribDivisor
** Consistently document stext:VkPhysicalDevice<Extension>PropertiesKHR
*** Always document pname:sType/pname:pNext (was inconsistent before)
*** Always mention chaining to slink:VkPhysicalDeviceProperties2 (and not
as slink:VkPhysicalDeviceProperties2KHR)
*** Always include Valid Usage statements last
* Update Makefile 'checklinks' target and associated scripts, and fix
markup problems identified by checkLinks.py, so that we can rely on the
checklinks script as part of Gitlab CI.
2018-11-12 12:40:40 +00:00
|
|
|
fname:vkCmdWriteBufferMarkerAMD commands so long as their specified pipeline
|
Change log for February 19, 2018 Vulkan 1.0.69 spec update:
* Bump API patch number and header version number to 69 for this update.
Github Issues:
* Clean up description of synchronization for flink:vkAcquireNextImageKHR
(public issue 626).
* Move valid usage statements requiring offset and extent to respect image
transfer granularity requirements of the queue family they are submitted
against from slink:VkImageCopy and slink:VkBufferImageCopy to the
corresponding flink:vkCmdCopyImage, flink:vkCmdCopyBufferToImage, and
flink:vkCmdCopyImageToBuffer commands, where are relevant information is
known (public issue 654).
* Clarify that flink:vkGetDeviceProcAddr only supports device-level
commands (public issue 655).
Internal Issues:
* Associate each elink:VkDescriptorType with a type of descriptor, and
link to descriptions of those types (internal issue 860).
* Rework valid usage extraction script to better utilize and respond to
spec markup, and fix some spec markup accordingly (internal issues 846,
909, 945).
* Rephrase flink:vkCmdPushConstants valid usage to allow overlapping push
constant ranges in different shader stages (internal issue 1103).
* Fix problem with diff_html target in extension.rb (internal issue 1104).
* Modify valid usage statements for slink:VkClearDepthStencilValue,
slink:VkGraphicsPipelineCreateInfo, slink:VkViewport, and
flink:vkCmdSetDepthBounds, and the description of vkCmdSetDepthBias, to
clarify that clamping is applied if and only if the
`VK_EXT_depth_range_unrestricted` is not enabled (internal issue 1124),
in versions of the specification built with that extension included.
* Resolve contradictions and use of undefined "`per-sample shading`" term
in the <<primsrast-sampleshading, Sample Shading>> and
<<shaders-fragment-execution, Fragment Shader Execution>> sections; for
the <<features-features-sampleRateShading, sampleRateShading feature>>;
for code:FragCoord, code:SampleId, and code:SamplePosition; and for
slink:sname:VkPipelineMultisampleStateCreateInfo (internal issue 1134).
* Clarify the meaning of the ptext:maxDescriptorSet* limits in footnote 8
of the <<features-limits-required,Required Limits>> table (internal
issue 1139).
* Fix broken NOTE markup in slink:VkSamplerCreateInfo.txt (internal issue
1140).
* Remove extend comparison language from valid usage statement for
slink:VkImageCreateInfo, turning it into a simple validation of
pname:mipLevels against pname:maxMipLevels (internal issue 1151).
* Update valid usage statements for slink:VkImageCopy when the
`VK_KHR_maintenance1` extension is enabled to allow multi-slice 2D <->
3D copies when the pnaem:extent.depth parameter specifies the number of
layers being copied, and matches the
slink:VkImageSubresourceLayers.layerCount of the 2D image (internal
issue 1152).
* Rephrase memory / control barrier rules in the
<<spirvenv-module-validation, Validation Rules within a Module>> section
to avoid "`not use none`", which could be misconstrued to allow no
synchronization semantics, and only storage class semantics (internal
issue 1154).
Other Issues:
* Move GLSL extension specifications to the KhronosGroup/GLSL repository
on Github.
* Add missing description of ename:VK_FILTER_CUBIC_IMG enum to
slink:VkFilter.
* Update description of code:PrimitiveId in the
<<interfaces-builtin-variables,Built-In Variables>> section to clarify
its behavior.
* Disallow disjoint images from being used with dedicated-memory images in
slink:VkMemoryDedicatedAllocateInfoKHR.
* Update README to suggest older versions of "mathematical" and
"ruby-gems" packages for use on Cygwin.
* Fix typos
New Extensions:
* `VK_AMD_buffer_marker`
2018-02-19 23:19:38 +00:00
|
|
|
stages occur either at the same time or earlier than this command's
|
|
|
|
specified pname:pipelineStage.
|
|
|
|
|
|
|
|
While consecutive buffer marker writes with the same pname:pipelineStage
|
|
|
|
parameter are implicitly complete in submission order, memory and execution
|
|
|
|
dependencies between buffer marker writes and other operations must still be
|
|
|
|
explicitly ordered using synchronization commands.
|
|
|
|
The access scope for buffer marker writes falls under the
|
|
|
|
ename:VK_ACCESS_TRANSFER_WRITE_BIT, and the pipeline stages for identifying
|
|
|
|
the synchronization scope must: include both pname:pipelineStage and
|
|
|
|
ename:VK_PIPELINE_STAGE_TRANSFER_BIT.
|
|
|
|
|
|
|
|
[NOTE]
|
|
|
|
.Note
|
|
|
|
====
|
|
|
|
Similar to fname:vkCmdWriteTimestamp, if an implementation is unable to
|
|
|
|
write a marker at any specific pipeline stage, it may: instead do so at any
|
|
|
|
logically later stage.
|
|
|
|
====
|
|
|
|
|
|
|
|
[NOTE]
|
|
|
|
.Note
|
|
|
|
====
|
|
|
|
Implementations may: only support a limited number of pipelined marker write
|
|
|
|
operations in flight at a given time, thus excessive number of marker write
|
|
|
|
operations may: degrade command execution performance.
|
|
|
|
====
|
|
|
|
|
|
|
|
.Valid Usage
|
|
|
|
****
|
|
|
|
* [[VUID-vkCmdWriteBufferMarkerAMD-dstOffset-01798]]
|
|
|
|
pname:dstOffset must: be less than or equal to the size of
|
|
|
|
pname:dstBuffer minus `4`.
|
|
|
|
* [[VUID-vkCmdWriteBufferMarkerAMD-dstBuffer-01799]]
|
|
|
|
pname:dstBuffer must: have been created with
|
|
|
|
ename:VK_BUFFER_USAGE_TRANSFER_DST_BIT usage flag
|
|
|
|
* [[VUID-vkCmdWriteBufferMarkerAMD-dstBuffer-01800]]
|
|
|
|
If pname:dstBuffer is non-sparse then it must: be bound completely and
|
|
|
|
contiguously to a single sname:VkDeviceMemory object
|
|
|
|
* [[VUID-vkCmdWriteBufferMarkerAMD-dstOffset-01801]]
|
|
|
|
pname:dstOffset must: be a multiple of `4`
|
|
|
|
****
|
|
|
|
|
|
|
|
include::../../validity/protos/vkCmdWriteBufferMarkerAMD.txt[]
|
|
|
|
--
|