فهرست منبع

Refactor some tracing names

Panagiotis Christopoulos Charitos 2 سال پیش
والد
کامیت
ef62ba4763
36فایلهای تغییر یافته به همراه93 افزوده شده و 90 حذف شده
  1. 7 7
      AnKi/Core/App.cpp
  2. 7 7
      AnKi/Gr/RenderGraph.cpp
  3. 1 1
      AnKi/Gr/Vulkan/AccelerationStructureImpl.cpp
  4. 1 1
      AnKi/Gr/Vulkan/BufferImpl.cpp
  5. 1 1
      AnKi/Gr/Vulkan/CommandBuffer.cpp
  6. 2 2
      AnKi/Gr/Vulkan/CommandBufferFactory.cpp
  7. 1 1
      AnKi/Gr/Vulkan/CommandBufferImpl.cpp
  8. 2 2
      AnKi/Gr/Vulkan/CommandBufferImpl.inl.h
  9. 3 3
      AnKi/Gr/Vulkan/DescriptorSet.cpp
  10. 1 1
      AnKi/Gr/Vulkan/FenceFactory.inl.h
  11. 3 3
      AnKi/Gr/Vulkan/GrManagerImpl.cpp
  12. 4 4
      AnKi/Gr/Vulkan/Pipeline.cpp
  13. 1 1
      AnKi/Gr/Vulkan/SemaphoreFactory.inl.h
  14. 2 2
      AnKi/Gr/Vulkan/ShaderProgramImpl.cpp
  15. 2 2
      AnKi/Renderer/AccelerationStructureBuilder.cpp
  16. 2 2
      AnKi/Renderer/ClusterBinning.cpp
  17. 1 1
      AnKi/Renderer/Drawer.cpp
  18. 2 2
      AnKi/Renderer/GBuffer.cpp
  19. 5 5
      AnKi/Renderer/IndirectDiffuseProbes.cpp
  20. 1 1
      AnKi/Renderer/MainRenderer.cpp
  21. 7 7
      AnKi/Renderer/ProbeReflections.cpp
  22. 1 1
      AnKi/Renderer/Renderer.cpp
  23. 1 1
      AnKi/Renderer/RtShadows.cpp
  24. 2 2
      AnKi/Renderer/ShadowMapping.cpp
  25. 1 1
      AnKi/Renderer/UiStage.cpp
  26. 1 1
      AnKi/Resource/AsyncLoader.cpp
  27. 5 5
      AnKi/Resource/ResourceFilesystem.cpp
  28. 2 2
      AnKi/Resource/TransferGpuAllocator.cpp
  29. 2 0
      AnKi/Scene/Events/AnimationEvent.cpp
  30. 1 1
      AnKi/Scene/Octree.h
  31. 7 7
      AnKi/Scene/SceneGraph.cpp
  32. 1 1
      AnKi/Scene/SoftwareRasterizer.cpp
  33. 6 6
      AnKi/Scene/Visibility.cpp
  34. 1 1
      AnKi/Script/LuaBinder.cpp
  35. 4 3
      AnKi/Util/Tracer.h
  36. 2 2
      Tests/Util/Tracer.cpp

+ 7 - 7
AnKi/Core/App.cpp

@@ -150,7 +150,7 @@ void App::cleanup()
 	m_window = nullptr;
 
 #if ANKI_ENABLE_TRACE
-	m_heapAlloc.deleteInstance(m_coreTracer);
+	deleteInstance(m_mainPool, m_coreTracer);
 	m_coreTracer = nullptr;
 #endif
 
@@ -235,8 +235,8 @@ Error App::initInternal(AllocAlignedCallback allocCb, void* allocCbUserData)
 	// Core tracer
 	//
 #if ANKI_ENABLE_TRACE
-	m_coreTracer = m_heapAlloc.newInstance<CoreTracer>();
-	ANKI_CHECK(m_coreTracer->init(m_heapAlloc, m_settingsDir));
+	m_coreTracer = newInstance<CoreTracer>(m_mainPool);
+	ANKI_CHECK(m_coreTracer->init(&m_mainPool, m_settingsDir));
 #endif
 
 	//
@@ -486,7 +486,7 @@ Error App::mainLoop()
 	while(!quit)
 	{
 		{
-			ANKI_TRACE_SCOPED_EVENT(FRAME);
+			ANKI_TRACE_SCOPED_EVENT(Frame);
 			const Second startTime = HighRezTimer::getCurrentTime();
 
 			prevUpdateTime = crntTime;
@@ -541,7 +541,7 @@ Error App::mainLoop()
 
 			// Update the trace info with some async loader stats
 			U64 asyncTaskCount = m_resources->getAsyncLoader().getCompletedTaskCount();
-			ANKI_TRACE_INC_COUNTER(RESOURCE_ASYNC_TASKS, asyncTaskCount - m_resourceCompletedAsyncTaskCount);
+			ANKI_TRACE_INC_COUNTER(RsrcAsyncTasks, asyncTaskCount - m_resourceCompletedAsyncTaskCount);
 			m_resourceCompletedAsyncTaskCount = asyncTaskCount;
 
 			// Now resume the loader
@@ -555,7 +555,7 @@ Error App::mainLoop()
 				const Second timerTick = 1.0_sec / Second(m_config->getCoreTargetFps());
 				if(frameTime < timerTick)
 				{
-					ANKI_TRACE_SCOPED_EVENT(TIMER_TICK_SLEEP);
+					ANKI_TRACE_SCOPED_EVENT(TimerTickSleep);
 					HighRezTimer::sleep(timerTick - frameTime);
 				}
 			}
@@ -623,7 +623,7 @@ Error App::mainLoop()
 #if ANKI_ENABLE_TRACE
 			if(m_renderer->getStats().m_renderingGpuTime >= 0.0)
 			{
-				ANKI_TRACE_CUSTOM_EVENT(GPU_TIME, m_renderer->getStats().m_renderingGpuSubmitTimestamp,
+				ANKI_TRACE_CUSTOM_EVENT(Gpu, m_renderer->getStats().m_renderingGpuSubmitTimestamp,
 										m_renderer->getStats().m_renderingGpuTime);
 			}
 #endif

+ 7 - 7
AnKi/Gr/RenderGraph.cpp

@@ -295,7 +295,7 @@ RenderGraph* RenderGraph::newInstance(GrManager* manager)
 
 void RenderGraph::reset()
 {
-	ANKI_TRACE_SCOPED_EVENT(GR_RENDER_GRAPH_RESET);
+	ANKI_TRACE_SCOPED_EVENT(GrRenderGraphReset);
 
 	if(!m_ctx)
 	{
@@ -1208,7 +1208,7 @@ void RenderGraph::setBatchBarriers(const RenderGraphDescription& descr)
 
 void RenderGraph::compileNewGraph(const RenderGraphDescription& descr, StackMemoryPool& pool)
 {
-	ANKI_TRACE_SCOPED_EVENT(GR_RENDER_GRAPH_COMPILE);
+	ANKI_TRACE_SCOPED_EVENT(GrRenderGraphCompile);
 
 	// Init the context
 	BakeContext& ctx = *newContext(descr, pool);
@@ -1254,7 +1254,7 @@ AccelerationStructurePtr RenderGraph::getAs(AccelerationStructureHandle handle)
 
 void RenderGraph::runSecondLevel(U32 threadIdx)
 {
-	ANKI_TRACE_SCOPED_EVENT(GR_RENDER_GRAPH_2ND_LEVEL);
+	ANKI_TRACE_SCOPED_EVENT(GrRenderGraph2ndLevel);
 	ANKI_ASSERT(m_ctx);
 
 	RenderPassWorkContext ctx;
@@ -1277,7 +1277,7 @@ void RenderGraph::runSecondLevel(U32 threadIdx)
 			ANKI_ASSERT(ctx.m_commandBuffer.isCreated());
 
 			{
-				ANKI_TRACE_SCOPED_EVENT(GR_RENDER_GRAPH_CALLBACK);
+				ANKI_TRACE_SCOPED_EVENT(GrRenderGraphCallback);
 				p.m_callback(ctx);
 			}
 
@@ -1288,7 +1288,7 @@ void RenderGraph::runSecondLevel(U32 threadIdx)
 
 void RenderGraph::run() const
 {
-	ANKI_TRACE_SCOPED_EVENT(GR_RENDER_GRAPH_RUN);
+	ANKI_TRACE_SCOPED_EVENT(GrRenderGraphRun);
 	ANKI_ASSERT(m_ctx);
 
 	RenderPassWorkContext ctx;
@@ -1351,7 +1351,7 @@ void RenderGraph::run() const
 				ctx.m_passIdx = passIdx;
 				ctx.m_batchIdx = pass.m_batchIdx;
 
-				ANKI_TRACE_SCOPED_EVENT(GR_RENDER_GRAPH_CALLBACK);
+				ANKI_TRACE_SCOPED_EVENT(GrRenderGraphCallback);
 				pass.m_callback(ctx);
 			}
 			else
@@ -1375,7 +1375,7 @@ void RenderGraph::run() const
 
 void RenderGraph::flush()
 {
-	ANKI_TRACE_SCOPED_EVENT(GR_RENDER_GRAPH_FLUSH);
+	ANKI_TRACE_SCOPED_EVENT(GrRenderGraphFlush);
 
 	for(U32 i = 0; i < m_ctx->m_graphicsCmdbs.getSize(); ++i)
 	{

+ 1 - 1
AnKi/Gr/Vulkan/AccelerationStructureImpl.cpp

@@ -20,7 +20,7 @@ AccelerationStructureImpl::~AccelerationStructureImpl()
 
 Error AccelerationStructureImpl::init(const AccelerationStructureInitInfo& inf)
 {
-	ANKI_TRACE_SCOPED_EVENT(VK_INIT_ACC_STRUCT);
+	ANKI_TRACE_SCOPED_EVENT(VkInitAccStruct);
 
 	ANKI_ASSERT(inf.isValid());
 	m_type = inf.m_type;

+ 1 - 1
AnKi/Gr/Vulkan/BufferImpl.cpp

@@ -197,7 +197,7 @@ Error BufferImpl::init(const BufferInitInfo& inf)
 
 	// Bind mem to buffer
 	{
-		ANKI_TRACE_SCOPED_EVENT(VK_BIND_OBJECT);
+		ANKI_TRACE_SCOPED_EVENT(VkBindObject);
 		ANKI_VK_CHECK(vkBindBufferMemory(getDevice(), m_handle, m_memHandle.m_memory, m_memHandle.m_offset));
 	}
 

+ 1 - 1
AnKi/Gr/Vulkan/CommandBuffer.cpp

@@ -13,7 +13,7 @@ namespace anki {
 
 CommandBuffer* CommandBuffer::newInstance(GrManager* manager, const CommandBufferInitInfo& init)
 {
-	ANKI_TRACE_SCOPED_EVENT(VK_NEW_CCOMMAND_BUFFER);
+	ANKI_TRACE_SCOPED_EVENT(VkNewCommandBuffer);
 	CommandBufferImpl* impl = anki::newInstance<CommandBufferImpl>(manager->getMemoryPool(), manager, init.getName());
 	const Error err = impl->init(init);
 	if(err)

+ 2 - 2
AnKi/Gr/Vulkan/CommandBufferFactory.cpp

@@ -39,7 +39,7 @@ MicroCommandBuffer::~MicroCommandBuffer()
 
 void MicroCommandBuffer::reset()
 {
-	ANKI_TRACE_SCOPED_EVENT(VK_COMMAND_BUFFER_RESET);
+	ANKI_TRACE_SCOPED_EVENT(VkCommandBufferReset);
 
 	ANKI_ASSERT(m_refcount.load() == 0);
 	ANKI_ASSERT(!m_fence.isCreated());
@@ -130,7 +130,7 @@ Error CommandBufferThreadAllocator::newCommandBuffer(CommandBufferFlag cmdbFlags
 		ci.level = (secondLevel) ? VK_COMMAND_BUFFER_LEVEL_SECONDARY : VK_COMMAND_BUFFER_LEVEL_PRIMARY;
 		ci.commandBufferCount = 1;
 
-		ANKI_TRACE_INC_COUNTER(VK_COMMAND_BUFFER_CREATE, 1);
+		ANKI_TRACE_INC_COUNTER(VkCommandBufferCreate, 1);
 		VkCommandBuffer cmdb;
 		ANKI_VK_CHECK(vkAllocateCommandBuffers(m_factory->m_dev, &ci, &cmdb));
 

+ 1 - 1
AnKi/Gr/Vulkan/CommandBufferImpl.cpp

@@ -748,7 +748,7 @@ void CommandBufferImpl::setPipelineBarrierInternal(
 						 (bufferBarriers.getSize()) ? &bufferBarriers[0] : nullptr, imageBarriers.getSize(),
 						 (imageBarriers.getSize()) ? &imageBarriers[0] : nullptr);
 
-	ANKI_TRACE_INC_COUNTER(VK_PIPELINE_BARRIERS, 1);
+	ANKI_TRACE_INC_COUNTER(VkBarrier, 1);
 }
 
 } // end namespace anki

+ 2 - 2
AnKi/Gr/Vulkan/CommandBufferImpl.inl.h

@@ -105,7 +105,7 @@ inline void CommandBufferImpl::setImageBarrier(VkPipelineStageFlags srcStage, Vk
 	inf.subresourceRange = range;
 
 	vkCmdPipelineBarrier(m_handle, srcStage, dstStage, 0, 0, nullptr, 0, nullptr, 1, &inf);
-	ANKI_TRACE_INC_COUNTER(VK_PIPELINE_BARRIERS, 1);
+	ANKI_TRACE_INC_COUNTER(VkBarrier, 1);
 }
 
 inline void CommandBufferImpl::drawArraysInternal(PrimitiveTopology topology, U32 count, U32 instanceCount, U32 first,
@@ -530,7 +530,7 @@ inline void CommandBufferImpl::drawcallCommon()
 	}
 #endif
 
-	ANKI_TRACE_INC_COUNTER(GR_DRAWCALLS, 1);
+	ANKI_TRACE_INC_COUNTER(VkDrawcall, 1);
 }
 
 inline void CommandBufferImpl::fillBufferInternal(const BufferPtr& buff, PtrSize offset, PtrSize size, U32 value)

+ 3 - 3
AnKi/Gr/Vulkan/DescriptorSet.cpp

@@ -416,7 +416,7 @@ Error DescriptorSetFactory::DSAllocator::createNewPool()
 	// Create
 	VkDescriptorPool pool;
 	ANKI_VK_CHECK(vkCreateDescriptorPool(m_layoutEntry->m_factory->m_dev, &ci, nullptr, &pool));
-	ANKI_TRACE_INC_COUNTER(VK_DESCRIPTOR_POOL_CREATE, 1);
+	ANKI_TRACE_INC_COUNTER(VkDescriptorPoolCreate, 1);
 
 	// Push back
 	m_pools.resize(*m_layoutEntry->m_factory->m_pool, m_pools.getSize() + 1);
@@ -499,7 +499,7 @@ Error DescriptorSetFactory::DSAllocator::newSet(U64 hash,
 		VkDescriptorSet handle;
 		[[maybe_unused]] VkResult rez = vkAllocateDescriptorSets(m_layoutEntry->m_factory->m_dev, &ci, &handle);
 		ANKI_ASSERT(rez == VK_SUCCESS && "That allocation can't fail");
-		ANKI_TRACE_INC_COUNTER(VK_DESCRIPTOR_SET_CREATE, 1);
+		ANKI_TRACE_INC_COUNTER(VkDescriptorSetCreate, 1);
 
 		out = newInstance<DS>(*m_layoutEntry->m_factory->m_pool);
 		out->m_handle = handle;
@@ -1113,7 +1113,7 @@ Error DescriptorSetFactory::newDescriptorSet(StackMemoryPool& tmpPool, Descripto
 											 Bool& dirty, Array<PtrSize, kMaxBindingsPerDescriptorSet>& dynamicOffsets,
 											 U32& dynamicOffsetCount)
 {
-	ANKI_TRACE_SCOPED_EVENT(VK_DESCRIPTOR_SET_GET_OR_CREATE);
+	ANKI_TRACE_SCOPED_EVENT(VkDescriptorSetGetOrCreate);
 
 	U64 hash;
 	Bool bindlessDSet;

+ 1 - 1
AnKi/Gr/Vulkan/FenceFactory.inl.h

@@ -15,7 +15,7 @@ inline MicroFence::MicroFence(FenceFactory* f)
 	VkFenceCreateInfo ci = {};
 	ci.sType = VK_STRUCTURE_TYPE_FENCE_CREATE_INFO;
 
-	ANKI_TRACE_INC_COUNTER(VK_FENCE_CREATE, 1);
+	ANKI_TRACE_INC_COUNTER(VkFenceCreate, 1);
 	ANKI_VK_CHECKF(vkCreateFence(m_factory->m_dev, &ci, nullptr, &m_handle));
 }
 

+ 3 - 3
AnKi/Gr/Vulkan/GrManagerImpl.cpp

@@ -1212,7 +1212,7 @@ void GrManagerImpl::freeCallback(void* userData, void* ptr)
 
 TexturePtr GrManagerImpl::acquireNextPresentableTexture()
 {
-	ANKI_TRACE_SCOPED_EVENT(VK_ACQUIRE_IMAGE);
+	ANKI_TRACE_SCOPED_EVENT(VkAcquireImage);
 
 	LockGuard<Mutex> lock(m_globalMtx);
 
@@ -1256,7 +1256,7 @@ TexturePtr GrManagerImpl::acquireNextPresentableTexture()
 
 void GrManagerImpl::endFrame()
 {
-	ANKI_TRACE_SCOPED_EVENT(VK_PRESENT);
+	ANKI_TRACE_SCOPED_EVENT(VkPresent);
 
 	LockGuard<Mutex> lock(m_globalMtx);
 
@@ -1423,7 +1423,7 @@ void GrManagerImpl::flushCommandBuffer(MicroCommandBufferPtr cmdb, Bool cmdbRend
 		}
 
 		// Submit
-		ANKI_TRACE_SCOPED_EVENT(VK_QUEUE_SUBMIT);
+		ANKI_TRACE_SCOPED_EVENT(VkQueueSubmit);
 		ANKI_VK_CHECKF(vkQueueSubmit(m_queues[cmdb->getVulkanQueueType()], 1, &submit, fence->getHandle()));
 
 		if(wait)

+ 4 - 4
AnKi/Gr/Vulkan/Pipeline.cpp

@@ -425,7 +425,7 @@ void PipelineFactory::destroy()
 
 void PipelineFactory::getOrCreatePipeline(PipelineStateTracker& state, Pipeline& ppline, Bool& stateDirty)
 {
-	ANKI_TRACE_SCOPED_EVENT(VK_PIPELINE_GET_OR_CREATE);
+	ANKI_TRACE_SCOPED_EVENT(VkPipelineGetOrCreate);
 
 	U64 hash;
 	state.flush(hash, stateDirty);
@@ -443,7 +443,7 @@ void PipelineFactory::getOrCreatePipeline(PipelineStateTracker& state, Pipeline&
 		if(it != m_pplines.getEnd())
 		{
 			ppline.m_handle = (*it).m_handle;
-			ANKI_TRACE_INC_COUNTER(VK_PIPELINES_CACHE_HIT, 1);
+			ANKI_TRACE_INC_COUNTER(VkPipelineCacheHit, 1);
 			return;
 		}
 	}
@@ -465,7 +465,7 @@ void PipelineFactory::getOrCreatePipeline(PipelineStateTracker& state, Pipeline&
 	const VkGraphicsPipelineCreateInfo& ci = state.updatePipelineCreateInfo();
 
 	{
-		ANKI_TRACE_SCOPED_EVENT(VK_PIPELINE_CREATE);
+		ANKI_TRACE_SCOPED_EVENT(VkPipelineCreate);
 
 #if ANKI_PLATFORM_MOBILE
 		if(m_globalCreatePipelineMtx)
@@ -484,7 +484,7 @@ void PipelineFactory::getOrCreatePipeline(PipelineStateTracker& state, Pipeline&
 #endif
 	}
 
-	ANKI_TRACE_INC_COUNTER(VK_PIPELINES_CACHE_MISS, 1);
+	ANKI_TRACE_INC_COUNTER(VkPipelineCacheMiss, 1);
 
 	m_pplines.emplace(*m_pool, hash, pp);
 	ppline.m_handle = pp.m_handle;

+ 1 - 1
AnKi/Gr/Vulkan/SemaphoreFactory.inl.h

@@ -25,7 +25,7 @@ inline MicroSemaphore::MicroSemaphore(SemaphoreFactory* f, MicroFencePtr fence,
 	ci.sType = VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO;
 	ci.pNext = &typeCreateInfo;
 
-	ANKI_TRACE_INC_COUNTER(VK_SEMAPHORE_CREATE, 1);
+	ANKI_TRACE_INC_COUNTER(VkSemaphoreCreate, 1);
 	ANKI_VK_CHECKF(vkCreateSemaphore(m_factory->m_dev, &ci, nullptr, &m_handle));
 }
 

+ 2 - 2
AnKi/Gr/Vulkan/ShaderProgramImpl.cpp

@@ -253,7 +253,7 @@ Error ShaderProgramImpl::init(const ShaderProgramInitInfo& inf)
 		ci.stage.module = shaderImpl.m_handle;
 		ci.stage.pSpecializationInfo = shaderImpl.getSpecConstInfo();
 
-		ANKI_TRACE_SCOPED_EVENT(VK_PIPELINE_CREATE);
+		ANKI_TRACE_SCOPED_EVENT(VkPipelineCreate);
 		ANKI_VK_CHECK(vkCreateComputePipelines(getDevice(), getGrManagerImpl().getPipelineCache(), 1, &ci, nullptr,
 											   &m_compute.m_ppline));
 		getGrManagerImpl().printPipelineShaderInfo(m_compute.m_ppline, getName(), ShaderTypeBit::kCompute);
@@ -339,7 +339,7 @@ Error ShaderProgramImpl::init(const ShaderProgramInitInfo& inf)
 		ci.layout = m_pplineLayout.getHandle();
 
 		{
-			ANKI_TRACE_SCOPED_EVENT(VK_PIPELINE_CREATE);
+			ANKI_TRACE_SCOPED_EVENT(VkPipelineCreate);
 			ANKI_VK_CHECK(vkCreateRayTracingPipelinesKHR(
 				getDevice(), VK_NULL_HANDLE, getGrManagerImpl().getPipelineCache(), 1, &ci, nullptr, &m_rt.m_ppline));
 		}

+ 2 - 2
AnKi/Renderer/AccelerationStructureBuilder.cpp

@@ -12,7 +12,7 @@ namespace anki {
 
 void AccelerationStructureBuilder::populateRenderGraph(RenderingContext& ctx)
 {
-	ANKI_TRACE_SCOPED_EVENT(R_TLAS);
+	ANKI_TRACE_SCOPED_EVENT(RTlas);
 
 	// Get some things
 	ANKI_ASSERT(ctx.m_renderQueue->m_rayTracingQueue);
@@ -57,7 +57,7 @@ void AccelerationStructureBuilder::populateRenderGraph(RenderingContext& ctx)
 	m_runCtx.m_tlasHandle = rgraph.importAccelerationStructure(m_runCtx.m_tlas, AccelerationStructureUsageBit::kNone);
 	ComputeRenderPassDescription& rpass = rgraph.newComputeRenderPass("BuildTlas");
 	rpass.setWork([this](RenderPassWorkContext& rgraphCtx) {
-		ANKI_TRACE_SCOPED_EVENT(R_TLAS);
+		ANKI_TRACE_SCOPED_EVENT(RTlas);
 		rgraphCtx.m_commandBuffer->buildAccelerationStructure(m_runCtx.m_tlas);
 	});
 

+ 2 - 2
AnKi/Renderer/ClusterBinning.cpp

@@ -101,7 +101,7 @@ void ClusterBinning::populateRenderGraph(RenderingContext& ctx)
 
 void ClusterBinning::writeClustererBuffers(RenderingContext& ctx)
 {
-	ANKI_TRACE_SCOPED_EVENT(R_WRITE_CLUSTER_SHADING_OBJECTS);
+	ANKI_TRACE_SCOPED_EVENT(RWriteClusterShadingObjects);
 
 	// Check limits
 	RenderQueue& rqueue = *ctx.m_renderQueue;
@@ -227,7 +227,7 @@ void ClusterBinning::writeClusterBuffersAsync()
 
 void ClusterBinning::writeClustererBuffersTask()
 {
-	ANKI_TRACE_SCOPED_EVENT(R_WRITE_CLUSTER_SHADING_OBJECTS);
+	ANKI_TRACE_SCOPED_EVENT(RWriteClusterShadingObjects);
 
 	RenderingContext& ctx = *m_runCtx.m_ctx;
 	ClusteredShadingContext& cs = ctx.m_clusteredShading;

+ 1 - 1
AnKi/Renderer/Drawer.cpp

@@ -131,7 +131,7 @@ void RenderableDrawer::flushDrawcall(Context& ctx)
 	// Rendered something, reset the cached transforms
 	if(ctx.m_cachedRenderElementCount > 1)
 	{
-		ANKI_TRACE_INC_COUNTER(R_MERGED_DRAWCALLS, ctx.m_cachedRenderElementCount - 1);
+		ANKI_TRACE_INC_COUNTER(RMergedDrawcalls, ctx.m_cachedRenderElementCount - 1);
 	}
 	ctx.m_cachedRenderElementCount = 0;
 }

+ 2 - 2
AnKi/Renderer/GBuffer.cpp

@@ -90,7 +90,7 @@ Error GBuffer::initInternal()
 
 void GBuffer::runInThread(const RenderingContext& ctx, RenderPassWorkContext& rgraphCtx) const
 {
-	ANKI_TRACE_SCOPED_EVENT(R_MS);
+	ANKI_TRACE_SCOPED_EVENT(RGBuffer);
 
 	CommandBufferPtr& cmdb = rgraphCtx.m_commandBuffer;
 	const U32 threadId = rgraphCtx.m_currentSecondLevelCommandBufferIndex;
@@ -166,7 +166,7 @@ void GBuffer::runInThread(const RenderingContext& ctx, RenderPassWorkContext& rg
 
 void GBuffer::populateRenderGraph(RenderingContext& ctx)
 {
-	ANKI_TRACE_SCOPED_EVENT(R_MS);
+	ANKI_TRACE_SCOPED_EVENT(RGBuffer);
 
 	RenderGraphDescription& rgraph = ctx.m_renderGraphDescr;
 

+ 5 - 5
AnKi/Renderer/IndirectDiffuseProbes.cpp

@@ -227,7 +227,7 @@ Error IndirectDiffuseProbes::initIrradiance()
 
 void IndirectDiffuseProbes::populateRenderGraph(RenderingContext& rctx)
 {
-	ANKI_TRACE_SCOPED_EVENT(R_GI);
+	ANKI_TRACE_SCOPED_EVENT(RIndirectDiffuse);
 
 	InternalContext* giCtx = newInstance<InternalContext>(*rctx.m_tempPool);
 	m_giCtx = giCtx;
@@ -548,7 +548,7 @@ void IndirectDiffuseProbes::prepareProbes(InternalContext& giCtx)
 void IndirectDiffuseProbes::runGBufferInThread(RenderPassWorkContext& rgraphCtx, InternalContext& giCtx) const
 {
 	ANKI_ASSERT(giCtx.m_probeToUpdateThisFrame);
-	ANKI_TRACE_SCOPED_EVENT(R_GI);
+	ANKI_TRACE_SCOPED_EVENT(RIndirectDiffuse);
 
 	CommandBufferPtr& cmdb = rgraphCtx.m_commandBuffer;
 	const GlobalIlluminationProbeQueueElement& probe = *giCtx.m_probeToUpdateThisFrame;
@@ -600,7 +600,7 @@ void IndirectDiffuseProbes::runGBufferInThread(RenderPassWorkContext& rgraphCtx,
 void IndirectDiffuseProbes::runShadowmappingInThread(RenderPassWorkContext& rgraphCtx, InternalContext& giCtx) const
 {
 	ANKI_ASSERT(giCtx.m_probeToUpdateThisFrame);
-	ANKI_TRACE_SCOPED_EVENT(R_GI);
+	ANKI_TRACE_SCOPED_EVENT(RIndirectDiffuse);
 
 	const GlobalIlluminationProbeQueueElement& probe = *giCtx.m_probeToUpdateThisFrame;
 
@@ -654,7 +654,7 @@ void IndirectDiffuseProbes::runShadowmappingInThread(RenderPassWorkContext& rgra
 
 void IndirectDiffuseProbes::runLightShading(RenderPassWorkContext& rgraphCtx, InternalContext& giCtx)
 {
-	ANKI_TRACE_SCOPED_EVENT(R_GI);
+	ANKI_TRACE_SCOPED_EVENT(RIndirectDiffuse);
 
 	ANKI_ASSERT(giCtx.m_probeToUpdateThisFrame);
 	const GlobalIlluminationProbeQueueElement& probe = *giCtx.m_probeToUpdateThisFrame;
@@ -703,7 +703,7 @@ void IndirectDiffuseProbes::runLightShading(RenderPassWorkContext& rgraphCtx, In
 
 void IndirectDiffuseProbes::runIrradiance(RenderPassWorkContext& rgraphCtx, InternalContext& giCtx)
 {
-	ANKI_TRACE_SCOPED_EVENT(R_GI);
+	ANKI_TRACE_SCOPED_EVENT(RIndirectDiffuse);
 
 	CommandBufferPtr& cmdb = rgraphCtx.m_commandBuffer;
 	ANKI_ASSERT(giCtx.m_probeToUpdateThisFrame);

+ 1 - 1
AnKi/Renderer/MainRenderer.cpp

@@ -76,7 +76,7 @@ Error MainRenderer::init(const MainRendererInitInfo& inf)
 
 Error MainRenderer::render(RenderQueue& rqueue, TexturePtr presentTex)
 {
-	ANKI_TRACE_SCOPED_EVENT(RENDER);
+	ANKI_TRACE_SCOPED_EVENT(Render);
 
 	m_stats.m_renderingCpuTime = (m_statsEnabled) ? HighRezTimer::getCurrentTime() : -1.0;
 

+ 7 - 7
AnKi/Renderer/ProbeReflections.cpp

@@ -323,7 +323,7 @@ void ProbeReflections::prepareProbes(RenderingContext& ctx, ReflectionProbeQueue
 void ProbeReflections::runGBuffer(RenderPassWorkContext& rgraphCtx)
 {
 	ANKI_ASSERT(m_ctx.m_probe);
-	ANKI_TRACE_SCOPED_EVENT(R_CUBE_REFL);
+	ANKI_TRACE_SCOPED_EVENT(RCubeRefl);
 	const ReflectionProbeQueueElement& probe = *m_ctx.m_probe;
 	CommandBufferPtr& cmdb = rgraphCtx.m_commandBuffer;
 
@@ -371,7 +371,7 @@ void ProbeReflections::runGBuffer(RenderPassWorkContext& rgraphCtx)
 void ProbeReflections::runLightShading(U32 faceIdx, const RenderingContext& rctx, RenderPassWorkContext& rgraphCtx)
 {
 	ANKI_ASSERT(faceIdx <= 6);
-	ANKI_TRACE_SCOPED_EVENT(R_CUBE_REFL);
+	ANKI_TRACE_SCOPED_EVENT(RCubeRefl);
 
 	CommandBufferPtr& cmdb = rgraphCtx.m_commandBuffer;
 
@@ -416,7 +416,7 @@ void ProbeReflections::runMipmappingOfLightShading(U32 faceIdx, RenderPassWorkCo
 	ANKI_ASSERT(faceIdx < 6);
 	ANKI_ASSERT(m_ctx.m_cacheEntryIdx < m_cacheEntries.getSize());
 
-	ANKI_TRACE_SCOPED_EVENT(R_CUBE_REFL);
+	ANKI_TRACE_SCOPED_EVENT(RCubeRefl);
 
 	TextureSubresourceInfo subresource(TextureSurfaceInfo(0, 0, faceIdx, m_ctx.m_cacheEntryIdx));
 	subresource.m_mipmapCount = m_lightShading.m_mipCount;
@@ -430,7 +430,7 @@ void ProbeReflections::runMipmappingOfLightShading(U32 faceIdx, RenderPassWorkCo
 
 void ProbeReflections::runIrradiance(RenderPassWorkContext& rgraphCtx)
 {
-	ANKI_TRACE_SCOPED_EVENT(R_CUBE_REFL);
+	ANKI_TRACE_SCOPED_EVENT(RCubeRefl);
 	const U32 cacheEntryIdx = m_ctx.m_cacheEntryIdx;
 	ANKI_ASSERT(cacheEntryIdx < m_cacheEntries.getSize());
 
@@ -454,7 +454,7 @@ void ProbeReflections::runIrradiance(RenderPassWorkContext& rgraphCtx)
 
 void ProbeReflections::runIrradianceToRefl(RenderPassWorkContext& rgraphCtx)
 {
-	ANKI_TRACE_SCOPED_EVENT(R_CUBE_REFL);
+	ANKI_TRACE_SCOPED_EVENT(RCubeRefl);
 
 	const U32 cacheEntryIdx = m_ctx.m_cacheEntryIdx;
 	ANKI_ASSERT(cacheEntryIdx < m_cacheEntries.getSize());
@@ -482,7 +482,7 @@ void ProbeReflections::runIrradianceToRefl(RenderPassWorkContext& rgraphCtx)
 
 void ProbeReflections::populateRenderGraph(RenderingContext& rctx)
 {
-	ANKI_TRACE_SCOPED_EVENT(R_CUBE_REFL);
+	ANKI_TRACE_SCOPED_EVENT(RCubeRefl);
 
 #if ANKI_EXTRA_CHECKS
 	m_ctx = {};
@@ -700,7 +700,7 @@ void ProbeReflections::populateRenderGraph(RenderingContext& rctx)
 void ProbeReflections::runShadowMapping(RenderPassWorkContext& rgraphCtx)
 {
 	ANKI_ASSERT(m_ctx.m_probe);
-	ANKI_TRACE_SCOPED_EVENT(R_CUBE_REFL);
+	ANKI_TRACE_SCOPED_EVENT(RCubeRefl);
 
 	I32 start, end;
 	U32 startu, endu;

+ 1 - 1
AnKi/Renderer/Renderer.cpp

@@ -95,7 +95,7 @@ Renderer::~Renderer()
 
 Error Renderer::init(const RendererExternalSubsystems& subsystems, HeapMemoryPool* pool, UVec2 swapchainSize)
 {
-	ANKI_TRACE_SCOPED_EVENT(RendererInit);
+	ANKI_TRACE_SCOPED_EVENT(RInit);
 
 	m_subsystems = subsystems;
 	m_pool = pool;

+ 1 - 1
AnKi/Renderer/RtShadows.cpp

@@ -190,7 +190,7 @@ Error RtShadows::initInternal()
 
 void RtShadows::populateRenderGraph(RenderingContext& ctx)
 {
-	ANKI_TRACE_SCOPED_EVENT(R_RT_SHADOWS);
+	ANKI_TRACE_SCOPED_EVENT(RRtShadows);
 
 	RenderGraphDescription& rgraph = ctx.m_renderGraphDescr;
 

+ 2 - 2
AnKi/Renderer/ShadowMapping.cpp

@@ -86,7 +86,7 @@ Error ShadowMapping::initInternal()
 
 void ShadowMapping::populateRenderGraph(RenderingContext& ctx)
 {
-	ANKI_TRACE_SCOPED_EVENT(R_SM);
+	ANKI_TRACE_SCOPED_EVENT(RSm);
 
 	RenderGraphDescription& rgraph = ctx.m_renderGraphDescr;
 
@@ -578,7 +578,7 @@ void ShadowMapping::processLights(RenderingContext& ctx, U32& threadCountForPass
 void ShadowMapping::runShadowMapping(RenderPassWorkContext& rgraphCtx)
 {
 	ANKI_ASSERT(m_runCtx.m_workItems.getSize());
-	ANKI_TRACE_SCOPED_EVENT(R_SM);
+	ANKI_TRACE_SCOPED_EVENT(RSm);
 
 	CommandBufferPtr& cmdb = rgraphCtx.m_commandBuffer;
 	const U threadIdx = rgraphCtx.m_currentSecondLevelCommandBufferIndex;

+ 1 - 1
AnKi/Renderer/UiStage.cpp

@@ -39,7 +39,7 @@ void UiStage::draw(U32 width, U32 height, RenderingContext& ctx, CommandBufferPt
 		return;
 	}
 
-	ANKI_TRACE_SCOPED_EVENT(UI_RENDER);
+	ANKI_TRACE_SCOPED_EVENT(RUi);
 
 	m_canvas->handleInput();
 	m_canvas->beginBuilding();

+ 1 - 1
AnKi/Resource/AsyncLoader.cpp

@@ -124,7 +124,7 @@ Error AsyncLoader::threadWorker()
 			AsyncLoaderTaskContext ctx;
 
 			{
-				ANKI_TRACE_SCOPED_EVENT(RSRC_ASYNC_TASK);
+				ANKI_TRACE_SCOPED_EVENT(RsrcAsyncTask);
 				err = (*task)(ctx);
 			}
 

+ 5 - 5
AnKi/Resource/ResourceFilesystem.cpp

@@ -27,25 +27,25 @@ public:
 
 	Error read(void* buff, PtrSize size) override
 	{
-		ANKI_TRACE_SCOPED_EVENT(RSRC_FILE_READ);
+		ANKI_TRACE_SCOPED_EVENT(RsrcFileRead);
 		return m_file.read(buff, size);
 	}
 
 	Error readAllText(StringRaii& out) override
 	{
-		ANKI_TRACE_SCOPED_EVENT(RSRC_FILE_READ);
+		ANKI_TRACE_SCOPED_EVENT(RsrcFileRead);
 		return m_file.readAllText(out);
 	}
 
 	Error readU32(U32& u) override
 	{
-		ANKI_TRACE_SCOPED_EVENT(RSRC_FILE_READ);
+		ANKI_TRACE_SCOPED_EVENT(RsrcFileRead);
 		return m_file.readU32(u);
 	}
 
 	Error readF32(F32& f) override
 	{
-		ANKI_TRACE_SCOPED_EVENT(RSRC_FILE_READ);
+		ANKI_TRACE_SCOPED_EVENT(RsrcFileRead);
 		return m_file.readF32(f);
 	}
 
@@ -130,7 +130,7 @@ public:
 
 	Error read(void* buff, PtrSize size) override
 	{
-		ANKI_TRACE_SCOPED_EVENT(RSRC_FILE_READ);
+		ANKI_TRACE_SCOPED_EVENT(RsrcFileRead);
 
 		I64 readSize = unzReadCurrentFile(m_archive, buff, U32(size));
 

+ 2 - 2
AnKi/Resource/TransferGpuAllocator.cpp

@@ -64,7 +64,7 @@ Error TransferGpuAllocator::init(PtrSize maxSize, GrManager* gr, HeapMemoryPool*
 
 Error TransferGpuAllocator::allocate(PtrSize size, TransferGpuAllocatorHandle& handle)
 {
-	ANKI_TRACE_SCOPED_EVENT(RSRC_ALLOCATE_TRANSFER);
+	ANKI_TRACE_SCOPED_EVENT(RsrcAllocateTransfer);
 
 	const PtrSize poolSize = m_maxAllocSize / kPoolCount;
 
@@ -85,7 +85,7 @@ Error TransferGpuAllocator::allocate(PtrSize size, TransferGpuAllocatorHandle& h
 		pool = &m_pools[m_crntPool];
 
 		{
-			ANKI_TRACE_SCOPED_EVENT(RSRC_WAIT_TRANSFER);
+			ANKI_TRACE_SCOPED_EVENT(RsrcWaitTransfer);
 
 			// Wait for all memory to be released
 			while(pool->m_pendingReleases != 0)

+ 2 - 0
AnKi/Scene/Events/AnimationEvent.cpp

@@ -52,7 +52,9 @@ Error AnimationEvent::update([[maybe_unused]] Second prevUpdateTime, Second crnt
 
 	Transform trf;
 	trf.setOrigin(pos.xyz0());
+	// trf.setOrigin(Vec4(0.0f));
 	trf.setRotation(Mat3x4(Vec3(0.0f), rot));
+	// trf.setRotation(Mat3x4::getIdentity());
 	trf.setScale(scale);
 
 	m_associatedNodes[0]->setLocalTransform(trf);

+ 1 - 1
AnKi/Scene/Octree.h

@@ -352,7 +352,7 @@ inline void Octree::walkTreeInternal(Leaf& leaf, U32 testId, TTestAabbFunc testF
 		}
 	}
 
-	ANKI_TRACE_INC_COUNTER(OCTREE_VISIBLE_LEAFS, visibleLeafs);
+	ANKI_TRACE_INC_COUNTER(SceneOctreeVisibleLeafs, visibleLeafs);
 }
 /// @}
 

+ 7 - 7
AnKi/Scene/SceneGraph.cpp

@@ -157,7 +157,7 @@ void SceneGraph::deleteNodesMarkedForDeletion()
 Error SceneGraph::update(Second prevUpdateTime, Second crntTime)
 {
 	ANKI_ASSERT(m_mainCam);
-	ANKI_TRACE_SCOPED_EVENT(SCENE_UPDATE);
+	ANKI_TRACE_SCOPED_EVENT(SceneUpdate);
 
 	m_stats.m_updateTime = HighRezTimer::getCurrentTime();
 
@@ -169,7 +169,7 @@ Error SceneGraph::update(Second prevUpdateTime, Second crntTime)
 
 	// Delete stuff
 	{
-		ANKI_TRACE_SCOPED_EVENT(SCENE_MARKED_FOR_DELETION);
+		ANKI_TRACE_SCOPED_EVENT(SceneRemoveMarkedForDeletion);
 		const Bool fullCleanup = m_objectsMarkedForDeletionCount.load() != 0;
 		m_events.deleteEventsMarkedForDeletion(fullCleanup);
 		deleteNodesMarkedForDeletion();
@@ -177,14 +177,14 @@ Error SceneGraph::update(Second prevUpdateTime, Second crntTime)
 
 	// Update
 	{
-		ANKI_TRACE_SCOPED_EVENT(SCENE_PHYSICS_UPDATE);
+		ANKI_TRACE_SCOPED_EVENT(ScenePhysics);
 		m_stats.m_physicsUpdate = HighRezTimer::getCurrentTime();
 		m_subsystems.m_physicsWorld->update(crntTime - prevUpdateTime);
 		m_stats.m_physicsUpdate = HighRezTimer::getCurrentTime() - m_stats.m_physicsUpdate;
 	}
 
 	{
-		ANKI_TRACE_SCOPED_EVENT(SCENE_NODES_UPDATE);
+		ANKI_TRACE_SCOPED_EVENT(SceneNodesUpdate);
 		ANKI_CHECK(m_events.updateAllEvents(prevUpdateTime, crntTime));
 
 		// Then the rest
@@ -224,7 +224,7 @@ void SceneGraph::doVisibilityTests(RenderQueue& rqueue)
 
 Error SceneGraph::updateNode(Second prevTime, Second crntTime, SceneNode& node)
 {
-	ANKI_TRACE_INC_COUNTER(SCENE_NODES_UPDATED, 1);
+	ANKI_TRACE_INC_COUNTER(SceneNodeUpdated, 1);
 
 	Error err = Error::kNone;
 
@@ -246,7 +246,7 @@ Error SceneGraph::updateNode(Second prevTime, Second crntTime, SceneNode& node)
 
 		if(updated)
 		{
-			ANKI_TRACE_INC_COUNTER(SCENE_COMPONENTS_UPDATED, 1);
+			ANKI_TRACE_INC_COUNTER(SceneComponentUpdated, 1);
 			comp.setTimestamp(node.getSceneGraph().m_timestamp);
 			atLeastOneComponentUpdated = true;
 		}
@@ -280,7 +280,7 @@ Error SceneGraph::updateNode(Second prevTime, Second crntTime, SceneNode& node)
 
 Error SceneGraph::updateNodes(UpdateSceneNodesCtx& ctx)
 {
-	ANKI_TRACE_SCOPED_EVENT(SCENE_NODES_UPDATE);
+	ANKI_TRACE_SCOPED_EVENT(SceneNodeUpdate);
 
 	IntrusiveList<SceneNode>::ConstIterator end = m_nodes.getEnd();
 

+ 1 - 1
AnKi/Scene/SoftwareRasterizer.cpp

@@ -294,7 +294,7 @@ void SoftwareRasterizer::rasterizeTriangle(const Vec4* tri)
 
 Bool SoftwareRasterizer::visibilityTest(const Aabb& aabb) const
 {
-	ANKI_TRACE_SCOPED_EVENT(SCENE_RASTERIZER_TEST);
+	ANKI_TRACE_SCOPED_EVENT(SceneRasterizerTest);
 	Bool inside = visibilityTestInternal(aabb);
 
 	return inside;

+ 6 - 6
AnKi/Scene/Visibility.cpp

@@ -95,7 +95,7 @@ static FrustumFlags getCameraExtendedFrustumFlags()
 void VisibilityContext::submitNewWork(const VisibilityFrustum& frustum, const VisibilityFrustum& primaryFrustum,
 									  RenderQueue& rqueue, ThreadHive& hive)
 {
-	ANKI_TRACE_SCOPED_EVENT(SCENE_VIS_SUBMIT_WORK);
+	ANKI_TRACE_SCOPED_EVENT(SceneVisSubmitWork);
 
 	rqueue.m_cameraTransform = Mat3x4(frustum.m_frustum->getWorldTransform());
 	rqueue.m_viewMatrix = frustum.m_frustum->getViewMatrix();
@@ -182,7 +182,7 @@ void VisibilityContext::submitNewWork(const VisibilityFrustum& frustum, const Vi
 
 void FillRasterizerWithCoverageTask::fill()
 {
-	ANKI_TRACE_SCOPED_EVENT(SCENE_VIS_FILL_DEPTH);
+	ANKI_TRACE_SCOPED_EVENT(SceneVisFillDepth);
 
 	StackMemoryPool& pool = m_frcCtx->m_visCtx->m_scene->getFrameMemoryPool();
 
@@ -209,7 +209,7 @@ void FillRasterizerWithCoverageTask::fill()
 
 void GatherVisiblesFromOctreeTask::gather(ThreadHive& hive)
 {
-	ANKI_TRACE_SCOPED_EVENT(SCENE_VIS_OCTREE);
+	ANKI_TRACE_SCOPED_EVENT(SceneVisOctreeGather);
 
 	U32 testIdx = m_frcCtx->m_visCtx->m_testsCount.fetchAdd(1);
 
@@ -273,7 +273,7 @@ void GatherVisiblesFromOctreeTask::flush(ThreadHive& hive)
 
 void VisibilityTestTask::test(ThreadHive& hive, U32 taskId)
 {
-	ANKI_TRACE_SCOPED_EVENT(SCENE_VIS_TEST);
+	ANKI_TRACE_SCOPED_EVENT(SceneVisTest);
 
 	const Frustum& testedFrustum = *m_frcCtx->m_frustum.m_frustum;
 	ANKI_ASSERT(m_frcCtx->m_primaryFrustum.m_frustum);
@@ -633,7 +633,7 @@ void VisibilityTestTask::test(ThreadHive& hive, U32 taskId)
 
 void CombineResultsTask::combine()
 {
-	ANKI_TRACE_SCOPED_EVENT(SCENE_VIS_COMBINE_RESULTS);
+	ANKI_TRACE_SCOPED_EVENT(SceneVisCombine);
 
 	StackMemoryPool& pool = m_frcCtx->m_visCtx->m_scene->getFrameMemoryPool();
 	RenderQueue& results = *m_frcCtx->m_renderQueue;
@@ -833,7 +833,7 @@ void CombineResultsTask::combineQueueElements(StackMemoryPool& pool,
 
 void SceneGraph::doVisibilityTests(SceneNode& camera, SceneGraph& scene, RenderQueue& rqueue)
 {
-	ANKI_TRACE_SCOPED_EVENT(SCENE_VIS_TESTS);
+	ANKI_TRACE_SCOPED_EVENT(SceneVisTests);
 
 	ThreadHive& hive = *scene.m_subsystems.m_threadHive;
 

+ 1 - 1
AnKi/Script/LuaBinder.cpp

@@ -114,7 +114,7 @@ void* LuaBinder::luaAllocCallback(void* userData, void* ptr, PtrSize osize, PtrS
 
 Error LuaBinder::evalString(lua_State* state, const CString& str)
 {
-	ANKI_TRACE_SCOPED_EVENT(LUA_EXEC);
+	ANKI_TRACE_SCOPED_EVENT(LuaExec);
 
 	Error err = Error::kNone;
 	int e = luaL_dostring(state, &str[0]);

+ 4 - 3
AnKi/Util/Tracer.h

@@ -151,10 +151,11 @@ private:
 };
 
 #if ANKI_ENABLE_TRACE
-#	define ANKI_TRACE_SCOPED_EVENT(name_) TracerScopedEvent _tse##name_(#    name_)
+#	define ANKI_TRACE_SCOPED_EVENT(name_) TracerScopedEvent _tse##name_(ANKI_STRINGIZE(ANKI_CONCATENATE(t, name_)))
 #	define ANKI_TRACE_CUSTOM_EVENT(name_, start_, duration_) \
-		TracerSingleton::get().addCustomEvent(#name_, start_, duration_)
-#	define ANKI_TRACE_INC_COUNTER(name_, val_) TracerSingleton::get().incrementCounter(#    name_, val_)
+		TracerSingleton::get().addCustomEvent(ANKI_STRINGIZE(ANKI_CONCATENATE(t, name_)), start_, duration_)
+#	define ANKI_TRACE_INC_COUNTER(name_, val_) \
+		TracerSingleton::get().incrementCounter(ANKI_STRINGIZE(ANKI_CONCATENATE(c, name_)), val_)
 #else
 #	define ANKI_TRACE_SCOPED_EVENT(name_) ((void)0)
 #	define ANKI_TRACE_CUSTOM_EVENT(name_, start_, duration_) ((void)0)

+ 2 - 2
Tests/Util/Tracer.cpp

@@ -11,9 +11,9 @@
 #if ANKI_ENABLE_TRACE
 ANKI_TEST(Util, Tracer)
 {
-	HeapAllocator<U8> alloc(allocAligned, nullptr);
+	HeapMemoryPool alloc(allocAligned, nullptr);
 	CoreTracer tracer;
-	ANKI_TEST_EXPECT_NO_ERR(tracer.init(alloc, "./"));
+	ANKI_TEST_EXPECT_NO_ERR(tracer.init(&alloc, "./"));
 	TracerSingleton::get().setEnabled(true);
 
 	// 1st frame