diff options
author | GPUCode <geoster3d@gmail.com> | 2023-09-20 18:57:47 +0200 |
---|---|---|
committer | Liam <byteslice@airmail.cc> | 2023-09-25 15:20:32 +0200 |
commit | 5e4938ab1a8dbc121b522a292d230a274a03cfed (patch) | |
tree | f6cac92fcf3f261dad3dd77285d6de6aef75df8e /src/video_core/renderer_vulkan/vk_compute_pass.h | |
parent | Merge pull request #11225 from FernandoS27/no-laxatives-in-santas-cookies (diff) | |
download | yuzu-5e4938ab1a8dbc121b522a292d230a274a03cfed.tar yuzu-5e4938ab1a8dbc121b522a292d230a274a03cfed.tar.gz yuzu-5e4938ab1a8dbc121b522a292d230a274a03cfed.tar.bz2 yuzu-5e4938ab1a8dbc121b522a292d230a274a03cfed.tar.lz yuzu-5e4938ab1a8dbc121b522a292d230a274a03cfed.tar.xz yuzu-5e4938ab1a8dbc121b522a292d230a274a03cfed.tar.zst yuzu-5e4938ab1a8dbc121b522a292d230a274a03cfed.zip |
Diffstat (limited to 'src/video_core/renderer_vulkan/vk_compute_pass.h')
-rw-r--r-- | src/video_core/renderer_vulkan/vk_compute_pass.h | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/src/video_core/renderer_vulkan/vk_compute_pass.h b/src/video_core/renderer_vulkan/vk_compute_pass.h index 3ff935639..7b8f938c1 100644 --- a/src/video_core/renderer_vulkan/vk_compute_pass.h +++ b/src/video_core/renderer_vulkan/vk_compute_pass.h @@ -11,6 +11,7 @@ #include "video_core/engines/maxwell_3d.h" #include "video_core/renderer_vulkan/vk_descriptor_pool.h" #include "video_core/renderer_vulkan/vk_update_descriptor.h" +#include "video_core/texture_cache/types.h" #include "video_core/vulkan_common/vulkan_memory_allocator.h" #include "video_core/vulkan_common/vulkan_wrapper.h" @@ -130,4 +131,22 @@ private: MemoryAllocator& memory_allocator; }; +class MSAACopyPass final : public ComputePass { +public: + explicit MSAACopyPass(const Device& device_, Scheduler& scheduler_, + DescriptorPool& descriptor_pool_, StagingBufferPool& staging_buffer_pool_, + ComputePassDescriptorQueue& compute_pass_descriptor_queue_); + ~MSAACopyPass(); + + void CopyImage(Image& dst_image, Image& src_image, + std::span<const VideoCommon::ImageCopy> copies, bool msaa_to_non_msaa); + +private: + Scheduler& scheduler; + StagingBufferPool& staging_buffer_pool; + ComputePassDescriptorQueue& compute_pass_descriptor_queue; + std::array<vk::ShaderModule, 2> modules; + std::array<vk::Pipeline, 2> pipelines; +}; + } // namespace Vulkan |