summaryrefslogtreecommitdiffstats
path: root/src/video_core/engines/maxwell_3d.h
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2020-02-14 02:18:26 +0100
committerGitHub <noreply@github.com>2020-02-14 02:18:26 +0100
commit3563af2364a08db21e95ca1ac344f34251bfa27b (patch)
tree36cc82478d46104db82f64b3bd8f14bb53cb6763 /src/video_core/engines/maxwell_3d.h
parentMerge pull request #3405 from lioncash/thread (diff)
parentGPU: Address Feedback. (diff)
downloadyuzu-3563af2364a08db21e95ca1ac344f34251bfa27b.tar
yuzu-3563af2364a08db21e95ca1ac344f34251bfa27b.tar.gz
yuzu-3563af2364a08db21e95ca1ac344f34251bfa27b.tar.bz2
yuzu-3563af2364a08db21e95ca1ac344f34251bfa27b.tar.lz
yuzu-3563af2364a08db21e95ca1ac344f34251bfa27b.tar.xz
yuzu-3563af2364a08db21e95ca1ac344f34251bfa27b.tar.zst
yuzu-3563af2364a08db21e95ca1ac344f34251bfa27b.zip
Diffstat (limited to 'src/video_core/engines/maxwell_3d.h')
-rw-r--r--src/video_core/engines/maxwell_3d.h16
1 files changed, 9 insertions, 7 deletions
diff --git a/src/video_core/engines/maxwell_3d.h b/src/video_core/engines/maxwell_3d.h
index 7b1912a66..0a2af54e5 100644
--- a/src/video_core/engines/maxwell_3d.h
+++ b/src/video_core/engines/maxwell_3d.h
@@ -71,12 +71,11 @@ public:
static constexpr std::size_t MaxConstBuffers = 18;
static constexpr std::size_t MaxConstBufferSize = 0x10000;
- enum class QueryMode : u32 {
- Write = 0,
- Sync = 1,
- // TODO(Subv): It is currently unknown what the difference between method 2 and method 0
- // is.
- Write2 = 2,
+ enum class QueryOperation : u32 {
+ Release = 0,
+ Acquire = 1,
+ Counter = 2,
+ Trap = 3,
};
enum class QueryUnit : u32 {
@@ -1081,7 +1080,7 @@ public:
u32 query_sequence;
union {
u32 raw;
- BitField<0, 2, QueryMode> mode;
+ BitField<0, 2, QueryOperation> operation;
BitField<4, 1, u32> fence;
BitField<12, 4, QueryUnit> unit;
BitField<16, 1, QuerySyncCondition> sync_cond;
@@ -1413,6 +1412,9 @@ private:
/// Handles a write to the QUERY_GET register.
void ProcessQueryGet();
+ // Writes the query result accordingly
+ void StampQueryResult(u64 payload, bool long_query);
+
// Handles Conditional Rendering
void ProcessQueryCondition();