diff options
| author | Lioncash <mathew1800@gmail.com> | 2020-04-19 16:12:06 -0400 |
|---|---|---|
| committer | Lioncash <mathew1800@gmail.com> | 2020-04-19 16:12:08 -0400 |
| commit | 44e959157bf8247549e1d35e9332a66fc6a0cb9d (patch) | |
| tree | a03646cd5230bb425223fa5758777a3130a62e30 /src/video_core/dma_pusher.h | |
| parent | 2ea7a70da0d08b9a252e1a9ecbd5b214552751bc (diff) | |
dma_pusher: Remove reliance on the global system instance
With this, the video core is now has no calls to the global system
instance at all.
Diffstat (limited to 'src/video_core/dma_pusher.h')
| -rw-r--r-- | src/video_core/dma_pusher.h | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/video_core/dma_pusher.h b/src/video_core/dma_pusher.h index 6ab06518f..d6188614a 100644 --- a/src/video_core/dma_pusher.h +++ b/src/video_core/dma_pusher.h @@ -10,6 +10,10 @@ #include "common/bit_field.h" #include "common/common_types.h" +namespace Core { +class System; +} + namespace Tegra { enum class SubmissionMode : u32 { @@ -56,7 +60,7 @@ using CommandList = std::vector<Tegra::CommandListHeader>; */ class DmaPusher { public: - explicit DmaPusher(GPU& gpu); + explicit DmaPusher(Core::System& system, GPU& gpu); ~DmaPusher(); void Push(CommandList&& entries) { @@ -72,8 +76,6 @@ private: void CallMethod(u32 argument) const; - GPU& gpu; - std::vector<CommandHeader> command_headers; ///< Buffer for list of commands fetched at once std::queue<CommandList> dma_pushbuffer; ///< Queue of command lists to be processed @@ -92,6 +94,9 @@ private: GPUVAddr dma_mget{}; ///< main pushbuffer last read address bool ib_enable{true}; ///< IB mode enabled + + GPU& gpu; + Core::System& system; }; } // namespace Tegra |
