|
|
@@ -693,6 +693,10 @@ Image::~Image() = default;
|
|
|
|
|
|
void Image::UploadMemory(const ImageBufferMap& map,
|
|
|
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);
|
|
|
glFlushMappedBufferRange(GL_PIXEL_UNPACK_BUFFER, map.offset, unswizzled_size_bytes);
|
|
|
|
|
|
@@ -712,6 +716,9 @@ void Image::UploadMemory(const ImageBufferMap& map,
|
|
|
}
|
|
|
CopyBufferToImage(copy, map.offset);
|
|
|
}
|
|
|
+ if (is_rescaled) {
|
|
|
+ ScaleUp();
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
void Image::DownloadMemory(ImageBufferMap& map,
|