1
0
mirror of https://github.com/godotengine/godot.git synced 2025-11-07 12:30:27 +00:00

Add debug utilities for Vulkan

Features:
- Debug-only tracking of objects by type. See
get_driver_allocs_by_object_type et al.
 - Debug-only Breadcrumb info for debugging GPU crashes and device lost
 - Performance report per frame from get_perf_report
- Some VMA calls had to be modified in order to insert the necessary
memory callbacks

Functionality marked as "debug-only" is only available in debug or dev
builds.

Misc fixes:
 - Early break optimization in RenderingDevice::uniform_set_create

============================

The work was performed by collaboration of TheForge and Google. I am
merely splitting it up into smaller PRs and cleaning it up.
This commit is contained in:
Matias N. Goldberg
2024-06-30 19:30:54 -03:00
committed by Rémi Verschelde
parent 5ca419e32c
commit 364f916f3f
32 changed files with 1321 additions and 108 deletions

View File

@@ -83,3 +83,43 @@ void RenderingContextDriver::window_destroy(DisplayServer::WindowID p_window) {
window_surface_map.erase(p_window);
}
const char *RenderingContextDriver::get_tracked_object_name(uint32_t p_type_index) const {
return "Tracking Unsupported by API";
}
uint64_t RenderingContextDriver::get_tracked_object_type_count() const {
return 0;
}
uint64_t RenderingContextDriver::get_driver_total_memory() const {
return 0;
}
uint64_t RenderingContextDriver::get_driver_allocation_count() const {
return 0;
}
uint64_t RenderingContextDriver::get_driver_memory_by_object_type(uint32_t) const {
return 0;
}
uint64_t RenderingContextDriver::get_driver_allocs_by_object_type(uint32_t) const {
return 0;
}
uint64_t RenderingContextDriver::get_device_total_memory() const {
return 0;
}
uint64_t RenderingContextDriver::get_device_allocation_count() const {
return 0;
}
uint64_t RenderingContextDriver::get_device_memory_by_object_type(uint32_t) const {
return 0;
}
uint64_t RenderingContextDriver::get_device_allocs_by_object_type(uint32_t) const {
return 0;
}