aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2015-07-30 10:39:38 -0400
committerbunnei <bunneidev@gmail.com>2015-07-30 10:39:38 -0400
commitbb7eb5c574c2141e34c499ff921e0dd9d28819f9 (patch)
tree1932d9192215b22425452686c277b372be259a60 /src
parenta5f77c98865934147ffc07b79a49c76afca3cb15 (diff)
parent428154da455667f69ff407771e525ddb9bd22e54 (diff)
Merge pull request #1006 from yuriks/fb-commit-profile
OpenGL: Add a profiler category measuring framebuffer readback
Diffstat (limited to 'src')
-rw-r--r--src/video_core/renderer_opengl/gl_rasterizer.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/video_core/renderer_opengl/gl_rasterizer.cpp b/src/video_core/renderer_opengl/gl_rasterizer.cpp
index 2db845da..1fc4e56b 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<u8[]> 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