diff options
| author | Lioncash <mathew1800@gmail.com> | 2018-08-28 10:57:56 -0400 |
|---|---|---|
| committer | Lioncash <mathew1800@gmail.com> | 2018-08-28 11:11:50 -0400 |
| commit | 45fb74d2623182b38af422bc6c8a51040860143f (patch) | |
| tree | ad65e21b3984d876241fc478d7624abfceb55e86 /src/video_core/gpu.h | |
| parent | ffe2336136dc683b8d97a355c2446aad2aaa5905 (diff) | |
gpu: Make memory_manager private
Makes the class interface consistent and provides accessors for
obtaining a reference to the memory manager instance.
Given we also return references, this makes our more flimsy uses of
const apparent, given const doesn't propagate through pointers in the
way one would typically expect. This makes our mutable state more
apparent in some places.
Diffstat (limited to 'src/video_core/gpu.h')
| -rw-r--r-- | src/video_core/gpu.h | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/src/video_core/gpu.h b/src/video_core/gpu.h index 2697e1c27..2c3dbd97b 100644 --- a/src/video_core/gpu.h +++ b/src/video_core/gpu.h @@ -117,18 +117,24 @@ public: /// Processes a command list stored at the specified address in GPU memory. void ProcessCommandList(GPUVAddr address, u32 size); + /// Returns a reference to the Maxwell3D GPU engine. + Engines::Maxwell3D& Maxwell3D(); + /// Returns a const reference to the Maxwell3D GPU engine. const Engines::Maxwell3D& Maxwell3D() const; - /// Returns a reference to the Maxwell3D GPU engine. - Engines::Maxwell3D& Maxwell3D(); + /// Returns a reference to the GPU memory manager. + Tegra::MemoryManager& MemoryManager(); - std::unique_ptr<MemoryManager> memory_manager; + /// Returns a const reference to the GPU memory manager. + const Tegra::MemoryManager& MemoryManager() const; private: /// Writes a single register in the engine bound to the specified subchannel void WriteReg(u32 method, u32 subchannel, u32 value, u32 remaining_params); + std::unique_ptr<Tegra::MemoryManager> memory_manager; + /// Mapping of command subchannels to their bound engine ids. std::unordered_map<u32, EngineID> bound_engines; |
