diff options
| author | 2023-09-25 09:18:29 -0400 | |
|---|---|---|
| committer | 2023-09-25 09:18:29 -0400 | |
| commit | 854457a392b6d38168f7f9d19d1fa8c43fad653c (patch) | |
| tree | 3bc1007b5776f1ce82c057875609105de0a1ca44 /src/video_core/rasterizer_interface.h | |
| parent | Merge pull request #11569 from german77/lle_applet (diff) | |
| parent | Query Cache: Fix Prefix Sums (diff) | |
| download | yuzu-854457a392b6d38168f7f9d19d1fa8c43fad653c.tar.gz yuzu-854457a392b6d38168f7f9d19d1fa8c43fad653c.tar.xz yuzu-854457a392b6d38168f7f9d19d1fa8c43fad653c.zip | |
Merge pull request #11225 from FernandoS27/no-laxatives-in-santas-cookies
Y.F.C: Rework the Query Cache.
Diffstat (limited to 'src/video_core/rasterizer_interface.h')
| -rw-r--r-- | src/video_core/rasterizer_interface.h | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/src/video_core/rasterizer_interface.h b/src/video_core/rasterizer_interface.h index cb8029a4f..af1469147 100644 --- a/src/video_core/rasterizer_interface.h +++ b/src/video_core/rasterizer_interface.h | |||
| @@ -12,6 +12,7 @@ | |||
| 12 | #include "video_core/cache_types.h" | 12 | #include "video_core/cache_types.h" |
| 13 | #include "video_core/engines/fermi_2d.h" | 13 | #include "video_core/engines/fermi_2d.h" |
| 14 | #include "video_core/gpu.h" | 14 | #include "video_core/gpu.h" |
| 15 | #include "video_core/query_cache/types.h" | ||
| 15 | #include "video_core/rasterizer_download_area.h" | 16 | #include "video_core/rasterizer_download_area.h" |
| 16 | 17 | ||
| 17 | namespace Tegra { | 18 | namespace Tegra { |
| @@ -26,11 +27,6 @@ struct ChannelState; | |||
| 26 | 27 | ||
| 27 | namespace VideoCore { | 28 | namespace VideoCore { |
| 28 | 29 | ||
| 29 | enum class QueryType { | ||
| 30 | SamplesPassed, | ||
| 31 | }; | ||
| 32 | constexpr std::size_t NumQueryTypes = 1; | ||
| 33 | |||
| 34 | enum class LoadCallbackStage { | 30 | enum class LoadCallbackStage { |
| 35 | Prepare, | 31 | Prepare, |
| 36 | Build, | 32 | Build, |
| @@ -58,10 +54,11 @@ public: | |||
| 58 | virtual void DispatchCompute() = 0; | 54 | virtual void DispatchCompute() = 0; |
| 59 | 55 | ||
| 60 | /// Resets the counter of a query | 56 | /// Resets the counter of a query |
| 61 | virtual void ResetCounter(QueryType type) = 0; | 57 | virtual void ResetCounter(VideoCommon::QueryType type) = 0; |
| 62 | 58 | ||
| 63 | /// Records a GPU query and caches it | 59 | /// Records a GPU query and caches it |
| 64 | virtual void Query(GPUVAddr gpu_addr, QueryType type, std::optional<u64> timestamp) = 0; | 60 | virtual void Query(GPUVAddr gpu_addr, VideoCommon::QueryType type, |
| 61 | VideoCommon::QueryPropertiesFlags flags, u32 payload, u32 subreport) = 0; | ||
| 65 | 62 | ||
| 66 | /// Signal an uniform buffer binding | 63 | /// Signal an uniform buffer binding |
| 67 | virtual void BindGraphicsUniformBuffer(size_t stage, u32 index, GPUVAddr gpu_addr, | 64 | virtual void BindGraphicsUniformBuffer(size_t stage, u32 index, GPUVAddr gpu_addr, |
| @@ -83,7 +80,7 @@ public: | |||
| 83 | virtual void SignalReference() = 0; | 80 | virtual void SignalReference() = 0; |
| 84 | 81 | ||
| 85 | /// Release all pending fences. | 82 | /// Release all pending fences. |
| 86 | virtual void ReleaseFences() = 0; | 83 | virtual void ReleaseFences(bool force = true) = 0; |
| 87 | 84 | ||
| 88 | /// Notify rasterizer that all caches should be flushed to Switch memory | 85 | /// Notify rasterizer that all caches should be flushed to Switch memory |
| 89 | virtual void FlushAll() = 0; | 86 | virtual void FlushAll() = 0; |