Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RenderDoc broken after update to ash 0.37 #2601

Closed
jakobhellermann opened this issue Apr 15, 2022 · 5 comments
Closed

RenderDoc broken after update to ash 0.37 #2601

jakobhellermann opened this issue Apr 15, 2022 · 5 comments

Comments

@jakobhellermann
Copy link
Contributor

I noticed that in wgpu master attaching to renderdoc doesn't work anymore, the api is just detected as None with none of the usual debug UI.

Bisecting this showed that the issue started in #2557.

@jakobhellermann
Copy link
Contributor Author

I ran the ash example on master and it worked, so this seems to be an issue in wgpu.

@cwfitzgerald
Copy link
Member

If you go into the renderdoc diagnostic log you might be able to see if it's intentionally not binding to our device.

@jakobhellermann
Copy link
Contributor Author

I checked the log and there are a bunch of logs only present on 0.12, otherwise master is a strict subset of 0.12.

Here are the log lines that are present in 0.12 but not in master:

         vk_core.cpp(1319) - Warning - Spec versions of VK_EXT_debug_report are different between supported extension (9) and reported (10)!
         vk_core.cpp(1319) - Warning - Spec versions of VK_EXT_debug_report are different between supported extension (9) and reported (10)!
            core.cpp(1798) - Log     - Adding Vulkan device frame capturer for 0x000055D8C6746720
 vk_device_funcs.cpp( 814) - Log     - Initialised capture layer in Vulkan instance.
----
            core.cpp(1830) - Log     - Adding Vulkan frame capturer for 0x000055D8C6746720 / 0x0000000005E00003
 vk_device_funcs.cpp(1427) - Log     - physical device 0: llvmpipe (LLVM 12.0.1, 256 bits) (ver 0.0 patch 0x1) - 10005:0000
 vk_device_funcs.cpp(1427) - Log     - physical device 1: AMD RADV RENOIR (ver 21.3 patch 0x5) - 1002:1636
         vk_core.cpp(1319) - Warning - Spec versions of VK_EXT_calibrated_timestamps are different between supported extension (1) and reported (2)!
         vk_core.cpp(1319) - Warning - Spec versions of VK_KHR_incremental_present are different between supported extension (1) and reported (2)!
         vk_core.cpp(1452) - Warning - VkPhysicalDeviceBufferDeviceAddressFeaturesKHR.bufferDeviceAddressCaptureReplay is false, can't support capture of VK_KHR_buffer_device_address
         vk_core.cpp(1319) - Warning - Spec versions of VK_EXT_calibrated_timestamps are different between supported extension (1) and reported (2)!
         vk_core.cpp(1319) - Warning - Spec versions of VK_KHR_incremental_present are different between supported extension (1) and reported (2)!
         vk_core.cpp(1452) - Warning - VkPhysicalDeviceBufferDeviceAddressFeaturesKHR.bufferDeviceAddressCaptureReplay is false, can't support capture of VK_KHR_buffer_device_address
    vk_get_funcs.cpp( 538) - Warning - VkPhysicalDeviceVulkan12Features::bufferDeviceAddressCaptureReplay is false, can't support capture of bufferDeviceAddress
         vk_core.cpp(1319) - Warning - Spec versions of VK_EXT_calibrated_timestamps are different between supported extension (1) and reported (2)!
         vk_core.cpp(1319) - Warning - Spec versions of VK_KHR_incremental_present are different between supported extension (1) and reported (2)!
         vk_core.cpp(1319) - Warning - Spec versions of VK_EXT_calibrated_timestamps are different between supported extension (1) and reported (2)!
         vk_core.cpp(1319) - Warning - Spec versions of VK_KHR_incremental_present are different between supported extension (1) and reported (2)!
----
         vk_core.cpp(1319) - Warning - Spec versions of VK_EXT_calibrated_timestamps are different between supported extension (1) and reported (2)!
         vk_core.cpp(1319) - Warning - Spec versions of VK_KHR_incremental_present are different between supported extension (1) and reported (2)!
         vk_core.cpp(1319) - Warning - Spec versions of VK_EXT_calibrated_timestamps are different between supported extension (1) and reported (2)!
         vk_core.cpp(1319) - Warning - Spec versions of VK_KHR_incremental_present are different between supported extension (1) and reported (2)!
 vk_device_funcs.cpp(3565) - Log     - Created capture device from physical device 1
       vk_memory.cpp(  68) - Log     -   Memory type 0: VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT in heap 1 (VK_MEMORY_HEAP_DEVICE_LOCAL_BIT) (2.3 GB) [GPULocal]
       vk_memory.cpp(  68) - Log     -   Memory type 1: VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT | VK_MEMORY_PROPERTY_HOST_COHERENT_BIT in heap 0 (VkMemoryHeapFlagBits(0)) (1.2 GB) [upload]
       vk_memory.cpp(  68) - Log     -   Memory type 2: VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT | VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT | VK_MEMORY_PROPERTY_HOST_COHERENT_BIT in heap 1 (VK_MEMORY_HEAP_DEVICE_LOCAL_BIT) (2.3 GB) []
       vk_memory.cpp(  68) - Log     -   Memory type 3: VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT | VK_MEMORY_PROPERTY_HOST_COHERENT_BIT | VK_MEMORY_PROPERTY_HOST_CACHED_BIT in heap 0 (VkMemoryHeapFlagBits(0)) (1.2 GB) [readback]
       vk_memory.cpp(  68) - Log     -   Memory type 4: VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT | VK_MEMORY_PROPERTY_DEVICE_COHERENT_BIT_AMD | VK_MEMORY_PROPERTY_DEVICE_UNCACHED_BIT_AMD in heap 1 (VK_MEMORY_HEAP_DEVICE_LOCAL_BIT) (2.3 GB) []
       vk_memory.cpp(  68) - Log     -   Memory type 5: VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT | VK_MEMORY_PROPERTY_HOST_COHERENT_BIT | VK_MEMORY_PROPERTY_DEVICE_COHERENT_BIT_AMD | VK_MEMORY_PROPERTY_DEVICE_UNCACHED_BIT_AMD in heap 0 (VkMemoryHeapFlagBits(0)) (1.2 GB) []
       vk_memory.cpp(  68) - Log     -   Memory type 6: VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT | VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT | VK_MEMORY_PROPERTY_HOST_COHERENT_BIT | VK_MEMORY_PROPERTY_DEVICE_COHERENT_BIT_AMD | VK_MEMORY_PROPERTY_DEVICE_UNCACHED_BIT_AMD in heap 1 (VK_MEMORY_HEAP_DEVICE_LOCAL_BIT) (2.3 GB) []
       vk_memory.cpp(  68) - Log     -   Memory type 7: VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT | VK_MEMORY_PROPERTY_HOST_COHERENT_BIT | VK_MEMORY_PROPERTY_HOST_CACHED_BIT | VK_MEMORY_PROPERTY_DEVICE_COHERENT_BIT_AMD | VK_MEMORY_PROPERTY_DEVICE_UNCACHED_BIT_AMD in heap 0 (VkMemoryHeapFlagBits(0)) (1.2 GB) []
----
  target_control.cpp( 829) - Log     - Used API: Vulkan (Presenting & supported)
            core.cpp(1860) - Log     - Removing frame capturer for <> / <>
            core.cpp(1869) - Log     - Removed last refcount
            core.cpp(1873) - Log     - Removed active window
            core.cpp(1814) - Log     - Removing device frame capturer for 0x000055D8C6746720


Log where it does not work (master):

           core.cpp( 437) - Log     - RenderDoc v1.11 Linux 64-bit Release (NO_GIT_COMMIT_HASH_DEFINED) loaded in replay application
           core.cpp( 443) - Log     - Packaged for Ubuntu (1.11+dfsg-5) - https://salsa.debian.org/xorg-team/app/renderdoc
       settings.cpp( 460) - Log     - Loading config from /home/jakob/.renderdoc/renderdoc.conf
            unknown(   0) - Log     - QRenderDoc initialising.
  android_tools.cpp( 354) - Log     - Initialising adb using 'adb'
  android_tools.cpp( 359) - Warning - Couldn't locate adb. Ensure adb is in PATH, ANDROID_SDK or ANDROID_HOME is set, or you configure your SDK location
      vk_replay.cpp(4235) - Log     - Created device.
  posix_process.cpp( 831) - Log     - Running process /home/jakob/.cache/rust/x86_64-unknown-linux-gnu/debug/examples/hello-triangle for injection
           core.cpp( 437) - Log     - RenderDoc v1.11 Linux 64-bit Release (NO_GIT_COMMIT_HASH_DEFINED) capturing application
           core.cpp( 443) - Log     - Packaged for Ubuntu (1.11+dfsg-5) - https://salsa.debian.org/xorg-team/app/renderdoc
       settings.cpp( 460) - Log     - Loading config from /home/jakob/.renderdoc/renderdoc.conf
 posix_libentry.cpp(  56) - Log     - Using delay for debugger 0
 posix_libentry.cpp(  69) - Log     - Loading into /home/jakob/.cache/rust/x86_64-unknown-linux-gnu/debug/examples/hello-triangle
       gl_hooks.cpp( 263) - Log     - Registering OpenGL hooks
      glx_hooks.cpp( 725) - Log     - Registering GLX hooks
      egl_hooks.cpp( 992) - Log     - Registering EGL hooks
       vk_layer.cpp(  99) - Log     - Registering Vulkan hooks
 target_control.cpp( 585) - Log     - Got remote handshake: hello-triangle [<>]
        vk_core.cpp(1319) - Warning - Spec versions of VK_EXT_debug_report are different between supported extension (9) and reported (10)!
        vk_core.cpp(1319) - Warning - Spec versions of VK_EXT_debug_report are different between supported extension (9) and reported (10)!
      gl_driver.cpp(1142) - Log     - Core context <> created with attribs, sharing with context 0000000000000000
      gl_driver.cpp(1155) - Log     - Created new sharegroup <>
           core.cpp(1798) - Log     - Adding OpenGLES device frame capturer for <>
      gl_common.cpp( 421) - Log     - Checking enabled extensions, running as OpenGL ES 3.2
    gl_emulated.cpp(3434) - Log     - Emulating ARB_clear_buffer_object
    gl_emulated.cpp(3449) - Log     - Emulating ARB_internalformat_query2
    gl_emulated.cpp(3590) - Log     - Emulating GLES 3.x functions
    gl_emulated.cpp(3635) - Log     - Emulating EXT_direct_state_access
    gl_emulated.cpp(3722) - Log     - Emulating ARB_direct_state_access
      gl_driver.cpp(1386) - Log     - Activating new GL context: AMD / AMD RENOIR (DRM 3.44.0, 5.16.15-76051615-generic, LLVM 12.0.1) / OpenGL ES 3.2 Mesa 21.3.5
      gl_common.cpp( 479) - Log     - Vendor checks for 32 (AMD / AMD RENOIR (DRM 3.44.0, 5.16.15-76051615-generic, LLVM 12.0.1) / OpenGL ES 3.2 Mesa 21.3.5)
      gl_common.cpp( 733) - Warning - FBOs are shared on this implementation
        app_api.cpp( 343) - Log     - Initialising RenderDoc API version 1.4.1 for requested version 10401
      gl_driver.cpp(1031) - Log     - Deleting context <>
           core.cpp(1814) - Log     - Removing device frame capturer for <>
      gl_driver.cpp(1054) - Log     - Deleting shader group <>
            unknown(   0) - Warning - Empty filter string passed to QFileDialog::filterSelected.  Ignoring this as a likely GNOME bug, default suffix is still:  "log"

Log where it does work (0.12):

           core.cpp( 437) - Log     - RenderDoc v1.11 Linux 64-bit Release (NO_GIT_COMMIT_HASH_DEFINED) loaded in replay application
           core.cpp( 443) - Log     - Packaged for Ubuntu (1.11+dfsg-5) - https://salsa.debian.org/xorg-team/app/renderdoc
       settings.cpp( 460) - Log     - Loading config from /home/jakob/.renderdoc/renderdoc.conf
            unknown(   0) - Log     - QRenderDoc initialising.
  android_tools.cpp( 354) - Log     - Initialising adb using 'adb'
  android_tools.cpp( 359) - Warning - Couldn't locate adb. Ensure adb is in PATH, ANDROID_SDK or ANDROID_HOME is set, or you configure your SDK location
      vk_replay.cpp(4235) - Log     - Created device.
  posix_process.cpp( 831) - Log     - Running process /home/jakob/.cache/rust/x86_64-unknown-linux-gnu/debug/examples/hello-triangle for injection
           core.cpp( 437) - Log     - RenderDoc v1.11 Linux 64-bit Release (NO_GIT_COMMIT_HASH_DEFINED) capturing application
           core.cpp( 443) - Log     - Packaged for Ubuntu (1.11+dfsg-5) - https://salsa.debian.org/xorg-team/app/renderdoc
       settings.cpp( 460) - Log     - Loading config from /home/jakob/.renderdoc/renderdoc.conf
 posix_libentry.cpp(  56) - Log     - Using delay for debugger 0
 posix_libentry.cpp(  69) - Log     - Loading into /home/jakob/.cache/rust/x86_64-unknown-linux-gnu/debug/examples/hello-triangle
       gl_hooks.cpp( 263) - Log     - Registering OpenGL hooks
      glx_hooks.cpp( 725) - Log     - Registering GLX hooks
      egl_hooks.cpp( 992) - Log     - Registering EGL hooks
       vk_layer.cpp(  99) - Log     - Registering Vulkan hooks
 target_control.cpp( 585) - Log     - Got remote handshake: hello-triangle [<>]
        vk_core.cpp(1319) - Warning - Spec versions of VK_EXT_debug_report are different between supported extension (9) and reported (10)!
        vk_core.cpp(1319) - Warning - Spec versions of VK_EXT_debug_report are different between supported extension (9) and reported (10)!
        vk_core.cpp(1319) - Warning - Spec versions of VK_EXT_debug_report are different between supported extension (9) and reported (10)!
        vk_core.cpp(1319) - Warning - Spec versions of VK_EXT_debug_report are different between supported extension (9) and reported (10)!
           core.cpp(1798) - Log     - Adding Vulkan device frame capturer for 0x000055D8C6746720
vk_device_funcs.cpp( 814) - Log     - Initialised capture layer in Vulkan instance.
      gl_driver.cpp(1142) - Log     - Core context <> created with attribs, sharing with context 0000000000000000
      gl_driver.cpp(1155) - Log     - Created new sharegroup <>
           core.cpp(1798) - Log     - Adding OpenGLES device frame capturer for <>
           core.cpp(1830) - Log     - Adding Vulkan frame capturer for 0x000055D8C6746720 / 0x0000000005E00003
vk_device_funcs.cpp(1427) - Log     - physical device 0: llvmpipe (LLVM 12.0.1, 256 bits) (ver 0.0 patch 0x1) - 10005:0000
vk_device_funcs.cpp(1427) - Log     - physical device 1: AMD RADV RENOIR (ver 21.3 patch 0x5) - 1002:1636
        vk_core.cpp(1319) - Warning - Spec versions of VK_EXT_calibrated_timestamps are different between supported extension (1) and reported (2)!
        vk_core.cpp(1319) - Warning - Spec versions of VK_KHR_incremental_present are different between supported extension (1) and reported (2)!
        vk_core.cpp(1452) - Warning - VkPhysicalDeviceBufferDeviceAddressFeaturesKHR.bufferDeviceAddressCaptureReplay is false, can't support capture of VK_KHR_buffer_device_address
        vk_core.cpp(1319) - Warning - Spec versions of VK_EXT_calibrated_timestamps are different between supported extension (1) and reported (2)!
        vk_core.cpp(1319) - Warning - Spec versions of VK_KHR_incremental_present are different between supported extension (1) and reported (2)!
        vk_core.cpp(1452) - Warning - VkPhysicalDeviceBufferDeviceAddressFeaturesKHR.bufferDeviceAddressCaptureReplay is false, can't support capture of VK_KHR_buffer_device_address
   vk_get_funcs.cpp( 538) - Warning - VkPhysicalDeviceVulkan12Features::bufferDeviceAddressCaptureReplay is false, can't support capture of bufferDeviceAddress
        vk_core.cpp(1319) - Warning - Spec versions of VK_EXT_calibrated_timestamps are different between supported extension (1) and reported (2)!
        vk_core.cpp(1319) - Warning - Spec versions of VK_KHR_incremental_present are different between supported extension (1) and reported (2)!
        vk_core.cpp(1319) - Warning - Spec versions of VK_EXT_calibrated_timestamps are different between supported extension (1) and reported (2)!
        vk_core.cpp(1319) - Warning - Spec versions of VK_KHR_incremental_present are different between supported extension (1) and reported (2)!
      gl_common.cpp( 421) - Log     - Checking enabled extensions, running as OpenGL ES 3.2
    gl_emulated.cpp(3434) - Log     - Emulating ARB_clear_buffer_object
    gl_emulated.cpp(3449) - Log     - Emulating ARB_internalformat_query2
    gl_emulated.cpp(3590) - Log     - Emulating GLES 3.x functions
    gl_emulated.cpp(3635) - Log     - Emulating EXT_direct_state_access
    gl_emulated.cpp(3722) - Log     - Emulating ARB_direct_state_access
      gl_driver.cpp(1386) - Log     - Activating new GL context: AMD / AMD RENOIR (DRM 3.44.0, 5.16.15-76051615-generic, LLVM 12.0.1) / OpenGL ES 3.2 Mesa 21.3.5
      gl_common.cpp( 479) - Log     - Vendor checks for 32 (AMD / AMD RENOIR (DRM 3.44.0, 5.16.15-76051615-generic, LLVM 12.0.1) / OpenGL ES 3.2 Mesa 21.3.5)
      gl_common.cpp( 733) - Warning - FBOs are shared on this implementation
        vk_core.cpp(1319) - Warning - Spec versions of VK_EXT_calibrated_timestamps are different between supported extension (1) and reported (2)!
        vk_core.cpp(1319) - Warning - Spec versions of VK_KHR_incremental_present are different between supported extension (1) and reported (2)!
        vk_core.cpp(1319) - Warning - Spec versions of VK_EXT_calibrated_timestamps are different between supported extension (1) and reported (2)!
        vk_core.cpp(1319) - Warning - Spec versions of VK_KHR_incremental_present are different between supported extension (1) and reported (2)!
vk_device_funcs.cpp(3565) - Log     - Created capture device from physical device 1
      vk_memory.cpp(  68) - Log     -   Memory type 0: VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT in heap 1 (VK_MEMORY_HEAP_DEVICE_LOCAL_BIT) (2.3 GB) [GPULocal]
      vk_memory.cpp(  68) - Log     -   Memory type 1: VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT | VK_MEMORY_PROPERTY_HOST_COHERENT_BIT in heap 0 (VkMemoryHeapFlagBits(0)) (1.2 GB) [upload]
      vk_memory.cpp(  68) - Log     -   Memory type 2: VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT | VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT | VK_MEMORY_PROPERTY_HOST_COHERENT_BIT in heap 1 (VK_MEMORY_HEAP_DEVICE_LOCAL_BIT) (2.3 GB) []
      vk_memory.cpp(  68) - Log     -   Memory type 3: VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT | VK_MEMORY_PROPERTY_HOST_COHERENT_BIT | VK_MEMORY_PROPERTY_HOST_CACHED_BIT in heap 0 (VkMemoryHeapFlagBits(0)) (1.2 GB) [readback]
      vk_memory.cpp(  68) - Log     -   Memory type 4: VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT | VK_MEMORY_PROPERTY_DEVICE_COHERENT_BIT_AMD | VK_MEMORY_PROPERTY_DEVICE_UNCACHED_BIT_AMD in heap 1 (VK_MEMORY_HEAP_DEVICE_LOCAL_BIT) (2.3 GB) []
      vk_memory.cpp(  68) - Log     -   Memory type 5: VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT | VK_MEMORY_PROPERTY_HOST_COHERENT_BIT | VK_MEMORY_PROPERTY_DEVICE_COHERENT_BIT_AMD | VK_MEMORY_PROPERTY_DEVICE_UNCACHED_BIT_AMD in heap 0 (VkMemoryHeapFlagBits(0)) (1.2 GB) []
      vk_memory.cpp(  68) - Log     -   Memory type 6: VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT | VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT | VK_MEMORY_PROPERTY_HOST_COHERENT_BIT | VK_MEMORY_PROPERTY_DEVICE_COHERENT_BIT_AMD | VK_MEMORY_PROPERTY_DEVICE_UNCACHED_BIT_AMD in heap 1 (VK_MEMORY_HEAP_DEVICE_LOCAL_BIT) (2.3 GB) []
      vk_memory.cpp(  68) - Log     -   Memory type 7: VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT | VK_MEMORY_PROPERTY_HOST_COHERENT_BIT | VK_MEMORY_PROPERTY_HOST_CACHED_BIT | VK_MEMORY_PROPERTY_DEVICE_COHERENT_BIT_AMD | VK_MEMORY_PROPERTY_DEVICE_UNCACHED_BIT_AMD in heap 0 (VkMemoryHeapFlagBits(0)) (1.2 GB) []
        app_api.cpp( 343) - Log     - Initialising RenderDoc API version 1.4.1 for requested version 10401
 target_control.cpp( 829) - Log     - Used API: Vulkan (Presenting & supported)
           core.cpp(1860) - Log     - Removing frame capturer for <> / <>
           core.cpp(1869) - Log     - Removed last refcount
           core.cpp(1873) - Log     - Removed active window
           core.cpp(1814) - Log     - Removing device frame capturer for 0x000055D8C6746720
      gl_driver.cpp(1031) - Log     - Deleting context <>
           core.cpp(1814) - Log     - Removing device frame capturer for <>
      gl_driver.cpp(1054) - Log     - Deleting shader group <>
            unknown(   0) - Warning - Empty filter string passed to QFileDialog::filterSelected.  Ignoring this as a likely GNOME bug, default suffix is still:  "log"

@cwfitzgerald
Copy link
Member

I would first try updating renderdoc (the logs indicate 1.11, but latest is 1.19).

@jakobhellermann
Copy link
Contributor Author

Updating renderdoc does indeed fix the problem,

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants