summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFernando Sahmkow <fsahmkow27@gmail.com>2020-02-18 18:19:24 +0100
committerFernando Sahmkow <fsahmkow27@gmail.com>2020-04-22 17:36:13 +0200
commita081a7c8558500249f4871f3a1b8c9046cb1b6f1 (patch)
tree1b0ea7a584aa76f48918668c208c1b083c6cb85d
parentRasterizer: Disable fence managing in synchronous gpu. (diff)
downloadyuzu-a081a7c8558500249f4871f3a1b8c9046cb1b6f1.tar
yuzu-a081a7c8558500249f4871f3a1b8c9046cb1b6f1.tar.gz
yuzu-a081a7c8558500249f4871f3a1b8c9046cb1b6f1.tar.bz2
yuzu-a081a7c8558500249f4871f3a1b8c9046cb1b6f1.tar.lz
yuzu-a081a7c8558500249f4871f3a1b8c9046cb1b6f1.tar.xz
yuzu-a081a7c8558500249f4871f3a1b8c9046cb1b6f1.tar.zst
yuzu-a081a7c8558500249f4871f3a1b8c9046cb1b6f1.zip
-rw-r--r--src/video_core/engines/maxwell_3d.cpp7
-rw-r--r--src/video_core/renderer_opengl/gl_rasterizer.cpp1
2 files changed, 4 insertions, 4 deletions
diff --git a/src/video_core/engines/maxwell_3d.cpp b/src/video_core/engines/maxwell_3d.cpp
index c297bc31b..cff90bc1d 100644
--- a/src/video_core/engines/maxwell_3d.cpp
+++ b/src/video_core/engines/maxwell_3d.cpp
@@ -403,12 +403,11 @@ void Maxwell3D::ProcessQueryGet() {
"Units other than CROP are unimplemented");
switch (regs.query.query_get.operation) {
- case Regs::QueryOperation::Release: {
- const u64 result = regs.query.query_sequence;
+ case Regs::QueryOperation::Release:
if (regs.query.query_get.fence == 1) {
- rasterizer.SignalFence(regs.query.QueryAddress(), static_cast<u32>(result));
+ rasterizer.SignalFence(regs.query.QueryAddress(), regs.query.query_sequence);
} else {
- StampQueryResult(result, regs.query.query_get.short_query == 0);
+ StampQueryResult(regs.query.query_sequence, regs.query.query_get.short_query == 0);
}
break;
}
diff --git a/src/video_core/renderer_opengl/gl_rasterizer.cpp b/src/video_core/renderer_opengl/gl_rasterizer.cpp
index ffa0a0429..db7eae065 100644
--- a/src/video_core/renderer_opengl/gl_rasterizer.cpp
+++ b/src/video_core/renderer_opengl/gl_rasterizer.cpp
@@ -673,6 +673,7 @@ void RasterizerOpenGL::OnCPUWrite(VAddr addr, u64 size) {
texture_cache.OnCPUWrite(addr, size);
shader_cache.InvalidateRegion(addr, size);
buffer_cache.OnCPUWrite(addr, size);
+ query_cache.InvalidateRegion(addr, size);
}
void RasterizerOpenGL::SyncGuestHost() {