summaryrefslogtreecommitdiff
path: root/src/video_core/renderer_vulkan
diff options
context:
space:
mode:
authorGravatar Fernando Sahmkow2021-11-20 14:46:19 +0100
committerGravatar Fernando Sahmkow2021-11-20 14:46:19 +0100
commitda2fe8190518d3266df7f4a48f9b651eaea84d4b (patch)
treed584caaa250a596a3cbd3cd9d7e3767c13f46663 /src/video_core/renderer_vulkan
parentTextureCache: Assure full conversions on depth/stencil write shaders. (diff)
downloadyuzu-da2fe8190518d3266df7f4a48f9b651eaea84d4b.tar.gz
yuzu-da2fe8190518d3266df7f4a48f9b651eaea84d4b.tar.xz
yuzu-da2fe8190518d3266df7f4a48f9b651eaea84d4b.zip
TextureCache: Refactor and fix linux compiling.
Diffstat (limited to 'src/video_core/renderer_vulkan')
-rw-r--r--src/video_core/renderer_vulkan/vk_texture_cache.cpp7
1 files changed, 2 insertions, 5 deletions
diff --git a/src/video_core/renderer_vulkan/vk_texture_cache.cpp b/src/video_core/renderer_vulkan/vk_texture_cache.cpp
index 02215cfc2..f194110e5 100644
--- a/src/video_core/renderer_vulkan/vk_texture_cache.cpp
+++ b/src/video_core/renderer_vulkan/vk_texture_cache.cpp
@@ -8,6 +8,7 @@
8#include <vector> 8#include <vector>
9 9
10#include "common/bit_cast.h" 10#include "common/bit_cast.h"
11#include "common/bit_util.h"
11#include "common/settings.h" 12#include "common/settings.h"
12 13
13#include "video_core/engines/fermi_2d.h" 14#include "video_core/engines/fermi_2d.h"
@@ -775,16 +776,12 @@ bool TextureCacheRuntime::ShouldReinterpret(Image& dst, Image& src) {
775 return false; 776 return false;
776} 777}
777 778
778[[nodiscard]] size_t NextPow2(size_t value) {
779 return static_cast<size_t>(1ULL << ((8U * sizeof(size_t)) - std::countl_zero(value - 1U)));
780}
781
782VkBuffer TextureCacheRuntime::GetTemporaryBuffer(size_t needed_size) { 779VkBuffer TextureCacheRuntime::GetTemporaryBuffer(size_t needed_size) {
783 const auto level = (8 * sizeof(size_t)) - std::countl_zero(needed_size - 1ULL); 780 const auto level = (8 * sizeof(size_t)) - std::countl_zero(needed_size - 1ULL);
784 if (buffer_commits[level]) { 781 if (buffer_commits[level]) {
785 return *buffers[level]; 782 return *buffers[level];
786 } 783 }
787 const auto new_size = NextPow2(needed_size); 784 const auto new_size = Common::NextPow2(needed_size);
788 VkBufferUsageFlags flags = VK_BUFFER_USAGE_TRANSFER_SRC_BIT | VK_BUFFER_USAGE_TRANSFER_DST_BIT | 785 VkBufferUsageFlags flags = VK_BUFFER_USAGE_TRANSFER_SRC_BIT | VK_BUFFER_USAGE_TRANSFER_DST_BIT |
789 VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT | 786 VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT |
790 VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT; 787 VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT;