From 428154da455667f69ff407771e525ddb9bd22e54 Mon Sep 17 00:00:00 2001 From: Yuri Kunde Schlesner Date: Tue, 28 Jul 2015 17:37:46 -0300 Subject: OpenGL: Add a profiler category measuring framebuffer readback --- src/video_core/renderer_opengl/gl_rasterizer.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/video_core/renderer_opengl/gl_rasterizer.cpp b/src/video_core/renderer_opengl/gl_rasterizer.cpp index 2db845da6..1fc4e56b1 100644 --- a/src/video_core/renderer_opengl/gl_rasterizer.cpp +++ b/src/video_core/renderer_opengl/gl_rasterizer.cpp @@ -7,6 +7,7 @@ #include "common/color.h" #include "common/math_util.h" +#include "common/profiler.h" #include "core/hw/gpu.h" #include "core/memory.h" @@ -873,11 +874,15 @@ void RasterizerOpenGL::ReloadDepthBuffer() { state.Apply(); } +Common::Profiling::TimingCategory buffer_commit_category("Framebuffer Commit"); + void RasterizerOpenGL::CommitColorBuffer() { if (last_fb_color_addr != 0) { u8* color_buffer = Memory::GetPhysicalPointer(last_fb_color_addr); if (color_buffer != nullptr) { + Common::Profiling::ScopeTimer timer(buffer_commit_category); + u32 bytes_per_pixel = Pica::Regs::BytesPerColorPixel(fb_color_texture.format); std::unique_ptr temp_gl_color_buffer(new u8[fb_color_texture.width * fb_color_texture.height * bytes_per_pixel]); @@ -913,6 +918,8 @@ void RasterizerOpenGL::CommitDepthBuffer() { u8* depth_buffer = Memory::GetPhysicalPointer(last_fb_depth_addr); if (depth_buffer != nullptr) { + Common::Profiling::ScopeTimer timer(buffer_commit_category); + u32 bytes_per_pixel = Pica::Regs::BytesPerDepthPixel(fb_depth_texture.format); // OpenGL needs 4 bpp alignment for D24 -- cgit v1.2.3