summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2020-03-12 17:14:03 +0100
committerGitHub <noreply@github.com>2020-03-12 17:14:03 +0100
commitca2d228c9d72b7660b2a305674c1a25019e638cd (patch)
treee29cd00c2d0de9e1d35388aba070d0ef0b3b7f8f
parentMerge pull request #3496 from vitor-k/remove-enum (diff)
parentNVFlinger: Do the microprofile Flip after processing a valid frame. (diff)
downloadyuzu-ca2d228c9d72b7660b2a305674c1a25019e638cd.tar
yuzu-ca2d228c9d72b7660b2a305674c1a25019e638cd.tar.gz
yuzu-ca2d228c9d72b7660b2a305674c1a25019e638cd.tar.bz2
yuzu-ca2d228c9d72b7660b2a305674c1a25019e638cd.tar.lz
yuzu-ca2d228c9d72b7660b2a305674c1a25019e638cd.tar.xz
yuzu-ca2d228c9d72b7660b2a305674c1a25019e638cd.tar.zst
yuzu-ca2d228c9d72b7660b2a305674c1a25019e638cd.zip
-rw-r--r--externals/microprofile/microprofile.h1
-rw-r--r--src/core/hle/service/nvflinger/nvflinger.cpp4
2 files changed, 3 insertions, 2 deletions
diff --git a/externals/microprofile/microprofile.h b/externals/microprofile/microprofile.h
index cdb312b87..c1556d10c 100644
--- a/externals/microprofile/microprofile.h
+++ b/externals/microprofile/microprofile.h
@@ -243,6 +243,7 @@ typedef uint32_t ThreadIdType;
#define MICROPROFILE_DEFINE_GPU(var, name, color) MicroProfileToken g_mp_##var = MicroProfileGetToken("GPU", name, color, MicroProfileTokenTypeGpu)
#define MICROPROFILE_TOKEN_PASTE0(a, b) a ## b
#define MICROPROFILE_TOKEN_PASTE(a, b) MICROPROFILE_TOKEN_PASTE0(a,b)
+#define MICROPROFILE_TOKEN(var) g_mp_##var
#define MICROPROFILE_SCOPE(var) MicroProfileScopeHandler MICROPROFILE_TOKEN_PASTE(foo, __LINE__)(g_mp_##var)
#define MICROPROFILE_SCOPE_TOKEN(token) MicroProfileScopeHandler MICROPROFILE_TOKEN_PASTE(foo, __LINE__)(token)
#define MICROPROFILE_SCOPEI(group, name, color) static MicroProfileToken MICROPROFILE_TOKEN_PASTE(g_mp,__LINE__) = MicroProfileGetToken(group, name, color, MicroProfileTokenTypeCpu); MicroProfileScopeHandler MICROPROFILE_TOKEN_PASTE(foo,__LINE__)( MICROPROFILE_TOKEN_PASTE(g_mp,__LINE__))
diff --git a/src/core/hle/service/nvflinger/nvflinger.cpp b/src/core/hle/service/nvflinger/nvflinger.cpp
index 134152210..437bc5dee 100644
--- a/src/core/hle/service/nvflinger/nvflinger.cpp
+++ b/src/core/hle/service/nvflinger/nvflinger.cpp
@@ -191,8 +191,6 @@ void NVFlinger::Compose() {
// Search for a queued buffer and acquire it
auto buffer = buffer_queue.AcquireBuffer();
- MicroProfileFlip();
-
if (!buffer) {
continue;
}
@@ -206,6 +204,8 @@ void NVFlinger::Compose() {
gpu.WaitFence(fence.id, fence.value);
}
+ MicroProfileFlip();
+
// Now send the buffer to the GPU for drawing.
// TODO(Subv): Support more than just disp0. The display device selection is probably based
// on which display we're drawing (Default, Internal, External, etc)