summaryrefslogtreecommitdiff
path: root/Source
diff options
context:
space:
mode:
authordegasus <wickmarkus@web.de>2014-12-20 13:02:00 +0100
committerdegasus <wickmarkus@web.de>2014-12-20 13:06:29 +0100
commitfb177ca04e4460801e19aa39e5868698b855aa83 (patch)
tree32b564c2c9fcfac0f53db59edc54f26fe19c4679 /Source
parentffa014dd4853d231e3b380e12ccc96318e184f64 (diff)
VideoCommon: merge debug test generators
Diffstat (limited to 'Source')
-rw-r--r--Source/Core/VideoBackends/D3D/Render.cpp3
-rw-r--r--Source/Core/VideoBackends/OGL/Render.cpp18
-rw-r--r--Source/Core/VideoBackends/OGL/Render.h2
-rw-r--r--Source/Core/VideoCommon/RenderBase.cpp217
-rw-r--r--Source/Core/VideoCommon/RenderBase.h1
5 files changed, 111 insertions, 130 deletions
diff --git a/Source/Core/VideoBackends/D3D/Render.cpp b/Source/Core/VideoBackends/D3D/Render.cpp
index a07b2754da..3cd64ba6a0 100644
--- a/Source/Core/VideoBackends/D3D/Render.cpp
+++ b/Source/Core/VideoBackends/D3D/Render.cpp
@@ -913,9 +913,6 @@ void Renderer::SwapImpl(u32 xfbAddr, u32 fbWidth, u32 fbStride, u32 fbHeight, co
D3D::context->RSSetViewports(1, &vp);
Renderer::DrawDebugText();
- std::string debug_info = GetDebugText();
- if (debug_info != "")
- D3D::font.DrawTextScaled(0, 0, 20, 0.0f, 0xFF00FFFF, debug_info);
OSD::DrawMessages();
D3D::EndFrame();
diff --git a/Source/Core/VideoBackends/OGL/Render.cpp b/Source/Core/VideoBackends/OGL/Render.cpp
index f7eaf5f281..5335533cf7 100644
--- a/Source/Core/VideoBackends/OGL/Render.cpp
+++ b/Source/Core/VideoBackends/OGL/Render.cpp
@@ -722,11 +722,8 @@ void Renderer::Init()
}
// Create On-Screen-Messages
-void Renderer::DrawDebugInfo()
+void Renderer::ShowEfbCopyRegions()
{
- // Reset viewport for drawing text
- glViewport(0, 0, GLInterface->GetBackBufferWidth(), GLInterface->GetBackBufferHeight());
-
if (GLInterface->GetMode() == GLInterfaceMode::MODE_OPENGL && g_ActiveConfig.bShowEFBCopyRegions)
{
// Set Line Size
@@ -844,14 +841,6 @@ void Renderer::DrawDebugInfo()
// Clear stored regions
stats.efb_regions.clear();
}
-
- std::string debug_info = GetDebugText();
- if (!debug_info.empty())
- {
- // Render a shadow, and then the text.
- Renderer::RenderText(debug_info, 21, 21, 0xDD000000);
- Renderer::RenderText(debug_info, 20, 20, 0xFF00FFFF);
- }
}
void Renderer::RenderText(const std::string& text, int left, int top, u32 color)
@@ -1682,7 +1671,10 @@ void Renderer::SwapImpl(u32 xfbAddr, u32 fbWidth, u32 fbStride, u32 fbHeight, co
glEnable(GL_BLEND);
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
- DrawDebugInfo();
+ // Reset viewport for drawing text
+ glViewport(0, 0, GLInterface->GetBackBufferWidth(), GLInterface->GetBackBufferHeight());
+
+ ShowEfbCopyRegions();
DrawDebugText();
// Do our OSD callbacks
diff --git a/Source/Core/VideoBackends/OGL/Render.h b/Source/Core/VideoBackends/OGL/Render.h
index db843179a9..b536d1cecb 100644
--- a/Source/Core/VideoBackends/OGL/Render.h
+++ b/Source/Core/VideoBackends/OGL/Render.h
@@ -66,7 +66,7 @@ public:
void RestoreState() override {}
void RenderText(const std::string& text, int left, int top, u32 color) override;
- void DrawDebugInfo();
+ void ShowEfbCopyRegions();
void FlipImageData(u8 *data, int w, int h, int pixel_width = 3);
u32 AccessEFB(EFBAccessType type, u32 x, u32 y, u32 poke_data) override;
diff --git a/Source/Core/VideoCommon/RenderBase.cpp b/Source/Core/VideoCommon/RenderBase.cpp
index d287485da6..6fe9261063 100644
--- a/Source/Core/VideoCommon/RenderBase.cpp
+++ b/Source/Core/VideoCommon/RenderBase.cpp
@@ -289,147 +289,140 @@ void Renderer::SetScreenshot(const std::string& filename)
// Create On-Screen-Messages
void Renderer::DrawDebugText()
{
- // OSD Menu messages
- if (OSDChoice > 0)
+ std::string final_yellow, final_cyan;
+
+ if (g_ActiveConfig.bShowFPS || SConfig::GetInstance().m_ShowFrameCount)
{
- OSDTime = Common::Timer::GetTimeMs() + 3000;
- OSDChoice = -OSDChoice;
- }
+ std::string fps = "";
+ if (g_ActiveConfig.bShowFPS)
+ final_cyan += StringFromFormat("FPS: %d", g_renderer->m_fps_counter.m_fps);
- if ((u32)OSDTime <= Common::Timer::GetTimeMs())
- return;
+ if (g_ActiveConfig.bShowFPS && SConfig::GetInstance().m_ShowFrameCount)
+ final_cyan += " - ";
+ if (SConfig::GetInstance().m_ShowFrameCount)
+ {
+ final_cyan += StringFromFormat("Frame: %llu", (unsigned long long) Movie::g_currentFrame);
+ if (Movie::IsPlayingInput())
+ final_cyan += StringFromFormat(" / %llu", (unsigned long long) Movie::g_totalFrames);
+ }
- const char* res_text = "";
- switch (g_ActiveConfig.iEFBScale)
- {
- case SCALE_AUTO:
- res_text = "Auto (fractional)";
- break;
- case SCALE_AUTO_INTEGRAL:
- res_text = "Auto (integral)";
- break;
- case SCALE_1X:
- res_text = "Native";
- break;
- case SCALE_1_5X:
- res_text = "1.5x";
- break;
- case SCALE_2X:
- res_text = "2x";
- break;
- case SCALE_2_5X:
- res_text = "2.5x";
- break;
- case SCALE_3X:
- res_text = "3x";
- break;
- case SCALE_4X:
- res_text = "4x";
- break;
+ final_cyan += "\n";
+ final_yellow += "\n";
}
- const char* ar_text = "";
- switch (g_ActiveConfig.iAspectRatio)
+ if (SConfig::GetInstance().m_ShowLag)
{
- case ASPECT_AUTO:
- ar_text = "Auto";
- break;
- case ASPECT_FORCE_16_9:
- ar_text = "16:9";
- break;
- case ASPECT_FORCE_4_3:
- ar_text = "4:3";
- break;
- case ASPECT_STRETCH:
- ar_text = "Stretch";
- break;
+ final_cyan += StringFromFormat("Lag: %" PRIu64 "\n", Movie::g_currentLagCount);
+ final_yellow += "\n";
}
- const char* const efbcopy_text = g_ActiveConfig.bEFBCopyEnable ?
- (g_ActiveConfig.bCopyEFBToTexture ? "to Texture" : "to RAM") : "Disabled";
-
- // The rows
- const std::string lines[] =
- {
- std::string("3: Internal Resolution: ") + res_text,
- std::string("4: Aspect Ratio: ") + ar_text + (g_ActiveConfig.bCrop ? " (crop)" : ""),
- std::string("5: Copy EFB: ") + efbcopy_text,
- std::string("6: Fog: ") + (g_ActiveConfig.bDisableFog ? "Disabled" : "Enabled"),
- };
-
- enum { lines_count = sizeof(lines)/sizeof(*lines) };
-
- std::string final_yellow, final_cyan;
-
- // If there is more text than this we will have a collision
- if (g_ActiveConfig.bShowFPS)
+ if (SConfig::GetInstance().m_ShowInputDisplay)
{
- final_yellow = final_cyan = "\n\n";
+ final_cyan += Movie::GetInputDisplay();
+ final_yellow += "\n";
}
- // The latest changed setting in yellow
- for (int i = 0; i != lines_count; ++i)
+ // OSD Menu messages
+ if (OSDChoice > 0)
{
- if (OSDChoice == -i - 1)
- final_yellow += lines[i];
- final_yellow += '\n';
+ OSDTime = Common::Timer::GetTimeMs() + 3000;
+ OSDChoice = -OSDChoice;
}
- // The other settings in cyan
- for (int i = 0; i != lines_count; ++i)
+ if ((u32)OSDTime > Common::Timer::GetTimeMs())
{
- if (OSDChoice != -i - 1)
- final_cyan += lines[i];
- final_cyan += '\n';
- }
-
- // Render a shadow
- g_renderer->RenderText(final_cyan, 21, 21, 0xDD000000);
- g_renderer->RenderText(final_yellow, 21, 21, 0xDD000000);
- //and then the text
- g_renderer->RenderText(final_cyan, 20, 20, 0xFF00FFFF);
- g_renderer->RenderText(final_yellow, 20, 20, 0xFFFFFF00);
-}
-
-std::string Renderer::GetDebugText()
-{
- // Draw various messages on the screen, like FPS, statistics, etc.
- std::string debug_info;
- if (g_ActiveConfig.bShowFPS || SConfig::GetInstance().m_ShowFrameCount)
- {
- std::string fps = "";
- if (g_ActiveConfig.bShowFPS)
- debug_info += StringFromFormat("FPS: %d", g_renderer->m_fps_counter.m_fps);
+ const char* res_text = "";
+ switch (g_ActiveConfig.iEFBScale)
+ {
+ case SCALE_AUTO:
+ res_text = "Auto (fractional)";
+ break;
+ case SCALE_AUTO_INTEGRAL:
+ res_text = "Auto (integral)";
+ break;
+ case SCALE_1X:
+ res_text = "Native";
+ break;
+ case SCALE_1_5X:
+ res_text = "1.5x";
+ break;
+ case SCALE_2X:
+ res_text = "2x";
+ break;
+ case SCALE_2_5X:
+ res_text = "2.5x";
+ break;
+ case SCALE_3X:
+ res_text = "3x";
+ break;
+ case SCALE_4X:
+ res_text = "4x";
+ break;
+ }
- if (g_ActiveConfig.bShowFPS && SConfig::GetInstance().m_ShowFrameCount)
- debug_info += " - ";
- if (SConfig::GetInstance().m_ShowFrameCount)
+ const char* ar_text = "";
+ switch (g_ActiveConfig.iAspectRatio)
{
- debug_info += StringFromFormat("Frame: %llu", (unsigned long long) Movie::g_currentFrame);
- if (Movie::IsPlayingInput())
- debug_info += StringFromFormat(" / %llu", (unsigned long long) Movie::g_totalFrames);
+ case ASPECT_AUTO:
+ ar_text = "Auto";
+ break;
+ case ASPECT_FORCE_16_9:
+ ar_text = "16:9";
+ break;
+ case ASPECT_FORCE_4_3:
+ ar_text = "4:3";
+ break;
+ case ASPECT_STRETCH:
+ ar_text = "Stretch";
+ break;
}
- debug_info += "\n";
- }
+ const char* const efbcopy_text = g_ActiveConfig.bEFBCopyEnable ?
+ (g_ActiveConfig.bCopyEFBToTexture ? "to Texture" : "to RAM") : "Disabled";
- if (SConfig::GetInstance().m_ShowLag)
- debug_info += StringFromFormat("Lag: %" PRIu64 "\n", Movie::g_currentLagCount);
+ // The rows
+ const std::string lines[] =
+ {
+ std::string("Internal Resolution: ") + res_text,
+ std::string("Aspect Ratio: ") + ar_text + (g_ActiveConfig.bCrop ? " (crop)" : ""),
+ std::string("Copy EFB: ") + efbcopy_text,
+ std::string("Fog: ") + (g_ActiveConfig.bDisableFog ? "Disabled" : "Enabled"),
+ };
- if (SConfig::GetInstance().m_ShowInputDisplay)
- debug_info += Movie::GetInputDisplay();
+ enum { lines_count = sizeof(lines)/sizeof(*lines) };
- debug_info += Profiler::ToString();
+ // The latest changed setting in yellow
+ for (int i = 0; i != lines_count; ++i)
+ {
+ if (OSDChoice == -i - 1)
+ final_yellow += lines[i];
+ final_yellow += '\n';
+ }
+ // The other settings in cyan
+ for (int i = 0; i != lines_count; ++i)
+ {
+ if (OSDChoice != -i - 1)
+ final_cyan += lines[i];
+ final_cyan += '\n';
+ }
+ }
+
+ final_cyan += Profiler::ToString();
if (g_ActiveConfig.bOverlayStats)
- debug_info += Statistics::ToString();
+ final_cyan += Statistics::ToString();
if (g_ActiveConfig.bOverlayProjStats)
- debug_info += Statistics::ToStringProj();
+ final_cyan += Statistics::ToStringProj();
- return debug_info;
+ // Render a shadow
+ g_renderer->RenderText(final_cyan, 21, 21, 0xDD000000);
+ g_renderer->RenderText(final_yellow, 21, 21, 0xDD000000);
+ //and then the text
+ g_renderer->RenderText(final_cyan, 20, 20, 0xFF00FFFF);
+ g_renderer->RenderText(final_yellow, 20, 20, 0xFFFFFF00);
}
void Renderer::UpdateDrawRectangle(int backbuffer_width, int backbuffer_height)
diff --git a/Source/Core/VideoCommon/RenderBase.h b/Source/Core/VideoCommon/RenderBase.h
index bb0c55cb02..ef68d665a6 100644
--- a/Source/Core/VideoCommon/RenderBase.h
+++ b/Source/Core/VideoCommon/RenderBase.h
@@ -96,7 +96,6 @@ public:
// Random utilities
static void SetScreenshot(const std::string& filename);
static void DrawDebugText();
- static std::string GetDebugText();
virtual void RenderText(const std::string& text, int left, int top, u32 color) = 0;