summaryrefslogtreecommitdiffstats
path: root/src/video_core/engines/maxwell_3d.h
diff options
context:
space:
mode:
authorReinUsesLisp <reinuseslisp@airmail.cc>2020-06-11 05:58:57 +0200
committerReinUsesLisp <reinuseslisp@airmail.cc>2020-08-22 06:51:45 +0200
commitda53bcee60fced902479b72b40ed26b099fa9938 (patch)
treeb83232ad60b7725090b31bd3e347c9df774ced40 /src/video_core/engines/maxwell_3d.h
parentMerge pull request #4536 from lioncash/semi3 (diff)
downloadyuzu-da53bcee60fced902479b72b40ed26b099fa9938.tar
yuzu-da53bcee60fced902479b72b40ed26b099fa9938.tar.gz
yuzu-da53bcee60fced902479b72b40ed26b099fa9938.tar.bz2
yuzu-da53bcee60fced902479b72b40ed26b099fa9938.tar.lz
yuzu-da53bcee60fced902479b72b40ed26b099fa9938.tar.xz
yuzu-da53bcee60fced902479b72b40ed26b099fa9938.tar.zst
yuzu-da53bcee60fced902479b72b40ed26b099fa9938.zip
Diffstat (limited to 'src/video_core/engines/maxwell_3d.h')
-rw-r--r--src/video_core/engines/maxwell_3d.h21
1 files changed, 11 insertions, 10 deletions
diff --git a/src/video_core/engines/maxwell_3d.h b/src/video_core/engines/maxwell_3d.h
index c97eeb792..bc289c55d 100644
--- a/src/video_core/engines/maxwell_3d.h
+++ b/src/video_core/engines/maxwell_3d.h
@@ -51,9 +51,11 @@ namespace Tegra::Engines {
class Maxwell3D final : public ConstBufferEngineInterface, public EngineInterface {
public:
- explicit Maxwell3D(Core::System& system, VideoCore::RasterizerInterface& rasterizer,
- MemoryManager& memory_manager);
- ~Maxwell3D() = default;
+ explicit Maxwell3D(Core::System& system, MemoryManager& memory_manager);
+ ~Maxwell3D();
+
+ /// Binds a rasterizer to this engine.
+ void BindRasterizer(VideoCore::RasterizerInterface& rasterizer);
/// Register structure of the Maxwell3D engine.
/// TODO(Subv): This structure will need to be made bigger as more registers are discovered.
@@ -1418,12 +1420,12 @@ public:
return execute_on;
}
- VideoCore::RasterizerInterface& GetRasterizer() {
- return rasterizer;
+ VideoCore::RasterizerInterface& Rasterizer() {
+ return *rasterizer;
}
- const VideoCore::RasterizerInterface& GetRasterizer() const {
- return rasterizer;
+ const VideoCore::RasterizerInterface& Rasterizer() const {
+ return *rasterizer;
}
/// Notify a memory write has happened.
@@ -1460,11 +1462,10 @@ private:
void InitializeRegisterDefaults();
Core::System& system;
-
- VideoCore::RasterizerInterface& rasterizer;
-
MemoryManager& memory_manager;
+ VideoCore::RasterizerInterface* rasterizer = nullptr;
+
/// Start offsets of each macro in macro_memory
std::array<u32, 0x80> macro_positions = {};