diff options
author | bunnei <bunneidev@gmail.com> | 2020-02-14 02:18:26 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-02-14 02:18:26 +0100 |
commit | 3563af2364a08db21e95ca1ac344f34251bfa27b (patch) | |
tree | 36cc82478d46104db82f64b3bd8f14bb53cb6763 /src/video_core/engines/maxwell_3d.h | |
parent | Merge pull request #3405 from lioncash/thread (diff) | |
parent | GPU: Address Feedback. (diff) | |
download | yuzu-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.h | 16 |
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(); |