godot/drivers/vulkan
Matias N. Goldberg 59d0422dcd Disable extra memory tracking by default
PR #90993 added several debugging utilities.

Among them, advanced memory tracking through the use of custom
allocators and VK_EXT_device_memory_report.

However as issue #95967 reveals, it is dangerous to leave it on by
default because drivers (or even the Vulkan loader) can too easily
accidentally break custom allocators by allocating memory through std
malloc but then request us to deallocate it (or viceversa).

This PR fixes the following problems:
 - Adds --extra-gpu-memory-tracking cmd line argument
 - Adds missing enum entries to
RenderingContextDriverVulkan::VkTrackedObjectType
 - Adds RenderingDevice::get_driver_and_device_memory_report
    - GDScript users can easily check via print(
RenderingServer.get_rendering_device().get_driver_and_device_memory_report()
)
- Uses get_driver_and_device_memory_report on device lost for appending
further info.

Fixes #95967
2024-08-24 20:52:39 -03:00
..
SCsub Fix building with `use_volk=yes` on MacOS 2024-06-19 08:06:44 -05:00
rendering_context_driver_vulkan.cpp Disable extra memory tracking by default 2024-08-24 20:52:39 -03:00
rendering_context_driver_vulkan.h Disable extra memory tracking by default 2024-08-24 20:52:39 -03:00
rendering_device_driver_vulkan.cpp Disable extra memory tracking by default 2024-08-24 20:52:39 -03:00
rendering_device_driver_vulkan.h Add debug utilities for Vulkan 2024-08-21 23:48:08 +02:00
vulkan_hooks.cpp Finish splitting functionality of the Vulkan and D3D12 backends into RenderingDeviceDriver. 2024-02-12 10:02:18 -03:00
vulkan_hooks.h Finish splitting functionality of the Vulkan and D3D12 backends into RenderingDeviceDriver. 2024-02-12 10:02:18 -03:00