summaryrefslogtreecommitdiff
path: root/src/video_core/gpu.h
diff options
context:
space:
mode:
authorGravatar Subv2018-03-18 15:15:05 -0500
committerGravatar Subv2018-03-18 15:23:24 -0500
commita64b936cbe6e779627f69ebde85a3055ccd6c2de (patch)
tree134b00ab118a890e7903688f1e13289ddba9344e /src/video_core/gpu.h
parentMerge pull request #246 from Subv/gpu_macro_calls (diff)
downloadyuzu-a64b936cbe6e779627f69ebde85a3055ccd6c2de.tar.gz
yuzu-a64b936cbe6e779627f69ebde85a3055ccd6c2de.tar.xz
yuzu-a64b936cbe6e779627f69ebde85a3055ccd6c2de.zip
GPU: Move the GPU's class constructor and destructors to a cpp file.
This should reduce recompile times when editing the Maxwell3D register structure.
Diffstat (limited to 'src/video_core/gpu.h')
-rw-r--r--src/video_core/gpu.h18
1 files changed, 8 insertions, 10 deletions
diff --git a/src/video_core/gpu.h b/src/video_core/gpu.h
index d2e4ff52d..2a9064ba3 100644
--- a/src/video_core/gpu.h
+++ b/src/video_core/gpu.h
@@ -8,13 +8,16 @@
8#include <unordered_map> 8#include <unordered_map>
9#include <vector> 9#include <vector>
10#include "common/common_types.h" 10#include "common/common_types.h"
11#include "video_core/engines/fermi_2d.h"
12#include "video_core/engines/maxwell_3d.h"
13#include "video_core/engines/maxwell_compute.h"
14#include "video_core/memory_manager.h" 11#include "video_core/memory_manager.h"
15 12
16namespace Tegra { 13namespace Tegra {
17 14
15namespace Engines {
16class Fermi2D;
17class Maxwell3D;
18class MaxwellCompute;
19} // namespace Engines
20
18enum class EngineID { 21enum class EngineID {
19 FERMI_TWOD_A = 0x902D, // 2D Engine 22 FERMI_TWOD_A = 0x902D, // 2D Engine
20 MAXWELL_B = 0xB197, // 3D Engine 23 MAXWELL_B = 0xB197, // 3D Engine
@@ -25,13 +28,8 @@ enum class EngineID {
25 28
26class GPU final { 29class GPU final {
27public: 30public:
28 GPU() { 31 GPU();
29 memory_manager = std::make_unique<MemoryManager>(); 32 ~GPU();
30 maxwell_3d = std::make_unique<Engines::Maxwell3D>(*memory_manager);
31 fermi_2d = std::make_unique<Engines::Fermi2D>();
32 maxwell_compute = std::make_unique<Engines::MaxwellCompute>();
33 }
34 ~GPU() = default;
35 33
36 /// Processes a command list stored at the specified address in GPU memory. 34 /// Processes a command list stored at the specified address in GPU memory.
37 void ProcessCommandList(GPUVAddr address, u32 size); 35 void ProcessCommandList(GPUVAddr address, u32 size);