diff options
author | Matias N. Goldberg <dark_sylinc@yahoo.com.ar> | 2024-06-30 19:30:54 -0300 |
---|---|---|
committer | Rémi Verschelde <rverschelde@gmail.com> | 2024-08-21 23:48:08 +0200 |
commit | 364f916f3f0141c247e32e63624b063905d66b02 (patch) | |
tree | 36b25af740f286ea78d734136ecbffd8ed407bda /drivers/metal/rendering_device_driver_metal.h | |
parent | 5ca419e32c58e671284b3b7f91257179657d9114 (diff) | |
download | redot-engine-364f916f3f0141c247e32e63624b063905d66b02.tar.gz |
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.
Diffstat (limited to 'drivers/metal/rendering_device_driver_metal.h')
-rw-r--r-- | drivers/metal/rendering_device_driver_metal.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/metal/rendering_device_driver_metal.h b/drivers/metal/rendering_device_driver_metal.h index e7efaff817..1bb71583ab 100644 --- a/drivers/metal/rendering_device_driver_metal.h +++ b/drivers/metal/rendering_device_driver_metal.h @@ -231,6 +231,7 @@ public: virtual Vector<uint8_t> shader_compile_binary_from_spirv(VectorView<ShaderStageSPIRVData> p_spirv, const String &p_shader_name) override final; virtual ShaderID shader_create_from_bytecode(const Vector<uint8_t> &p_shader_binary, ShaderDescription &r_shader_desc, String &r_name) override final; virtual void shader_free(ShaderID p_shader) override final; + virtual void shader_destroy_modules(ShaderID p_shader) override final; #pragma mark - Uniform Set @@ -376,6 +377,10 @@ public: virtual void command_begin_label(CommandBufferID p_cmd_buffer, const char *p_label_name, const Color &p_color) override final; virtual void command_end_label(CommandBufferID p_cmd_buffer) override final; +#pragma mark - Debug + + virtual void command_insert_breadcrumb(CommandBufferID p_cmd_buffer, uint32_t p_data) override final; + #pragma mark - Submission virtual void begin_segment(uint32_t p_frame_index, uint32_t p_frames_drawn) override final; |