The additional provision of GL_OES_copy_image is that it work for ETC. However many desktop GPUs don't have native ETC support, so st/mesa does the decoding by hand. Instead of discarding the compressed data, keep it around in CPU memory. Use it when performing image copies.
d816a51 st/mesa: provide GL_OES_copy_image support by caching the original ETC data
docs/GL3.txt | 2 +-
docs/relnotes/12.1.0.html | 1 +
src/mesa/state_tracker/st_cb_copyimage.c | 96 +++++++++++++++++++++++++++++-
src/mesa/state_tracker/st_cb_texture.c | 77 ++++++++++++++++--------
src/mesa/state_tracker/st_extensions.c | 12 +---
src/mesa/state_tracker/st_texture.h | 7 ++-
6 files changed, 156 insertions(+), 39 deletions(-)
Upstream: cgit.freedesktop.org