diff options
| author | Stenzek <stenzek@gmail.com> | 2016-10-22 21:19:09 +1000 |
|---|---|---|
| committer | Stenzek <stenzek@gmail.com> | 2016-11-03 22:01:55 +1000 |
| commit | 3593fa27abc9bce5ca6db9e6a22be8174fd4a60d (patch) | |
| tree | e0b14e300f3f0cadad4a2e1f6d4fe8ab294f59f9 /Source/Core/VideoBackends/Vulkan/TextureCache.h | |
| parent | 01b3c0f0362166ebf37983be1f5fc389550f6f05 (diff) | |
Vulkan: Move CopyRectangleFromTexture to TextureCache
Diffstat (limited to 'Source/Core/VideoBackends/Vulkan/TextureCache.h')
| -rw-r--r-- | Source/Core/VideoBackends/Vulkan/TextureCache.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/Source/Core/VideoBackends/Vulkan/TextureCache.h b/Source/Core/VideoBackends/Vulkan/TextureCache.h index 0b8bfa5ef3..34654e5bc3 100644 --- a/Source/Core/VideoBackends/Vulkan/TextureCache.h +++ b/Source/Core/VideoBackends/Vulkan/TextureCache.h @@ -63,10 +63,21 @@ public: u32 memory_stride, PEControl::PixelFormat src_format, const EFBRectangle& src_rect, bool is_intensity, bool scale_by_half) override; + void CopyRectangleFromTexture(TCacheEntry* dst_texture, const MathUtil::Rectangle<int>& dst_rect, + Texture2D* src_texture, const MathUtil::Rectangle<int>& src_rect); + private: bool CreateRenderPasses(); VkRenderPass GetRenderPassForTextureUpdate(const Texture2D* texture) const; + // Copies the contents of a texture using vkCmdCopyImage + void CopyTextureRectangle(TCacheEntry* dst_texture, const MathUtil::Rectangle<int>& dst_rect, + Texture2D* src_texture, const MathUtil::Rectangle<int>& src_rect); + + // Copies (and optionally scales) the contents of a texture using a framgent shader. + void ScaleTextureRectangle(TCacheEntry* dst_texture, const MathUtil::Rectangle<int>& dst_rect, + Texture2D* src_texture, const MathUtil::Rectangle<int>& src_rect); + VkRenderPass m_initialize_render_pass = VK_NULL_HANDLE; VkRenderPass m_update_render_pass = VK_NULL_HANDLE; |
