[Mesa-dev] [PATCH v3 00/28] Use a master format convert function

Iago Toral Quiroga itoral at igalia.com
Tue Dec 9 04:07:09 PST 2014


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-v3

Links to the previous versions of this series:
v2: http://lists.freedesktop.org/archives/mesa-dev/2014-December/071643.html
v1: http://lists.freedesktop.org/archives/mesa-dev/2014-November/070916.html

Main changes in v3:
  - Adapted to the implementation of mesa_array_format as a simple uint32_t
    bitfield.
    
Notes:
  - Following discussion in the mailing list, the last patch removes support
    for:
     GL_ABGR_EXT/GL_UNSIGNED_SHORT_5_5_5_1,
     GL_ABGR_EXT/GL_UNSIGNED_SHORT_1_5_5_5_REV,
     GL_ABGR_EXT/GL_UNSIGNED_INT_2_10_10_10_REV,
     GL_ABGR_EXT/GL_UNSIGNED_INT_10_10_10_2
  which breaks the following piglit tests in their current form:
     spec/!OpenGL 1.2/texture-packed-formats
     glean/pixelFormats
  
Tested on i965, classic swrast and gallium (radeon, nouveau, llvmpipe) without
regressions, except for the two regressions mentioned above with the last patch.

14 new piglit passes:
spec/ARB_copy_image/arb_copy_image-formats/Source: GL_RGB16_SNORM/Destination: GL_RGB16_SNORM
spec/ARB_copy_image/arb_copy_image-formats/Source: GL_ALPHA12/Destination: GL_ALPHA12
spec/!OpenGL 1.1/teximage-colors GL_RGB16_SNORM/Exact upload-download of GL_RGB16_SNORM
spec/ARB_copy_image/arb_copy_image-formats/Source: GL_RGB8I/Destination: GL_RGB8_SNORM
spec/ARB_copy_image/arb_copy_image-formats/Source: GL_RGB16UI/Destination: GL_RGB16_SNORM
spec/ARB_copy_image/arb_copy_image-formats/Source: GL_RGB8_SNORM/Destination: GL_RGB8_SNORM
spec/ARB_copy_image/arb_copy_image-formats/Source: GL_RGB8UI/Destination: GL_RGB8_SNORM
spec/ARB_copy_image/arb_copy_image-formats/Source: GL_RGB8/Destination: GL_RGB8_SNORM
spec/ARB_copy_image/arb_copy_image-formats/Source: GL_RGB16/Destination: GL_RGB16_SNORM
spec/!OpenGL 1.1/teximage-colors GL_RGB8_SNORM/Exact upload-download of GL_RGB8_SNORM
spec/ARB_copy_image/arb_copy_image-formats/Source: GL_INTENSITY12/Destination: GL_INTENSITY12
spec/ARB_copy_image/arb_copy_image-formats/Source: GL_LUMINANCE12/Destination: GL_LUMINANCE12
spec/ARB_copy_image/arb_copy_image-formats/Source: GL_LUMINANCE12_ALPHA12/Destination: GL_LUMINANCE12_ALPHA12
spec/ARB_copy_image/arb_copy_image-formats/Source: GL_RGB16I/Destination: GL_RGB16_SNORM


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: Let _mesa_swizzle_and_convert take array format types instead of
    GL types
  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.
  gallium: Use _mesa_format_convert to implement st_GetTexImage.
  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           |  908 ++++++++-
 src/mesa/main/format_utils.h           |   24 +-
 src/mesa/main/formats.c                |   28 -
 src/mesa/main/formats.csv              |    4 -
 src/mesa/main/formats.h                |    5 -
 src/mesa/main/glformats.c              |  323 ++-
 src/mesa/main/glformats.h              |    2 +
 src/mesa/main/image.c                  |   25 +-
 src/mesa/main/image.h                  |   16 +-
 src/mesa/main/pack.c                   | 3505 ++------------------------------
 src/mesa/main/pack.h                   |   85 +-
 src/mesa/main/pack_tmp.h               |  196 --
 src/mesa/main/readpix.c                |  321 +--
 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               | 1145 +----------
 src/mesa/main/texstore.h               |   19 -
 src/mesa/state_tracker/st_cb_texture.c |   17 +-
 src/mesa/swrast/s_drawpix.c            |   39 +-
 src/mesa/swrast/s_texfetch.c           |    4 -
 26 files changed, 2042 insertions(+), 5317 deletions(-)
 delete mode 100644 src/mesa/main/pack_tmp.h

-- 
1.9.1



More information about the mesa-dev mailing list