summaryrefslogtreecommitdiffstats
path: root/src/video_core/renderer_vulkan/vk_rasterizer.h
diff options
context:
space:
mode:
authorAmeer J <52414509+ameerj@users.noreply.github.com>2021-07-12 18:49:11 +0200
committerGitHub <noreply@github.com>2021-07-12 18:49:11 +0200
commit776f391ff6cb37e63241d3513a140662c5a69f08 (patch)
tree9cf19af1b1826261a27a75a744c6415271dadd2d /src/video_core/renderer_vulkan/vk_rasterizer.h
parentMerge pull request #6577 from ReinUsesLisp/precommit (diff)
parentaccelerateDMA: Fixes and feedback. (diff)
downloadyuzu-776f391ff6cb37e63241d3513a140662c5a69f08.tar
yuzu-776f391ff6cb37e63241d3513a140662c5a69f08.tar.gz
yuzu-776f391ff6cb37e63241d3513a140662c5a69f08.tar.bz2
yuzu-776f391ff6cb37e63241d3513a140662c5a69f08.tar.lz
yuzu-776f391ff6cb37e63241d3513a140662c5a69f08.tar.xz
yuzu-776f391ff6cb37e63241d3513a140662c5a69f08.tar.zst
yuzu-776f391ff6cb37e63241d3513a140662c5a69f08.zip
Diffstat (limited to 'src/video_core/renderer_vulkan/vk_rasterizer.h')
-rw-r--r--src/video_core/renderer_vulkan/vk_rasterizer.h13
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;