GPU Caps Viewer 1.44.1.0 - TDR when exiting Vulkan Tesselation v2 demo.

Started by Dorian, February 03, 2020, 03:34:09 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Dorian

Hi,

This issue was found on Intel Skylake GPU.
After exiting Tesselation v2, it closes a little longer and you can see that GPU hanged (Windows Event Viewer -> System -> Error Source: Display, Event: 4101

I tested it with validation layers (1.2.131.1), with dump to file (khronos_validation.log_filename = vk_layers.txt)
Commands to run:
set VK_INSTANCE_LAYERS=VK_LAYER_LUNARG_standard_validation
GPU_Caps_Viewer.exe /demo_win_width=640 /demo_win_height=480 /run_gxl_demo=vk_tessellation_v2  /benchmark_log_results /benchmark_duration=3000 /demo_msaa=0


then it reports following errors:
QuoteVUID-vkDestroyBuffer-buffer-00922(ERROR / SPEC): msgNum: 0 - Cannot free VkNonDispatchableHandle 0x916fe20000000067[] that is in use by a command buffer. The Vulkan spec 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.1-extensions/html/vkspec.html#VUID-vkDestroyBuffer-buffer-00922)
    Objects: 1
       
When I force WaitIdle after every QueueSubmit - issue does not occur, so it is timing related.
Looking at errors, I think demo is not waiting for command buffers to finish.

Could you look at it?




JeGX

I found and fixed the bug (ImGui resources!). The fix will be available in the next version of GPU Caps Viewer and GeeXLab.


Dorian

Thanks for rapid update.
I just downloaded 1.44.2, I see some files are different, but issue and layers log is still the same.
Maybe something is not uploaded correctly, could you try it on your side?

JeGX

Curious...

Does it make a difference if you use VK_LAYER_KHRONOS_validation instead of VK_LAYER_LUNARG_standard_validation?
I'm using VK_LAYER_KHRONOS_validation in the plugin if it's supported by the host. Otherwise I use VK_LAYER_LUNARG_standard_validation.  Try also with GeeXLab 0.29.14 (32 and 64-bit) to check.  I will do some more tests.


JeGX

I found it: I fixed the bug in both GeeXLab exe + Vulkan plugin and I didn't update GPU Caps Viewer exe... stupid!



Dorian

I confirm it is fixed and works in 1.44.2.1.
Thanks :)

Regarding standard validation - it is a meta layer, and what was in it changed overtime. Currently in VulkanSDK 1.2.131.1 it is a single VK_LAYER_KHRONOS_validation.
So there is no difference whether you use VK_LAYER_KHRONOS_validation or VK_LAYER_LUNARG_standard_validation.

It used to be a set of layers but Khronos joined them.
VK_LAYER_LUNARG_standard_validation seems to be more stable overtime (you can use it on very old SDK's, it will just load layers considered "standard" at that time).