diff options
author | Mai M <mathew1800@gmail.com> | 2021-06-23 14:03:01 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-06-23 14:03:01 +0200 |
commit | 17fff10e06e7935522a5a69705b9a750761aab79 (patch) | |
tree | 7e7b3ae9fedbc0fed85f6c5c58e92e8d047efd87 /src/video_core/renderer_vulkan | |
parent | Merge pull request #6508 from ReinUsesLisp/bootmanager-stop-token (diff) | |
parent | Reaper: Set minimum cleaning limit on OGL. (diff) | |
download | yuzu-17fff10e06e7935522a5a69705b9a750761aab79.tar yuzu-17fff10e06e7935522a5a69705b9a750761aab79.tar.gz yuzu-17fff10e06e7935522a5a69705b9a750761aab79.tar.bz2 yuzu-17fff10e06e7935522a5a69705b9a750761aab79.tar.lz yuzu-17fff10e06e7935522a5a69705b9a750761aab79.tar.xz yuzu-17fff10e06e7935522a5a69705b9a750761aab79.tar.zst yuzu-17fff10e06e7935522a5a69705b9a750761aab79.zip |
Diffstat (limited to 'src/video_core/renderer_vulkan')
-rw-r--r-- | src/video_core/renderer_vulkan/vk_texture_cache.cpp | 6 | ||||
-rw-r--r-- | src/video_core/renderer_vulkan/vk_texture_cache.h | 11 |
2 files changed, 17 insertions, 0 deletions
diff --git a/src/video_core/renderer_vulkan/vk_texture_cache.cpp b/src/video_core/renderer_vulkan/vk_texture_cache.cpp index 52860b4cf..a2ab4d1ee 100644 --- a/src/video_core/renderer_vulkan/vk_texture_cache.cpp +++ b/src/video_core/renderer_vulkan/vk_texture_cache.cpp @@ -818,6 +818,10 @@ void TextureCacheRuntime::CopyImage(Image& dst, Image& src, }); } +u64 TextureCacheRuntime::GetDeviceLocalMemory() const { + return device.GetDeviceLocalMemory(); +} + Image::Image(TextureCacheRuntime& runtime, const ImageInfo& info_, GPUVAddr gpu_addr_, VAddr cpu_addr_) : VideoCommon::ImageBase(info_, gpu_addr_, cpu_addr_), scheduler{&runtime.scheduler}, @@ -876,6 +880,8 @@ Image::Image(TextureCacheRuntime& runtime, const ImageInfo& info_, GPUVAddr gpu_ } } +Image::~Image() = default; + void Image::UploadMemory(const StagingBufferRef& map, std::span<const BufferImageCopy> copies) { // TODO: Move this to another API scheduler->RequestOutsideRenderPassOperationContext(); diff --git a/src/video_core/renderer_vulkan/vk_texture_cache.h b/src/video_core/renderer_vulkan/vk_texture_cache.h index 4a57d378b..172bcdf98 100644 --- a/src/video_core/renderer_vulkan/vk_texture_cache.h +++ b/src/video_core/renderer_vulkan/vk_texture_cache.h @@ -97,6 +97,8 @@ struct TextureCacheRuntime { // All known Vulkan drivers can natively handle BGR textures return true; } + + u64 GetDeviceLocalMemory() const; }; class Image : public VideoCommon::ImageBase { @@ -104,6 +106,14 @@ public: explicit Image(TextureCacheRuntime&, const VideoCommon::ImageInfo& info, GPUVAddr gpu_addr, VAddr cpu_addr); + ~Image(); + + Image(const Image&) = delete; + Image& operator=(const Image&) = delete; + + Image(Image&&) = default; + Image& operator=(Image&&) = default; + void UploadMemory(const StagingBufferRef& map, std::span<const VideoCommon::BufferImageCopy> copies); @@ -257,6 +267,7 @@ struct TextureCacheParams { static constexpr bool ENABLE_VALIDATION = true; static constexpr bool FRAMEBUFFER_BLITS = false; static constexpr bool HAS_EMULATED_COPIES = false; + static constexpr bool HAS_DEVICE_MEMORY_INFO = true; using Runtime = Vulkan::TextureCacheRuntime; using Image = Vulkan::Image; |