aboutsummaryrefslogtreecommitdiff
path: root/src/video_core/renderer_vulkan/vk_rasterizer.h
diff options
context:
space:
mode:
authorFernando Sahmkow <fsahmkow27@gmail.com>2022-03-27 05:05:57 +0200
committerFernando Sahmkow <fsahmkow27@gmail.com>2023-03-05 12:18:00 +0100
commit8a3411b417f76db786b1d3cfffbd90926abb20ca (patch)
tree383070bd0d4a33189f38423ceea9a5692d38ba09 /src/video_core/renderer_vulkan/vk_rasterizer.h
parentce8f4da63834be0179d98a7720dee47d65f3ec06 (diff)
Engines: Implement Accelerate DMA Texture.
Diffstat (limited to 'src/video_core/renderer_vulkan/vk_rasterizer.h')
-rw-r--r--src/video_core/renderer_vulkan/vk_rasterizer.h11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/video_core/renderer_vulkan/vk_rasterizer.h b/src/video_core/renderer_vulkan/vk_rasterizer.h
index a0508b57c..7746c5434 100644
--- a/src/video_core/renderer_vulkan/vk_rasterizer.h
+++ b/src/video_core/renderer_vulkan/vk_rasterizer.h
@@ -45,14 +45,23 @@ class StateTracker;
class AccelerateDMA : public Tegra::Engines::AccelerateDMAInterface {
public:
- explicit AccelerateDMA(BufferCache& buffer_cache);
+ explicit AccelerateDMA(BufferCache& buffer_cache, TextureCache& texture_cache,
+ Scheduler& scheduler);
bool BufferCopy(GPUVAddr start_address, GPUVAddr end_address, u64 amount) override;
bool BufferClear(GPUVAddr src_address, u64 amount, u32 value) override;
+ bool ImageToBuffer(const Tegra::DMA::ImageCopy& copy_info, const Tegra::DMA::ImageOperand& src,
+ const Tegra::DMA::BufferOperand& dst) override;
+
+ bool BufferToImage(const Tegra::DMA::ImageCopy& copy_info, const Tegra::DMA::BufferOperand& src,
+ const Tegra::DMA::ImageOperand& dst) override;
+
private:
BufferCache& buffer_cache;
+ TextureCache& texture_cache;
+ Scheduler& scheduler;
};
class RasterizerVulkan final : public VideoCore::RasterizerAccelerated,