diff --git a/src/editor/src/gui/drawStats.cpp b/src/editor/src/gui/drawStats.cpp index 46cd583..5f83ead 100644 --- a/src/editor/src/gui/drawStats.cpp +++ b/src/editor/src/gui/drawStats.cpp @@ -2,9 +2,9 @@ #include #include "core.hpp" -#include "engine/memory/buffers/Buffer.hpp" -#include "engine/math/literals/size.hpp" #include "engine/debug/profiling/counters.hpp" +#include "engine/math/literals/size.hpp" +#include "engine/memory/buffers/Buffer.hpp" #include "safe_include.hpp" namespace fgl::engine::gui @@ -81,7 +81,7 @@ namespace fgl::engine::gui { for ( const auto* buffer : memory::getActiveBuffers() ) { - ImGui::Text( "Name: %s", "FIXME" ); + ImGui::Text( "Name: %s", buffer->m_debug_name.c_str() ); ImGui::Text( "Allocated: %s/%s (%2.1f\%)", to_string( buffer->used() ).c_str(), diff --git a/src/engine/EngineContext.cpp b/src/engine/EngineContext.cpp index 8679d1f..e51de8c 100644 --- a/src/engine/EngineContext.cpp +++ b/src/engine/EngineContext.cpp @@ -39,6 +39,12 @@ namespace fgl::engine using namespace fgl::literals::size_literals; memory::TransferManager::createInstance( device, 128_MiB ); + + m_matrix_info_pool.setDebugName( "Matrix info pool" ); + m_draw_parameter_pool.setDebugName( "Draw parameter pool" ); + + m_vertex_buffer->setDebugName( "Vertex buffer" ); + m_index_buffer->setDebugName( "Index buffer" ); } static Average< float, 60 * 15 > rolling_ms_average; diff --git a/src/engine/memory/buffers/Buffer.cpp b/src/engine/memory/buffers/Buffer.cpp index 9617819..d76569d 100644 --- a/src/engine/memory/buffers/Buffer.cpp +++ b/src/engine/memory/buffers/Buffer.cpp @@ -6,8 +6,8 @@ #include "BufferSuballocationHandle.hpp" #include "align.hpp" -#include "engine/memory/buffers/exceptions.hpp" #include "engine/math/literals/size.hpp" +#include "engine/memory/buffers/exceptions.hpp" #include "engine/rendering/devices/Device.hpp" namespace fgl::engine::memory @@ -300,6 +300,8 @@ namespace fgl::engine::memory info.pObjectName = str.c_str(); info.objectHandle = reinterpret_cast< std::uint64_t >( static_cast< VkBuffer >( this->m_buffer ) ); + m_debug_name = str; + Device::getInstance().setDebugUtilsObjectName( info ); } diff --git a/src/engine/memory/buffers/Buffer.hpp b/src/engine/memory/buffers/Buffer.hpp index 6b67657..0745ff7 100644 --- a/src/engine/memory/buffers/Buffer.hpp +++ b/src/engine/memory/buffers/Buffer.hpp @@ -49,6 +49,12 @@ namespace fgl::engine::memory vk::BufferUsageFlags m_usage; vk::MemoryPropertyFlags m_memory_properties; + public: + + std::string m_debug_name { "Debug name" }; + + private: + void alloc( vk::DeviceSize memory_size ); void dealloc();