summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2015-07-30 16:39:38 +0200
committerbunnei <bunneidev@gmail.com>2015-07-30 16:39:38 +0200
commitbb7eb5c574c2141e34c499ff921e0dd9d28819f9 (patch)
tree1932d9192215b22425452686c277b372be259a60
parentMerge pull request #1014 from lioncash/unused-warn (diff)
parentOpenGL: Add a profiler category measuring framebuffer readback (diff)
downloadyuzu-bb7eb5c574c2141e34c499ff921e0dd9d28819f9.tar
yuzu-bb7eb5c574c2141e34c499ff921e0dd9d28819f9.tar.gz
yuzu-bb7eb5c574c2141e34c499ff921e0dd9d28819f9.tar.bz2
yuzu-bb7eb5c574c2141e34c499ff921e0dd9d28819f9.tar.lz
yuzu-bb7eb5c574c2141e34c499ff921e0dd9d28819f9.tar.xz
yuzu-bb7eb5c574c2141e34c499ff921e0dd9d28819f9.tar.zst
yuzu-bb7eb5c574c2141e34c499ff921e0dd9d28819f9.zip
-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 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<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