diff options
| author | Ameer J <52414509+ameerj@users.noreply.github.com> | 2021-07-12 12:49:11 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-07-12 12:49:11 -0400 |
| commit | 776f391ff6cb37e63241d3513a140662c5a69f08 (patch) | |
| tree | 9cf19af1b1826261a27a75a744c6415271dadd2d /src/video_core/renderer_vulkan/vk_rasterizer.h | |
| parent | 7059bb2bf8b03837822aa915fb5ec78cfb201a30 (diff) | |
| parent | bc19d289637ca4d1bd6c14e56953ce74ffba08c5 (diff) | |
Merge pull request #6597 from FernandoS27/accelerate-dma
DMAEngine: Introduce Accelerate DMA.
Diffstat (limited to 'src/video_core/renderer_vulkan/vk_rasterizer.h')
| -rw-r--r-- | src/video_core/renderer_vulkan/vk_rasterizer.h | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/video_core/renderer_vulkan/vk_rasterizer.h b/src/video_core/renderer_vulkan/vk_rasterizer.h index 5450ccfb5..3a78de258 100644 --- a/src/video_core/renderer_vulkan/vk_rasterizer.h +++ b/src/video_core/renderer_vulkan/vk_rasterizer.h @@ -13,6 +13,7 @@ #include <boost/container/static_vector.hpp> #include "common/common_types.h" +#include "video_core/engines/maxwell_dma.h" #include "video_core/rasterizer_accelerated.h" #include "video_core/rasterizer_interface.h" #include "video_core/renderer_vulkan/blit_image.h" @@ -49,6 +50,16 @@ struct VKScreenInfo; class StateTracker; +class AccelerateDMA : public Tegra::Engines::AccelerateDMAInterface { +public: + explicit AccelerateDMA(BufferCache& buffer_cache); + + bool BufferCopy(GPUVAddr start_address, GPUVAddr end_address, u64 amount) override; + +private: + BufferCache& buffer_cache; +}; + class RasterizerVulkan final : public VideoCore::RasterizerAccelerated { public: explicit RasterizerVulkan(Core::Frontend::EmuWindow& emu_window_, Tegra::GPU& gpu_, @@ -86,6 +97,7 @@ public: bool AccelerateSurfaceCopy(const Tegra::Engines::Fermi2D::Surface& src, const Tegra::Engines::Fermi2D::Surface& dst, const Tegra::Engines::Fermi2D::Config& copy_config) override; + Tegra::Engines::AccelerateDMAInterface& AccessAccelerateDMA() override; bool AccelerateDisplay(const Tegra::FramebufferConfig& config, VAddr framebuffer_addr, u32 pixel_stride) override; @@ -186,6 +198,7 @@ private: BufferCache buffer_cache; VKPipelineCache pipeline_cache; VKQueryCache query_cache; + AccelerateDMA accelerate_dma; VKFenceManager fence_manager; vk::Event wfi_event; |
