aboutsummaryrefslogtreecommitdiff
path: root/src/video_core/rasterizer_interface.h
diff options
context:
space:
mode:
authorReinUsesLisp <reinuseslisp@airmail.cc>2019-07-27 19:40:10 -0300
committerReinUsesLisp <reinuseslisp@airmail.cc>2020-02-14 17:27:17 -0300
commit2b58652f0897053d4da04deb586490220ab5a774 (patch)
treecb49e0b4da2297e25da1aa196bbb38d6e996d399 /src/video_core/rasterizer_interface.h
parent3217400dd1c42cf04c4bf5b25bfc07e67e20773a (diff)
maxwell_3d: Slow implementation of passed samples (query 21)
Implements GL_SAMPLES_PASSED by waiting immediately for queries.
Diffstat (limited to 'src/video_core/rasterizer_interface.h')
-rw-r--r--src/video_core/rasterizer_interface.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/video_core/rasterizer_interface.h b/src/video_core/rasterizer_interface.h
index c586cd6fec..2fc6275398 100644
--- a/src/video_core/rasterizer_interface.h
+++ b/src/video_core/rasterizer_interface.h
@@ -17,6 +17,10 @@ class MemoryManager;
namespace VideoCore {
+enum class QueryType {
+ SamplesPassed,
+};
+
enum class LoadCallbackStage {
Prepare,
Decompile,
@@ -41,6 +45,12 @@ public:
/// Dispatches a compute shader invocation
virtual void DispatchCompute(GPUVAddr code_addr) = 0;
+ /// Resets the counter of a query
+ virtual void ResetCounter(QueryType type) = 0;
+
+ /// Returns the value of a GPU query
+ virtual u64 Query(QueryType type) = 0;
+
/// Notify rasterizer that all caches should be flushed to Switch memory
virtual void FlushAll() = 0;