2018-07-30 03:20:00 -07:00
|
|
|
== 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
|
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 04:40:40 -08:00
|
|
|
flink:vkGetQueueCheckpointDataNV to retrieve checkpoint data associated with
|
2018-07-30 03:20:00 -07:00
|
|
|
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
|
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 04:40:40 -08:00
|
|
|
calling flink:vkCmdSetCheckpointNV.
|
2018-07-30 03:20:00 -07:00
|
|
|
|
|
|
|
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
|
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 04:40:40 -08:00
|
|
|
flink:vkGetQueueCheckpointDataNV to retrieve information on the most recent
|
2018-07-30 03:20:00 -07:00
|
|
|
diagnostic checkpoints that were executed by the device.
|
|
|
|
|
|
|
|
include::../../api/protos/vkGetQueueCheckpointDataNV.txt[]
|
|
|
|
|
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 04:40:40 -08:00
|
|
|
* pname:queue is the slink:VkQueue object the caller would like to
|
2018-08-13 06:23:03 -07:00
|
|
|
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.
|
2018-07-30 03:20:00 -07:00
|
|
|
|
|
|
|
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[]
|
|
|
|
|
2018-08-13 06:23:03 -07:00
|
|
|
* 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.
|
2018-07-30 03:20:00 -07:00
|
|
|
|
|
|
|
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
|
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 04:40:40 -08:00
|
|
|
flink:vkGetPhysicalDeviceQueueFamilyProperties2.
|
2018-07-30 03:20:00 -07:00
|
|
|
|
|
|
|
--
|