diff options
Diffstat (limited to 'src/video_core/gpu.cpp')
| -rw-r--r-- | src/video_core/gpu.cpp | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/video_core/gpu.cpp b/src/video_core/gpu.cpp index 4bb9256e9..171f78183 100644 --- a/src/video_core/gpu.cpp +++ b/src/video_core/gpu.cpp | |||
| @@ -27,9 +27,10 @@ namespace Tegra { | |||
| 27 | 27 | ||
| 28 | MICROPROFILE_DEFINE(GPU_wait, "GPU", "Wait for the GPU", MP_RGB(128, 128, 192)); | 28 | MICROPROFILE_DEFINE(GPU_wait, "GPU", "Wait for the GPU", MP_RGB(128, 128, 192)); |
| 29 | 29 | ||
| 30 | GPU::GPU(Core::System& system_, bool is_async_) | 30 | GPU::GPU(Core::System& system_, bool is_async_, bool use_nvdec_) |
| 31 | : system{system_}, memory_manager{std::make_unique<Tegra::MemoryManager>(system)}, | 31 | : system{system_}, memory_manager{std::make_unique<Tegra::MemoryManager>(system)}, |
| 32 | dma_pusher{std::make_unique<Tegra::DmaPusher>(system, *this)}, | 32 | dma_pusher{std::make_unique<Tegra::DmaPusher>(system, *this)}, |
| 33 | cdma_pusher{std::make_unique<Tegra::CDmaPusher>(*this)}, use_nvdec{use_nvdec_}, | ||
| 33 | maxwell_3d{std::make_unique<Engines::Maxwell3D>(system, *memory_manager)}, | 34 | maxwell_3d{std::make_unique<Engines::Maxwell3D>(system, *memory_manager)}, |
| 34 | fermi_2d{std::make_unique<Engines::Fermi2D>()}, | 35 | fermi_2d{std::make_unique<Engines::Fermi2D>()}, |
| 35 | kepler_compute{std::make_unique<Engines::KeplerCompute>(system, *memory_manager)}, | 36 | kepler_compute{std::make_unique<Engines::KeplerCompute>(system, *memory_manager)}, |
| @@ -77,10 +78,18 @@ DmaPusher& GPU::DmaPusher() { | |||
| 77 | return *dma_pusher; | 78 | return *dma_pusher; |
| 78 | } | 79 | } |
| 79 | 80 | ||
| 81 | Tegra::CDmaPusher& GPU::CDmaPusher() { | ||
| 82 | return *cdma_pusher; | ||
| 83 | } | ||
| 84 | |||
| 80 | const DmaPusher& GPU::DmaPusher() const { | 85 | const DmaPusher& GPU::DmaPusher() const { |
| 81 | return *dma_pusher; | 86 | return *dma_pusher; |
| 82 | } | 87 | } |
| 83 | 88 | ||
| 89 | const Tegra::CDmaPusher& GPU::CDmaPusher() const { | ||
| 90 | return *cdma_pusher; | ||
| 91 | } | ||
| 92 | |||
| 84 | void GPU::WaitFence(u32 syncpoint_id, u32 value) { | 93 | void GPU::WaitFence(u32 syncpoint_id, u32 value) { |
| 85 | // Synced GPU, is always in sync | 94 | // Synced GPU, is always in sync |
| 86 | if (!is_async) { | 95 | if (!is_async) { |