[Mesa-dev] [RFC PATCH 00/11] Add support for ARB_compressed_texture_pixel_storage

Chris Forbes chrisf at ijw.co.nz
Sun Jun 1 23:29:31 PDT 2014

This series adds support for ARB_compressed_texture_pixel_storage from GL4.2. This
provides a convenient way to update a subrectangle of a compressed texture from client memory or a pixel buffer object, without having to rearrange the client copy.

(Well, as convenient as GL pixel store state ever is to work with...)

All the work is in the core mesa fallbacks (which are called eventually, even in
the cases where a custom driver func is present for these cases), so this is enabled
on all drivers.

Patch 1 does some preliminary cleanup of PixelStorei. Once upon a time, this function
had flushes etc in it, and so tried to avoid spurious updates. The flushes were
removed, but the update-avoidance machinery (two copies of it in some cases) was all left in place. Just rip it out, merge some error paths, etc.

Patch 2 tidies up some inconsistent error reporting in CompressedTex*Image.

Patches 3-6 add extension plumbing and new pack/unpack state.

Patches 7-10 make the new state actually work.

Error generation for imageSize isn't quite right, when the user-provided block dimensions disagree with the actual format's block dimensions, but this is complete enough to be useful, so I figured I'd send it out with an RFC tag.

No regressions in quick.py on Ivybridge.

More information about the mesa-dev mailing list