nmg-vulkan icon indicating copy to clipboard operation
nmg-vulkan copied to clipboard

Expected crash during improper shader loading

Open acgaudette opened this issue 5 years ago • 0 comments

These validation errors (below) appear during a crash induced by running the text demo and replacing the default shaders with the font shaders (a mistake). Commit hash d824928316827fbdac5f64ce3c45fd53c6692331 on feature/text. While undefined behavior is expected in this case, the errors only appear on my machine (tested on four machines). It's possible that it points to a separate issue.

After reviewing the log below, it looks as though these errors are being produced in the free_device_refresh() or refresh_swapchain() methods on render::Context.

DEBUG_REPORT: Object: 0x83 (Type = 9) | Cannot free buffer 0x83 that is in use by a command buffer. The spec valid usage text states 'All submitted commands that refer to buffer, either directly or via a VkBufferView, must have completed execution' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkDestroyBuffer-buffer-00922)
DEBUG_REPORT: Object: 0x85 (Type = 9) | Cannot free buffer 0x85 that is in use by a command buffer. The spec valid usage text states 'All submitted commands that refer to buffer, either directly or via a VkBufferView, must have completed execution' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkDestroyBuffer-buffer-00922)
DEBUG_REPORT: Object: 0x87 (Type = 9) | Cannot free buffer 0x87 that is in use by a command buffer. The spec valid usage text states 'All submitted commands that refer to buffer, either directly or via a VkBufferView, must have completed execution' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkDestroyBuffer-buffer-00922)
DEBUG_REPORT: Object: 0xa (Type = 9) | Cannot free buffer 0xa that is in use by a command buffer. The spec valid usage text states 'All submitted commands that refer to buffer, either directly or via a VkBufferView, must have completed execution' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkDestroyBuffer-buffer-00922)
DEBUG_REPORT: Object: 0x5 (Type = 5) | Cannot call vkDestroySemaphore on Semaphore 0x5 that is currently in use by a command buffer. The spec valid usage text states 'All submitted batches that refer to semaphore must have completed execution' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkDestroySemaphore-semaphore-01137)
DEBUG_REPORT: Object: 0x6c (Type = 7) | Fence 0x6c is in use. The spec valid usage text states 'All queue submission commands that refer to fence must have completed execution' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkDestroyFence-fence-01120)
DEBUG_REPORT: Object: 0x75 (Type = 19) | Cannot call vkDestroyPipeline on Pipeline 0x75 that is currently in use by a command buffer. The spec valid usage text states 'All submitted commands that refer to pipeline must have completed execution' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkDestroyPipeline-pipeline-00765)
DEBUG_REPORT: Object: 0x80 (Type = 24) | Cannot call vkDestroyFramebuffer on Framebuffer 0x80 that is currently in use by a command buffer. The spec valid usage text states 'All submitted commands that refer to framebuffer must have completed execution' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkDestroyFramebuffer-framebuffer-00892)
DEBUG_REPORT: Object: 0x74 (Type = 18) | Cannot call vkDestroyRenderPass on RenderPass 0x74 that is currently in use by a command buffer. The spec valid usage text states 'All submitted commands that refer to renderPass must have completed execution' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkDestroyRenderPass-renderPass-00873)
DEBUG_REPORT: Object: 0x7d (Type = 14) | Cannot call vkDestroyImageView on ImageView 0x7d that is currently in use by a command buffer. The spec valid usage text states 'All submitted commands that refer to imageView must have completed execution' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkDestroyImageView-imageView-01026)
DEBUG_REPORT: Object: 0x7feb1127d400 (Type = 6) | Attempt to free command buffer (0x7feb1127d400) which is in use. The spec valid usage text states 'All elements of pCommandBuffers must not be in the pending state' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkFreeCommandBuffers-pCommandBuffers-00047)
DEBUG_REPORT: Object: 0x7b (Type = 10) | Cannot call vkDestroyImage on Image 0x7b that is currently in use by a command buffer. The spec valid usage text states 'All submitted commands that refer to image, either directly or via a VkImageView, must have completed execution' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkDestroyImage-image-01000)
DEBUG_REPORT: Object: 0x73 (Type = 14) | Cannot call vkDestroyImageView on ImageView 0x73 that is currently in use by a command buffer. The spec valid usage text states 'All submitted commands that refer to imageView must have completed execution' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkDestroyImageView-imageView-01026)
DEBUG_REPORT: Object: 0x81 (Type = 22) | Cannot call vkDestroyDescriptorPool on DescriptorPool 0x81 that is currently in use by a command buffer. The spec valid usage text states 'All submitted commands that refer to descriptorPool (via any allocated descriptor sets) must have completed execution' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkDestroyDescriptorPool-descriptorPool-00303)
DEBUG_REPORT: Object: 0x95 (Type = 19) | Cannot call vkDestroyPipeline on Pipeline 0x95 that is currently in use by a command buffer. The spec valid usage text states 'All submitted commands that refer to pipeline must have completed execution' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkDestroyPipeline-pipeline-00765)
DEBUG_REPORT: Object: 0x89 (Type = 10) | Cannot call vkDestroyImage on Image 0x89 that is currently in use by a command buffer. The spec valid usage text states 'All submitted commands that refer to image, either directly or via a VkImageView, must have completed execution' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkDestroyImage-image-01000)
DEBUG_REPORT: Object: 0x8d (Type = 14) | Cannot call vkDestroyImageView on ImageView 0x8d that is currently in use by a command buffer. The spec valid usage text states 'All submitted commands that refer to imageView must have completed execution' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkDestroyImageView-imageView-01026)
DEBUG_REPORT: Object: 0x8f (Type = 22) | Cannot call vkDestroyDescriptorPool on DescriptorPool 0x8f that is currently in use by a command buffer. The spec valid usage text states 'All submitted commands that refer to descriptorPool (via any allocated descriptor sets) must have completed execution' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkDestroyDescriptorPool-descriptorPool-00303)
DEBUG_REPORT: Object: 0x8e (Type = 21) | Cannot call vkDestroySampler on Sampler 0x8e that is currently in use by a command buffer. The spec valid usage text states 'All submitted commands that refer to sampler must have completed execution' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkDestroySampler-sampler-01082)

acgaudette avatar Aug 04 '18 02:08 acgaudette