summaryrefslogtreecommitdiff
path: root/Source/Core/VideoBackends/OGL/Render.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/Core/VideoBackends/OGL/Render.cpp')
-rw-r--r--Source/Core/VideoBackends/OGL/Render.cpp59
1 files changed, 16 insertions, 43 deletions
diff --git a/Source/Core/VideoBackends/OGL/Render.cpp b/Source/Core/VideoBackends/OGL/Render.cpp
index 2920d33c78..7feba47baa 100644
--- a/Source/Core/VideoBackends/OGL/Render.cpp
+++ b/Source/Core/VideoBackends/OGL/Render.cpp
@@ -878,8 +878,6 @@ void Renderer::RenderText(const std::string& text, int left, int top, u32 color)
left * 2.0f / (float)nBackbufferWidth - 1,
1 - top * 2.0f / (float)nBackbufferHeight,
0, nBackbufferWidth, nBackbufferHeight, color);
-
- GL_REPORT_ERRORD();
}
TargetRectangle Renderer::ConvertEFBRectangle(const EFBRectangle& rc)
@@ -1015,7 +1013,6 @@ u32 Renderer::AccessEFB(EFBAccessType type, u32 x, u32 y, u32 poke_data)
glReadPixels(targetPixelRc.left, targetPixelRc.bottom, targetPixelRcWidth, targetPixelRcHeight,
GL_DEPTH_COMPONENT, GL_UNSIGNED_INT, depthMap);
- GL_REPORT_ERRORD();
UpdateEFBCache(type, cacheRectIdx, efbPixelRc, targetPixelRc, depthMap);
@@ -1073,7 +1070,6 @@ u32 Renderer::AccessEFB(EFBAccessType type, u32 x, u32 y, u32 poke_data)
else
glReadPixels(targetPixelRc.left, targetPixelRc.bottom, targetPixelRcWidth, targetPixelRcHeight,
GL_BGRA, GL_UNSIGNED_INT_8_8_8_8_REV, colorMap);
- GL_REPORT_ERRORD();
UpdateEFBCache(type, cacheRectIdx, efbPixelRc, targetPixelRc, colorMap);
@@ -1409,8 +1405,6 @@ void Renderer::SwapImpl(u32 xfbAddr, u32 fbWidth, u32 fbStride, u32 fbHeight, co
std::swap(flipped_trc.top, flipped_trc.bottom);
}
- GL_REPORT_ERRORD();
-
// Copy the framebuffer to screen.
const XFBSource* xfbSource = nullptr;
@@ -1501,7 +1495,7 @@ void Renderer::SwapImpl(u32 xfbAddr, u32 fbWidth, u32 fbStride, u32 fbHeight, co
}
glPixelStorei(GL_PACK_ALIGNMENT, 1);
glReadPixels(flipped_trc.left, flipped_trc.bottom, w, h, GL_BGR, GL_UNSIGNED_BYTE, &frame_data[0]);
- if (GL_REPORT_ERROR() == GL_NO_ERROR && w > 0 && h > 0)
+ if (w > 0 && h > 0)
{
if (!bLastFrameDumped)
{
@@ -1559,29 +1553,27 @@ void Renderer::SwapImpl(u32 xfbAddr, u32 fbWidth, u32 fbStride, u32 fbHeight, co
frame_data.resize(3 * w * h);
glPixelStorei(GL_PACK_ALIGNMENT, 1);
glReadPixels(GetTargetRectangle().left, GetTargetRectangle().bottom, w, h, GL_BGR, GL_UNSIGNED_BYTE, &frame_data[0]);
- if (GL_REPORT_ERROR() == GL_NO_ERROR)
+
+ if (!bLastFrameDumped)
{
- if (!bLastFrameDumped)
+ movie_file_name = File::GetUserPath(D_DUMPFRAMES_IDX) + "framedump.raw";
+ pFrameDump.Open(movie_file_name, "wb");
+ if (!pFrameDump)
{
- movie_file_name = File::GetUserPath(D_DUMPFRAMES_IDX) + "framedump.raw";
- pFrameDump.Open(movie_file_name, "wb");
- if (!pFrameDump)
- {
- OSD::AddMessage("Error opening framedump.raw for writing.", 2000);
- }
- else
- {
- OSD::AddMessage(StringFromFormat("Dumping Frames to \"%s\" (%dx%d RGB24)", movie_file_name.c_str(), w, h), 2000);
- }
+ OSD::AddMessage("Error opening framedump.raw for writing.", 2000);
}
- if (pFrameDump)
+ else
{
- FlipImageData(&frame_data[0], w, h);
- pFrameDump.WriteBytes(&frame_data[0], w * 3 * h);
- pFrameDump.Flush();
+ OSD::AddMessage(StringFromFormat("Dumping Frames to \"%s\" (%dx%d RGB24)", movie_file_name.c_str(), w, h), 2000);
}
- bLastFrameDumped = true;
}
+ if (pFrameDump)
+ {
+ FlipImageData(&frame_data[0], w, h);
+ pFrameDump.WriteBytes(&frame_data[0], w * 3 * h);
+ pFrameDump.Flush();
+ }
+ bLastFrameDumped = true;
}
else
{
@@ -1638,32 +1630,24 @@ void Renderer::SwapImpl(u32 xfbAddr, u32 fbWidth, u32 fbStride, u32 fbHeight, co
// ---------------------------------------------------------------------
if (!DriverDetails::HasBug(DriverDetails::BUG_BROKENSWAP))
{
- GL_REPORT_ERRORD();
-
glEnable(GL_BLEND);
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
DrawDebugInfo();
DrawDebugText();
- GL_REPORT_ERRORD();
-
// Do our OSD callbacks
OSD::DoCallbacks(OSD::OSD_ONFRAME);
OSD::DrawMessages();
- GL_REPORT_ERRORD();
}
// Copy the rendered frame to the real window
GLInterface->Swap();
- GL_REPORT_ERRORD();
-
// Clear framebuffer
if (!DriverDetails::HasBug(DriverDetails::BUG_BROKENSWAP))
{
glClearColor(0, 0, 0, 0);
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT | GL_STENCIL_BUFFER_BIT);
- GL_REPORT_ERRORD();
}
if (s_vsync != g_ActiveConfig.IsVSync())
@@ -1678,11 +1662,8 @@ void Renderer::SwapImpl(u32 xfbAddr, u32 fbWidth, u32 fbStride, u32 fbHeight, co
// Render to the framebuffer.
FramebufferManager::SetFramebuffer(0);
- GL_REPORT_ERRORD();
-
RestoreAPIState();
- GL_REPORT_ERRORD();
g_Config.iSaveTargetId = 0;
UpdateActiveConfig();
@@ -1875,14 +1856,6 @@ bool Renderer::SaveScreenshot(const std::string &filename, const TargetRectangle
glReadPixels(back_rc.left, back_rc.bottom, W, H, GL_RGBA, GL_UNSIGNED_BYTE, data);
- // Show failure message
- if (GL_REPORT_ERROR() != GL_NO_ERROR)
- {
- delete[] data;
- OSD::AddMessage("Error capturing or saving screenshot.", 2000);
- return false;
- }
-
// Turn image upside down
FlipImageData(data, W, H, 4);
bool success = TextureToPng(data, W*4, filename, W, H, false);