|
|
@ -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, |
|
|
|