| 305 | #if VK_EXT_debug_utils || VK_EXT_debug_marker |
| 306 | |
| 307 | void GraphContext::doRegisterObject( uint64_t object |
| 308 | , uint32_t objectType |
| 309 | , std::string const & objectName |
| 310 | , std::string const & typeName ) |
| 311 | { |
| 312 | doRegisterObjectName( object |
| 313 | , objectType |
| 314 | , objectName ); |
| 315 | std::stringstream stream; |
| 316 | stream.imbue( std::locale{ "C" } ); |
| 317 | stream << "Created " << typeName |
| 318 | << " [0x" << std::hex << std::setw( 8u ) << std::setfill( '0' ) << object << "]" |
| 319 | << " - " << objectName; |
| 320 | Logger::logTrace( stream.str() ); |
| 321 | std::stringstream callStack; |
| 322 | |
| 323 | if ( m_callstackCallback ) |
| 324 | { |
| 325 | callStack << m_callstackCallback(); |
| 326 | } |
| 327 | |
| 328 | lock_type lock{ m_mutex }; |
| 329 | m_allocated.insert_or_assign( object |
| 330 | , ObjectAllocation{ |
| 331 | typeName, |
| 332 | objectName, |
| 333 | callStack.str() } ); |
| 334 | } |
| 335 | |
| 336 | void GraphContext::doRegisterObjectName( uint64_t object |
| 337 | , uint32_t objectType |