gl_texture_cache: fix scaling on upload

This commit is contained in:
ameerj 2021-09-09 19:31:20 -04:00 committed by Fernando Sahmkow
parent a6b88e85bf
commit 29710f3250
1 changed files with 7 additions and 0 deletions

View File

@ -693,6 +693,10 @@ Image::~Image() = default;
void Image::UploadMemory(const ImageBufferMap& map, void Image::UploadMemory(const ImageBufferMap& map,
std::span<const VideoCommon::BufferImageCopy> copies) { std::span<const VideoCommon::BufferImageCopy> copies) {
const bool is_rescaled = True(flags & ImageFlagBits::Rescaled);
if (is_rescaled) {
ScaleDown();
}
glBindBuffer(GL_PIXEL_UNPACK_BUFFER, map.buffer); glBindBuffer(GL_PIXEL_UNPACK_BUFFER, map.buffer);
glFlushMappedBufferRange(GL_PIXEL_UNPACK_BUFFER, map.offset, unswizzled_size_bytes); glFlushMappedBufferRange(GL_PIXEL_UNPACK_BUFFER, map.offset, unswizzled_size_bytes);
@ -712,6 +716,9 @@ void Image::UploadMemory(const ImageBufferMap& map,
} }
CopyBufferToImage(copy, map.offset); CopyBufferToImage(copy, map.offset);
} }
if (is_rescaled) {
ScaleUp();
}
} }
void Image::DownloadMemory(ImageBufferMap& map, void Image::DownloadMemory(ImageBufferMap& map,