diff options
author | bunnei <bunneidev@gmail.com> | 2021-11-21 01:51:13 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-11-21 01:51:13 +0100 |
commit | ea6fa044f3e55de3b542c6c1b7ca581cbf76d77e (patch) | |
tree | 3eb75c6d43296f2a4cbb41099b4f4e787918b1a1 /src/video_core/renderer_opengl/gl_texture_cache.cpp | |
parent | Merge pull request #7294 from vonchenplus/fix_image_update_error_when_width_too_small (diff) | |
parent | TextureCache: Refactor and fix linux compiling. (diff) | |
download | yuzu-ea6fa044f3e55de3b542c6c1b7ca581cbf76d77e.tar yuzu-ea6fa044f3e55de3b542c6c1b7ca581cbf76d77e.tar.gz yuzu-ea6fa044f3e55de3b542c6c1b7ca581cbf76d77e.tar.bz2 yuzu-ea6fa044f3e55de3b542c6c1b7ca581cbf76d77e.tar.lz yuzu-ea6fa044f3e55de3b542c6c1b7ca581cbf76d77e.tar.xz yuzu-ea6fa044f3e55de3b542c6c1b7ca581cbf76d77e.tar.zst yuzu-ea6fa044f3e55de3b542c6c1b7ca581cbf76d77e.zip |
Diffstat (limited to '')
-rw-r--r-- | src/video_core/renderer_opengl/gl_texture_cache.cpp | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/src/video_core/renderer_opengl/gl_texture_cache.cpp b/src/video_core/renderer_opengl/gl_texture_cache.cpp index 3dbdcc2c4..14e6522f2 100644 --- a/src/video_core/renderer_opengl/gl_texture_cache.cpp +++ b/src/video_core/renderer_opengl/gl_texture_cache.cpp @@ -9,6 +9,7 @@ #include <glad/glad.h> +#include "common/bit_util.h" #include "common/literals.h" #include "common/settings.h" #include "video_core/renderer_opengl/gl_device.h" @@ -398,9 +399,6 @@ OGLTexture MakeImage(const VideoCommon::ImageInfo& info, GLenum gl_internal_form return GL_R32UI; } -[[nodiscard]] u32 NextPow2(u32 value) { - return 1U << (32U - std::countl_zero(value - 1U)); -} } // Anonymous namespace ImageBufferMap::~ImageBufferMap() { @@ -527,8 +525,8 @@ void TextureCacheRuntime::CopyImage(Image& dst_image, Image& src_image, } } -void TextureCacheRuntime::ConvertImage(Image& dst, Image& src, - std::span<const VideoCommon::ImageCopy> copies) { +void TextureCacheRuntime::ReinterpretImage(Image& dst, Image& src, + std::span<const VideoCommon::ImageCopy> copies) { LOG_DEBUG(Render_OpenGL, "Converting {} to {}", src.info.format, dst.info.format); format_conversion_pass.ConvertImage(dst, src, copies); } @@ -1333,7 +1331,7 @@ void FormatConversionPass::ConvertImage(Image& dst_image, Image& src_image, const u32 copy_size = region.width * region.height * region.depth * img_bpp; if (pbo_size < copy_size) { intermediate_pbo.Create(); - pbo_size = NextPow2(copy_size); + pbo_size = Common::NextPow2(copy_size); glNamedBufferData(intermediate_pbo.handle, pbo_size, nullptr, GL_STREAM_COPY); } // Copy from source to PBO |