Browse Source

Editor: Sort the RT targets

Panagiotis Christopoulos Charitos 1 month ago
parent
commit
a14dabbb80
2 changed files with 12 additions and 3 deletions
  1. 11 2
      AnKi/Editor/EditorUi.cpp
  2. 1 1
      AnKi/Shaders/GpuVisibilityStage2And3.ankiprog

+ 11 - 2
AnKi/Editor/EditorUi.cpp

@@ -942,14 +942,23 @@ void EditorUi::debugRtsWindow()
 
 
 		if(ImGui::BeginChild("Content", Vec2(-1.0f, -1.0f)))
 		if(ImGui::BeginChild("Content", Vec2(-1.0f, -1.0f)))
 		{
 		{
+			// Gather the names
+			DynamicArray<String> rtNames;
 			Renderer::getSingleton().iterateDebugRenderTargetNames([&](CString name) {
 			Renderer::getSingleton().iterateDebugRenderTargetNames([&](CString name) {
+				rtNames.emplaceBack(name);
+				return FunctorContinue::kContinue;
+			});
+
+			std::sort(rtNames.getBegin(), rtNames.getEnd());
+
+			for(const String& name : rtNames)
+			{
 				Bool isActive = (name == Renderer::getSingleton().getCurrentDebugRenderTarget());
 				Bool isActive = (name == Renderer::getSingleton().getCurrentDebugRenderTarget());
 				if(ImGui::Checkbox(name.cstr(), &isActive) || (isActive && refresh))
 				if(ImGui::Checkbox(name.cstr(), &isActive) || (isActive && refresh))
 				{
 				{
 					Renderer::getSingleton().setCurrentDebugRenderTarget(isActive ? name : "", m_debugRtsWindow.m_disableTonemapping);
 					Renderer::getSingleton().setCurrentDebugRenderTarget(isActive ? name : "", m_debugRtsWindow.m_disableTonemapping);
 				}
 				}
-				return FunctorContinue::kContinue;
-			});
+			}
 		}
 		}
 		ImGui::EndChild();
 		ImGui::EndChild();
 	}
 	}

+ 1 - 1
AnKi/Shaders/GpuVisibilityStage2And3.ankiprog

@@ -107,7 +107,7 @@ RWStructuredBuffer<U32> g_outOfMemoryBuffer : register(u3);
 		SBUFF(g_drawIndexedIndirectArgs, indirectArgsIndex) = indirect;
 		SBUFF(g_drawIndexedIndirectArgs, indirectArgsIndex) = indirect;
 
 
 		GpuScenePerDraw perDraw;
 		GpuScenePerDraw perDraw;
-		perDraw.m_worldTransformsIndex =renderable.m_worldTransformsIndex;
+		perDraw.m_worldTransformsIndex = renderable.m_worldTransformsIndex;
 		perDraw.m_isParticleEmitter = isParticleEmitter;
 		perDraw.m_isParticleEmitter = isParticleEmitter;
 		perDraw.m_particleEmitterIndex = renderable.m_particleEmitterIndex;
 		perDraw.m_particleEmitterIndex = renderable.m_particleEmitterIndex;
 		perDraw.m_constantsOffset = renderable.m_constantsOffset;
 		perDraw.m_constantsOffset = renderable.m_constantsOffset;