This is the second of two series that aim to address: https://bugs.freedesktop.org/show_bug.cgi?id=84566
This series requires the previous series that implements auto-generation of the pack/unpack functions. A branch with both series is available here: https://github.com/Igalia/mesa/tree/itoral-format-convert-review-v4 Links to the previous versions of this series: v3: http://lists.freedesktop.org/archives/mesa-dev/2014-December/072297.html v2: http://lists.freedesktop.org/archives/mesa-dev/2014-December/071643.html v1: http://lists.freedesktop.org/archives/mesa-dev/2014-November/070916.html Patches that need review: 8, 11, 16 - Patches 8,11 are related to the luminance packing helpers for the implementation of glReadPixels. Specifically, v3 had comments regarding the need of clamping when packing integer luminance values. - Patch 16 was moved to a later position in the series and updated to fix some issues that where introduced in the previous version while rebasing the patch. Tested on i965, classic swrast and gallium (radeon, nouveau, llvmpipe) without regressions, except for the two regressions introduced with the last patch "mesa: restrict use of GL_ABGR_EXT format to allowed data types" that have been discussed in the list previously, where we agreed that the tests seem to be wrong according to the specs. Also, 14 new subtest passes. Eduardo Lima Mitev (1): mesa: Replace _mesa_unpack_bitmap with _mesa_unpack_image() Iago Toral Quiroga (23): mesa: Expose compute_component_mapping as _mesa_compute_component_mapping mesa: Add a rebase_swizzle parameter to _mesa_format_convert mesa: Add a helper _mesa_compute_rgba2base2rgba_component_mapping mesa: Add helper to convert a GL format and type to a mesa (array) format. mesa: Add _mesa_swap2_copy and _mesa_swap4_copy mesa: Add RGBA to Luminance conversion helpers mesa: Add helpers to extract GL_COLOR_INDEX to RGBA float/ubyte mesa: Use _mesa_format_convert to implement texstore_rgba. mesa: use _mesa_format_convert to implement glReadPixels. mesa: use _mesa_format_convert to implement get_tex_rgba_uncompressed. mesa: Use _mesa_format_convert to implement get_tex_rgba_compressed. swrast: Use _mesa_format_convert to implement draw_rgba_pixels. st/mesa: Use _mesa_format_convert to implement st_GetTexImage. mesa: Let _mesa_swizzle_and_convert take array format types instead of GL types mesa: Remove _mesa_unpack_color_span_uint mesa: Remove _mesa_make_temp_ubyte_image mesa: Remove _mesa_make_temp_float_image mesa: Remove _mesa_unpack_color_span_ubyte mesa: Remove (signed) integer pack and span functions. mesa: Remove _mesa_unpack_color_span_float mesa: Remove _mesa_pack_rgba_span_float and tmp_pack.h mesa: Remove _mesa_(un)pack_index_span mesa: Remove _mesa_rebase_rgba_uint and _mesa_rebase_rgba_float Jason Ekstrand (1): mesa: Add an implementation of a master convert function. Samuel Iglesias Gonsalvez (3): mesa/pack: use _mesa_format_from_format_and_type in _mesa_pack_rgba_span_from_* mesa: Remove _mesa_pack_int_rgba_row() and auxiliary functions mesa: restrict use of GL_ABGR_EXT format to allowed data types src/mesa/main/dlist.c | 14 +- src/mesa/main/format_pack.h | 4 - src/mesa/main/format_pack.py | 121 -- src/mesa/main/format_utils.c | 698 ++++++- src/mesa/main/format_utils.h | 21 +- src/mesa/main/formats.c | 28 - src/mesa/main/formats.csv | 4 - src/mesa/main/formats.h | 5 - src/mesa/main/glformats.c | 519 ++++- src/mesa/main/glformats.h | 5 + src/mesa/main/image.c | 25 +- src/mesa/main/image.h | 16 +- src/mesa/main/pack.c | 3598 +++----------------------------- src/mesa/main/pack.h | 86 +- src/mesa/main/pack_tmp.h | 196 -- src/mesa/main/readpix.c | 326 +-- src/mesa/main/texcompress_bptc.c | 39 +- src/mesa/main/texcompress_fxt1.c | 34 +- src/mesa/main/texcompress_rgtc.c | 90 +- src/mesa/main/texcompress_s3tc.c | 68 +- src/mesa/main/texgetimage.c | 323 +-- src/mesa/main/texstore.c | 1144 +--------- src/mesa/main/texstore.h | 19 - src/mesa/state_tracker/st_cb_texture.c | 17 +- src/mesa/swrast/s_drawpix.c | 38 +- src/mesa/swrast/s_texfetch.c | 4 - 26 files changed, 2161 insertions(+), 5281 deletions(-) delete mode 100644 src/mesa/main/pack_tmp.h -- 1.9.1 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev