mirror of
				https://git.zaroz.cloud/nintendo-back-up/yuzu/yuzu-mainline.git
				synced 2025-03-21 01:53:15 +00:00 
			
		
		
		
	GPU: Move the GPU's class constructor and destructors to a cpp file.
This should reduce recompile times when editing the Maxwell3D register structure.
This commit is contained in:
		
							parent
							
								
									46f9d4b4a3
								
							
						
					
					
						commit
						a64b936cbe
					
				@ -7,6 +7,7 @@ add_library(video_core STATIC
 | 
			
		||||
    engines/maxwell_3d.h
 | 
			
		||||
    engines/maxwell_compute.cpp
 | 
			
		||||
    engines/maxwell_compute.h
 | 
			
		||||
    gpu.cpp
 | 
			
		||||
    gpu.h
 | 
			
		||||
    memory_manager.cpp
 | 
			
		||||
    memory_manager.h
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										21
									
								
								src/video_core/gpu.cpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								src/video_core/gpu.cpp
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,21 @@
 | 
			
		||||
// Copyright 2018 yuzu Emulator Project
 | 
			
		||||
// Licensed under GPLv2 or any later version
 | 
			
		||||
// Refer to the license.txt file included.
 | 
			
		||||
 | 
			
		||||
#include "video_core/engines/fermi_2d.h"
 | 
			
		||||
#include "video_core/engines/maxwell_3d.h"
 | 
			
		||||
#include "video_core/engines/maxwell_compute.h"
 | 
			
		||||
#include "video_core/gpu.h"
 | 
			
		||||
 | 
			
		||||
namespace Tegra {
 | 
			
		||||
 | 
			
		||||
GPU::GPU() {
 | 
			
		||||
    memory_manager = std::make_unique<MemoryManager>();
 | 
			
		||||
    maxwell_3d = std::make_unique<Engines::Maxwell3D>(*memory_manager);
 | 
			
		||||
    fermi_2d = std::make_unique<Engines::Fermi2D>();
 | 
			
		||||
    maxwell_compute = std::make_unique<Engines::MaxwellCompute>();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
GPU::~GPU() = default;
 | 
			
		||||
 | 
			
		||||
} // namespace Tegra
 | 
			
		||||
@ -8,13 +8,16 @@
 | 
			
		||||
#include <unordered_map>
 | 
			
		||||
#include <vector>
 | 
			
		||||
#include "common/common_types.h"
 | 
			
		||||
#include "video_core/engines/fermi_2d.h"
 | 
			
		||||
#include "video_core/engines/maxwell_3d.h"
 | 
			
		||||
#include "video_core/engines/maxwell_compute.h"
 | 
			
		||||
#include "video_core/memory_manager.h"
 | 
			
		||||
 | 
			
		||||
namespace Tegra {
 | 
			
		||||
 | 
			
		||||
namespace Engines {
 | 
			
		||||
class Fermi2D;
 | 
			
		||||
class Maxwell3D;
 | 
			
		||||
class MaxwellCompute;
 | 
			
		||||
} // namespace Engines
 | 
			
		||||
 | 
			
		||||
enum class EngineID {
 | 
			
		||||
    FERMI_TWOD_A = 0x902D, // 2D Engine
 | 
			
		||||
    MAXWELL_B = 0xB197,    // 3D Engine
 | 
			
		||||
@ -25,13 +28,8 @@ enum class EngineID {
 | 
			
		||||
 | 
			
		||||
class GPU final {
 | 
			
		||||
public:
 | 
			
		||||
    GPU() {
 | 
			
		||||
        memory_manager = std::make_unique<MemoryManager>();
 | 
			
		||||
        maxwell_3d = std::make_unique<Engines::Maxwell3D>(*memory_manager);
 | 
			
		||||
        fermi_2d = std::make_unique<Engines::Fermi2D>();
 | 
			
		||||
        maxwell_compute = std::make_unique<Engines::MaxwellCompute>();
 | 
			
		||||
    }
 | 
			
		||||
    ~GPU() = default;
 | 
			
		||||
    GPU();
 | 
			
		||||
    ~GPU();
 | 
			
		||||
 | 
			
		||||
    /// Processes a command list stored at the specified address in GPU memory.
 | 
			
		||||
    void ProcessCommandList(GPUVAddr address, u32 size);
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user