Vulkan-Docs/chapters/debugging.txt
Jon Leech ff0c233908 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`
2018-07-30 03:20:00 -07:00

93 lines
4.1 KiB
Plaintext

= Debugging
To aid developers in tracking down errors in the application's use of
Vulkan, particularly in combination with an external debugger or profiler,
_debugging extensions_ may be available.
[open,refpage='VkObjectType',desc='Specify an enumeration to track object handle types',type='enums']
--
The elink:VkObjectType enumeration defines values, each of which corresponds
to a specific Vulkan handle type.
These values can: be used to associate debug information with a particular
type of object through one or more extensions.
include::../api/enums/VkObjectType.txt[]
[[debugging-object-types]]
.VkObjectType and Vulkan Handle Relationship
[width="80%",cols="<35,<23",options="header"]
|====
| elink:VkObjectType | Vulkan Handle Type
| ename:VK_OBJECT_TYPE_UNKNOWN | Unknown/Undefined Handle
| ename:VK_OBJECT_TYPE_INSTANCE | slink:VkInstance
| ename:VK_OBJECT_TYPE_PHYSICAL_DEVICE | slink:VkPhysicalDevice
| ename:VK_OBJECT_TYPE_DEVICE | slink:VkDevice
| ename:VK_OBJECT_TYPE_QUEUE | slink:VkQueue
| ename:VK_OBJECT_TYPE_SEMAPHORE | slink:VkSemaphore
| ename:VK_OBJECT_TYPE_COMMAND_BUFFER | slink:VkCommandBuffer
| ename:VK_OBJECT_TYPE_FENCE | slink:VkFence
| ename:VK_OBJECT_TYPE_DEVICE_MEMORY | slink:VkDeviceMemory
| ename:VK_OBJECT_TYPE_BUFFER | slink:VkBuffer
| ename:VK_OBJECT_TYPE_IMAGE | slink:VkImage
| ename:VK_OBJECT_TYPE_EVENT | slink:VkEvent
| ename:VK_OBJECT_TYPE_QUERY_POOL | slink:VkQueryPool
| ename:VK_OBJECT_TYPE_BUFFER_VIEW | slink:VkBufferView
| ename:VK_OBJECT_TYPE_IMAGE_VIEW | slink:VkImageView
| ename:VK_OBJECT_TYPE_SHADER_MODULE | slink:VkShaderModule
| ename:VK_OBJECT_TYPE_PIPELINE_CACHE | slink:VkPipelineCache
| ename:VK_OBJECT_TYPE_PIPELINE_LAYOUT | slink:VkPipelineLayout
| ename:VK_OBJECT_TYPE_RENDER_PASS | slink:VkRenderPass
| ename:VK_OBJECT_TYPE_PIPELINE | slink:VkPipeline
| ename:VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT | slink:VkDescriptorSetLayout
| ename:VK_OBJECT_TYPE_SAMPLER | slink:VkSampler
| ename:VK_OBJECT_TYPE_DESCRIPTOR_POOL | slink:VkDescriptorPool
| ename:VK_OBJECT_TYPE_DESCRIPTOR_SET | slink:VkDescriptorSet
| ename:VK_OBJECT_TYPE_FRAMEBUFFER | slink:VkFramebuffer
| ename:VK_OBJECT_TYPE_COMMAND_POOL | slink:VkCommandPool
ifdef::VK_KHR_surface[]
| ename:VK_OBJECT_TYPE_SURFACE_KHR | slink:VkSurfaceKHR
endif::VK_KHR_surface[]
ifdef::VK_KHR_surface[]
| ename:VK_OBJECT_TYPE_SWAPCHAIN_KHR | slink:VkSwapchainKHR
endif::VK_KHR_surface[]
ifdef::VK_KHR_display[]
| ename:VK_OBJECT_TYPE_DISPLAY_KHR | slink:VkDisplayKHR
| ename:VK_OBJECT_TYPE_DISPLAY_MODE_KHR | slink:VkDisplayModeKHR
endif::VK_KHR_display[]
ifdef::VK_EXT_debug_report[]
| ename:VK_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT | slink:VkDebugReportCallbackEXT
endif::VK_EXT_debug_report[]
ifdef::VK_VERSION_1_1,VK_KHR_descriptor_update_template[]
| ename:VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE | slink:VkDescriptorUpdateTemplate
endif::VK_VERSION_1_1,VK_KHR_descriptor_update_template[]
ifdef::VK_NVX_device_generated_commands[]
| ename:VK_OBJECT_TYPE_OBJECT_TABLE_NVX | slink:VkObjectTableNVX
| ename:VK_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NVX | slink:VkIndirectCommandsLayoutNVX
endif::VK_NVX_device_generated_commands[]
ifdef::VK_EXT_validation_cache[]
| ename:VK_OBJECT_TYPE_VALIDATION_CACHE_EXT | slink:VkValidationCacheEXT
endif::VK_EXT_validation_cache[]
|====
--
If this Specification was generated with any such extensions included, they
will be described in the remainder of this chapter.
ifdef::VK_EXT_debug_utils[]
include::VK_EXT_debug_utils.txt[]
endif::VK_EXT_debug_utils[]
ifdef::VK_EXT_debug_marker[]
include::VK_EXT_debug_marker.txt[]
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[]