Debug visualization for the Vulkan memory allocator. Shows some interesting behaviour.

This commit is contained in:
Henrik Rydgård committed 2018-01-29 19:38:10 +01:00
1 parent 2ae2dd7d40
commit c60c8ed68a
18 files changed
+168 -15

No files matched your search

+13 -8
View File
@@ -50,6 +50,7 @@
#include "GPU/GPUState.h"
#include "GPU/GPUInterface.h"
#include "GPU/GLES/FramebufferManagerGLES.h"
#include "GPU/Vulkan/DebugVisVulkan.h"
#include "Core/HLE/sceCtrl.h"
#include "Core/HLE/sceDisplay.h"
#include "Core/HLE/sceSas.h"
@@ -1179,9 +1180,10 @@ void EmuScreen::renderUI() {
using namespace Draw;
DrawContext *thin3d = screenManager()->getDrawContext();
UIContext *ctx = screenManager()->getUIContext();
// This sets up some important states but not the viewport.
screenManager()->getUIContext()->Begin();
ctx->Begin();
Viewport viewport;
viewport.TopLeftX = 0;
@@ -1192,11 +1194,10 @@ void EmuScreen::renderUI() {
viewport.MinDepth = 0.0;
thin3d->SetViewports(1, &viewport);
DrawBuffer *draw2d = screenManager()->getUIContext()->Draw();
DrawBuffer *draw2d = ctx->Draw();
if (root_) {
UI::LayoutViewHierarchy(*screenManager()->getUIContext(), root_);
root_->Draw(*screenManager()->getUIContext());
UI::LayoutViewHierarchy(*ctx, root_);
root_->Draw(*ctx);
}
if (g_Config.bShowDebugStats && !invalid_) {
@@ -1208,16 +1209,20 @@ void EmuScreen::renderUI() {
}
if (g_Config.iShowFPSCounter && !invalid_) {
DrawFPS(draw2d, screenManager()->getUIContext()->GetBounds());
DrawFPS(draw2d, ctx->GetBounds());
}
if (g_Config.iGPUBackend == (int)GPUBackend::VULKAN && g_Config.bShowAllocatorDebug) {
DrawAllocatorVis(ctx, gpu);
}
#ifdef USE_PROFILER
if (g_Config.bShowFrameProfiler && !invalid_) {
DrawProfile(*screenManager()->getUIContext());
DrawProfile(*ctx);
}
#endif
screenManager()->getUIContext()->End();
ctx->End();
}
void EmuScreen::autoLoad() {