Mesa (master): 50 new commits

Iago Toral Quiroga itoral at kemper.freedesktop.org
Mon Jan 12 10:23:36 UTC 2015


URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=c471b09bf480c5e66d6def4946886f8bf345e9f9
Author: Samuel Iglesias Gonsalvez <siglesias at igalia.com>
Date:   Fri Nov 21 16:31:09 2014 +0100

    mesa: restrict use of GL_ABGR_EXT format to allowed data types
    
    GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV,
    GL_UNSIGNED_INT_10_10_10_2, GL_UNSIGNED_INT_2_10_10_10_REV data types
    are not explicitly allowed to work with GL_ABGR_EXT format neither
    in GL nor GL_EXT_abgr specs.
    
    Removed the corresponding mesa formats as there are no other functions
    using them inside Mesa anymore.
    
    Signed-off-by: Samuel Iglesias Gonsalvez <siglesias at igalia.com>
    Reviewed-by: Jason Ekstrand <jason.ekstrand at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=769de5165c71315d66bab2bc27be98ec481ea9f8
Author: Iago Toral Quiroga <itoral at igalia.com>
Date:   Thu Nov 27 09:29:44 2014 +0100

    mesa: Remove _mesa_rebase_rgba_uint and _mesa_rebase_rgba_float
    
    These are no longer used anywhere now that we have _mesa_format_convert.
    
    Reviewed-by: Jason Ekstrand <jason.ekstrand at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=8993b9818c1f2968f674a6945aa0bc929709f47d
Author: Samuel Iglesias Gonsalvez <siglesias at igalia.com>
Date:   Wed Nov 12 11:24:30 2014 +0100

    mesa: Remove _mesa_pack_int_rgba_row() and auxiliary functions
    
    These are no longer used.
    
    Signed-off-by: Samuel Iglesias Gonsalvez <siglesias at igalia.com>
    Reviewed-by: Jason Ekstrand <jason.ekstrand at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=d28d9376e24ef157b59225cf151db4f8c5521d5d
Author: Iago Toral Quiroga <itoral at igalia.com>
Date:   Tue Nov 11 08:15:57 2014 +0100

    mesa: Remove _mesa_(un)pack_index_span
    
    These are not used anywhere.
    
    Reviewed-by: Jason Ekstrand <jason.ekstrand at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=3a4de321449551e48682ad42a57df020570fec6d
Author: Iago Toral Quiroga <itoral at igalia.com>
Date:   Mon Nov 10 17:45:55 2014 +0100

    mesa: Remove _mesa_pack_rgba_span_float and tmp_pack.h
    
    _mesa_pack_rgba_span_float was the last of the color span functions
    and we have replaced all calls to it with calls to _mesa_format_convert,
    so we can remove it together with tmp_pack.h which was used to
    generate the pack functions for multiple types that were used from
    the various color span functions that have been removed.
    
    Reviewed-by: Jason Ekstrand <jason.ekstrand at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=873437e209cd54bed64e634cb9bd0e3332efb7b7
Author: Iago Toral Quiroga <itoral at igalia.com>
Date:   Mon Nov 10 12:25:57 2014 +0100

    mesa: Remove _mesa_unpack_color_span_float
    
    And various helper functions that went unused after removing it.
    
    Reviewed-by: Jason Ekstrand <jason.ekstrand at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=3ba92bac7630eaf894da74d6c17c35ecf8b61e1a
Author: Iago Toral Quiroga <itoral at igalia.com>
Date:   Mon Nov 10 09:55:18 2014 +0100

    mesa: Remove (signed) integer pack and span functions.
    
    These are no longer used now that we moved to _mesa_format_convert.
    
    Reviewed-by: Jason Ekstrand <jason.ekstrand at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=2280fdeb610405d9236aa99dc6452aa47d592e94
Author: Iago Toral Quiroga <itoral at igalia.com>
Date:   Mon Nov 10 09:49:14 2014 +0100

    mesa: Remove _mesa_unpack_color_span_ubyte
    
    This is no longer used anywhere after moving to _mesa_format_convert.
    
    Reviewed-by: Jason Ekstrand <jason.ekstrand at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=c540800aa5521023f28eeb288f0d7bb0b67278f3
Author: Iago Toral Quiroga <itoral at igalia.com>
Date:   Fri Nov 7 12:20:11 2014 +0100

    mesa: Remove _mesa_make_temp_float_image
    
    Now that we have _mesa_format_convert we don't need this.
    
    This was only used to create temporary RGBA float images in the process
    of storing some compressed formats. These can call _mesa_texstore
    with a RGBA/float dst to achieve the same goal.
    
    Reviewed-by: Jason Ekstrand <jason.ekstrand at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=4468386a3c8126cf94691c5f0ee12b0b157f314c
Author: Iago Toral Quiroga <itoral at igalia.com>
Date:   Fri Nov 7 11:17:29 2014 +0100

    mesa: Remove _mesa_make_temp_ubyte_image
    
    Now that we have _mesa_format_convert we don't need this.
    
    texstore_rgba will use the GL_COLOR_INDEX to RGBA conversion
    helpers instead and compressed formats that used
    _mesa_make_temp_ubyte_image to create an ubyte RGBA temporary
    image can call _mesa_texstore with a RGBA/ubyte dst to
    achieve the same goal.
    
    Reviewed-by: Jason Ekstrand <jason.ekstrand at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=43a76a9e4416a2ff0b09bb0bc2a39bd4c61148b4
Author: Iago Toral Quiroga <itoral at igalia.com>
Date:   Thu Nov 6 16:46:13 2014 +0100

    mesa: Remove _mesa_unpack_color_span_uint
    
    This is no longer used.
    
    Reviewed-by: Jason Ekstrand <jason.ekstrand at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=87c595c17b9cf8277c0483389204ff82525f65cf
Author: Eduardo Lima Mitev <elima at igalia.com>
Date:   Tue Oct 21 19:11:41 2014 +0200

    mesa: Replace _mesa_unpack_bitmap with _mesa_unpack_image()
    
    _mesa_unpack_bitmap() was introduced by commit 02b801c to handle the case
    when data is stored in PBO by display lists, in the context of this bug:
    
    Incorrect pixels read back if draw bitmap texture through Display list
    https://bugs.freedesktop.org/show_bug.cgi?id=10370
    
    Since _mesa_unpack_image() already handles the case of GL_BITMAP, this patch
    removes _mesa_unpack_bitmap() and makes affected calls go through
    _mesa_unapck_image() instead.
    
    The sample test attached to the original bug report passes with this change
    and there are no piglit regressions.
    
    Signed-off-by: Eduardo Lima Mitev <elima at igalia.com>
    Reviewed-by: Jason Ekstrand <jason.ekstrand at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=ea79ab3e8c3766c17d3080e846b815d48c249186
Author: Iago Toral Quiroga <itoral at igalia.com>
Date:   Thu Nov 27 08:31:00 2014 +0100

    mesa: Let _mesa_swizzle_and_convert take array format types instead of GL types
    
    In the future we would like to have a format conversion library that is
    independent of GL so we can share it with Gallium. This is a step in that
    direction.
    
    Reviewed-by: Jason Ekstrand <jason.ekstrand at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=a55f67fcb064b4ed3019259a711b5be07f4e72ff
Author: Iago Toral Quiroga <itoral at igalia.com>
Date:   Wed Nov 26 10:20:55 2014 +0100

    st/mesa: Use _mesa_format_convert to implement st_GetTexImage.
    
    Instead of using _mesa_pack_rgba_span_float. This should allow us to remove
    that function in a later patch.
    
    Reviewed-by: Jason Ekstrand <jason.ekstrand at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=84eb402c01962e3ff4b70c9948c85a61ed81678f
Author: Iago Toral Quiroga <itoral at igalia.com>
Date:   Mon Nov 10 11:25:20 2014 +0100

    swrast: Use _mesa_format_convert to implement draw_rgba_pixels.
    
    This is the only place that uses _mesa_unpack_color_span_float so after
    this we should be able to remove that function.
    
    Reviewed-by: Jason Ekstrand <jason.ekstrand at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=a629f0612d59f5a304df2e809f4b8bd6c8757adf
Author: Iago Toral Quiroga <itoral at igalia.com>
Date:   Wed Nov 26 10:19:54 2014 +0100

    mesa: Use _mesa_format_convert to implement get_tex_rgba_compressed.
    
    Reviewed-by: Jason Ekstrand <jason.ekstrand at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=77bd2b288f92ca66a241cc9dfd0d3fde0263063f
Author: Iago Toral Quiroga <itoral at igalia.com>
Date:   Mon Oct 27 14:40:55 2014 +0100

    mesa: use _mesa_format_convert to implement get_tex_rgba_uncompressed.
    
    Reviewed-by: Jason Ekstrand <jason.ekstrand at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=5038d839b8e4d5926ee2aeaa4a66367ba99a31c6
Author: Iago Toral Quiroga <itoral at igalia.com>
Date:   Thu Oct 23 10:04:56 2014 +0200

    mesa: use _mesa_format_convert to implement glReadPixels.
    
    Reviewed-by: Jason Ekstrand <jason.ekstrand at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=8ec6534b266549cdc2798e2523bf6753924f6cde
Author: Iago Toral Quiroga <itoral at igalia.com>
Date:   Wed Oct 15 13:42:11 2014 +0200

    mesa: Use _mesa_format_convert to implement texstore_rgba.
    
    Notice that _mesa_format_convert does not handle byte-swapping scenarios,
    GL_COLOR_INDEX or MESA_FORMAT_YCBCR(_REV), so these must be handled
    separately.
    
    Also, remove all the code that goes unused after using _mesa_format_convert.
    
    Reviewed-by: Jason Ekstrand <jason.ekstrand at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=2ec8718dae126e6699640de37cbd950878635cbd
Author: Iago Toral Quiroga <itoral at igalia.com>
Date:   Fri Nov 7 08:32:14 2014 +0100

    mesa: Add helpers to extract GL_COLOR_INDEX to RGBA float/ubyte
    
    We only use _mesa_make_temp_ubyte_image in texstore.c to convert
    GL_COLOR_INDEX to RGBA, but this helper does more stuff than this.
    All uses of this helper can be replaced with calls to
    _mesa_format_convert except for this GL_COLOR_INDEX conversion.
    
    This patch extracts the GL_COLOR_INDEX to RGBA logic to a separate
    helper so we can use that instead from texstore.c.
    
    In future patches we will replace all remaining calls to
    _mesa_make_temp_ubyte_image in the repository (related to compressed
    formats) with calls to _mesa_format_convert so we can remove
    _mesa_make_temp_ubyte_image and related functions.
    
    v2:
    - Remove ‘for’ loop initial declaration. They are only allowed in C99 or C11
    mode.
    
    Reviewed-by: Jason Ekstrand <jason.ekstrand at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=d71a1adff253aa75a3474723209c35831bb3f048
Author: Iago Toral Quiroga <itoral at igalia.com>
Date:   Wed Oct 29 13:32:43 2014 +0100

    mesa: Add RGBA to Luminance conversion helpers
    
    For glReadPixels with a Luminance destination format we compute luminance
    values from RGBA as L=R+G+B. This, however, requires ad-hoc implementation,
    since pack/unpack functions or _mesa_swizzle_and_convert won't do this
    (and thus, neither will _mesa_format_convert). This patch adds helpers
    to do this computation so they can be used to support conversion to luminance
    formats.
    
    The current implementation of glReadPixels does this computation as part
    of the span functions in pack.c (see _mesa_pack_rgba_span_float), that do
    this together with other things like type conversion, etc. We do not want
    to use these functions but use _mesa_format_convert instead (later patches
    will remove the color span functions), so we need to extract this functionality
    as helpers.
    
    Reviewed-by: Jason Ekstrand <jason.ekstrand at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=a177b30f1f2a74c14a649e9990eaab8826523c69
Author: Iago Toral Quiroga <itoral at igalia.com>
Date:   Thu Oct 30 11:55:02 2014 +0100

    mesa: Add _mesa_swap2_copy and _mesa_swap4_copy
    
    We have _mesa_swap{2,4} but these do in-place byte-swapping only. The new
    functions receive an extra parameter so we can swap bytes on a source
    input array and store the results in a (possibly different) destination
    array.
    
    This is useful to implement byte-swapping in pixel uploads, since in this
    case we need to swap bytes on the src data which is owned by the
    application so we can't do an in-place byte swap.
    
    v2:
      - Include compiler.h in image.h, which is necessary to build in MSCV as
        indicated by Brian Paul.
    
    Reviewed-by: Jason Ekstrand <jason.ekstrand at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=dcef50b9b5cecbfe38c55059971ce80142585865
Author: Samuel Iglesias Gonsalvez <siglesias at igalia.com>
Date:   Wed Oct 15 13:03:06 2014 +0200

    mesa/pack: use _mesa_format_from_format_and_type in _mesa_pack_rgba_span_from_*
    
    We had previously added the needed mesa formats, so we can simplify
    the code further.
    
    Signed-off-by: Samuel Iglesias Gonsalvez <siglesias at igalia.com>
    Reviewed-by: Jason Ekstrand <jason.ekstrand at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=559a1072dab3c67f06fe23f4ad0dc15b771608c9
Author: Iago Toral Quiroga <itoral at igalia.com>
Date:   Fri Dec 5 13:10:08 2014 +0100

    mesa: Add helper to convert a GL format and type to a mesa (array) format.
    
    v2 after review by Jason Ekstrand:
    - Move _mesa_format_from_format_and_type to glformats
    - Return a mesa_format for GL_UNSIGNED_INT_8_8_8_8(_REV)
    
    v3:
    - Adapted to the new implementation of mesa_array_format as a plain uint32_t
      bitfield.
    
    Reviewed-by: Jason Ekstrand <jason.ekstrand at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=b1f0229140a66a36de63408b8a3eb45e11e43710
Author: Iago Toral Quiroga <itoral at igalia.com>
Date:   Wed Nov 26 09:39:35 2014 +0100

    mesa: Add a helper _mesa_compute_rgba2base2rgba_component_mapping
    
    This will come in handy when callers of _mesa_format_convert need
    to compute the rebase swizzle parameter to use.
    
    Reviewed-by: Jason Ekstrand <jason.ekstrand at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=3171a09c2539a3d08196d6a4cb91ad6276f9383d
Author: Iago Toral Quiroga <itoral at igalia.com>
Date:   Wed Nov 26 09:05:08 2014 +0100

    mesa: Add a rebase_swizzle parameter to _mesa_format_convert
    
    The new parameter allows callers to provide a rebase swizzle that
    the function needs to use to match the requirements of the base
    internal format involved. This is necessary when the source or
    destination internal formats (depending on whether we are doing
    the conversion for a pixel download or a pixel upload respectively)
    do not match the base formats of the source or destination
    formats of the conversion. This can happen when the driver does not
    support the internal formats and uses a different format to store
    pixel data internally.
    
    For example, a texture upload from RGB to Luminance in a driver
    that does not support textures with a Luminance format may decide
    to store the Luminance data as RGBA. In this case we want to store
    the RGBA values as (R,R,R,1). Following the same example, when we
    download from that texture to RGBA we want to read (R,0,0,1). The
    rebase_swizzle parameter allows these transforms to happen.
    
    Reviewed-by: Jason Ekstrand <jason.ekstrand at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=1aaed753301a4c0d39173616088db66231e7298d
Author: Iago Toral Quiroga <itoral at igalia.com>
Date:   Thu Nov 6 13:19:45 2014 +0100

    mesa: Expose compute_component_mapping as _mesa_compute_component_mapping
    
    This is necessary to handle conversions between array types where
    the driver does not support the dst format requested by the client and
    chooses a different format instead.
    
    We will need this in _mesa_format_convert, so move it to format_utils.c,
    prefix it with '_mesa_' and make it available to other files.
    
    v2:
      - Move _mesa_compute_component_mapping to glformats
    
    Reviewed-by: Jason Ekstrand <jason.ekstrand at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=deca11c0dc127caa7f8643069310ea6e0a5aea5c
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Mon Aug 25 10:55:06 2014 -0700

    mesa: Add an implementation of a master convert function.
    
    v2 by Iago Toral <itoral at igalia.com>:
    
    - When testing if we can directly pack we should use the src format to check
      if we are packing from an RGBA format. The original code used the dst format
      for the ubyte case by mistake.
    - Fixed incorrect number of bits for dst, it was computed using the src format
      instead of the dst format.
    - If the dst format is an array format, check if it is signed. We were only
      checking this for the case where it was not an array format, but we need
      to know this in both scenarios.
    - Fixed incorrect swizzle transform for the cases where we convert between
      array formats.
    - Compute is_signed and bits only once and for the dst format. We were
      computing these for the src format too but they were overwritten by the
      dst values immediately after.
    - Be more careful when selecting the integer path. Specifically, check that
      both src and dst are integer types. Checking only one of them should suffice
      since OpenGL does not allow conversions between normalized and integer types,
      but putting extra care here makes sense and also makes the actual requirements
      for this path more clear.
    - The format argument for pack functions is the destination format we are
      packing to, not the source format (which has to be RGBA).
    - Expose RGBA8888_* to other files. These will come in handy when in need to
      test if a given array format is RGBA or in need to pass RGBA formats to
      mesa_format_convert.
    
    v3 by Samuel Iglesias <siglesias at igalia.com>:
    
    - Add an RGBA8888_INT definition.
    
    v4 by Iago Toral <itoral at igalia.com> after review by Jason Ekstrand:
    
    - Added documentation for _mesa_format_convert.
    - Added additional explanatory comments for integer conversions.
    - Ensure that we use _messa_swizzle_and_convert for all signed source formats.
    - Squashed: do not directly (un)pack to RGBA UINT if the source is not unsigned.
    
    v5 by Iago Toral <itoral at igalia.com>:
    
    - Adapted to the new implementation of mesa_array_format as a plain uint32_t
      bitfield.
    
    Reviewed-by: Jason Ekstrand <jason.ekstrand at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=ba5418c60d7301fc78190bf7a39f475d868b6126
Author: Samuel Iglesias Gonsalvez <siglesias at igalia.com>
Date:   Fri Oct 10 12:46:02 2014 +0200

    mesa/pack: refactor _mesa_pack_rgba_span_float()
    
    Use autogenerated format pack functions and take advantage of some
    macros to reduce source code, facilitating its maintenance.
    
    Unfortunately, dstType == GL_UNSIGNED_SHORT cannot simplified like
    the others, so keep it as it is.
    
    Signed-off-by: Samuel Iglesias Gonsalvez <siglesias at igalia.com>
    Reviewed-by: Jason Ekstrand <jason.ekstrand at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=41a785b09c4218670ef34f62bd409a3b38edbd61
Author: Samuel Iglesias Gonsalvez <siglesias at igalia.com>
Date:   Fri Oct 10 13:06:36 2014 +0200

    mesa/main/pack_tmp.h: Add float conversion support
    
    We will use this in a later patch to refactor _mesa_pack_rgba_span_float.
    
    Signed-off-by: Samuel Iglesias Gonsalvez <siglesias at igalia.com>
    Reviewed-by: Jason Ekstrand <jason.ekstrand at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=1a5ec9624a64c90455c9174143454c592efce89e
Author: Samuel Iglesias Gonsalvez <siglesias at igalia.com>
Date:   Fri Oct 10 10:38:06 2014 +0200

    mesa/pack: use autogenerated format_pack functions
    
    Take advantage of new mesa formats and new format_pack functions to
    reduce source code in _mesa_pack_rgba_span_from_ints() and
    _mesa_pack_rgba_span_from_uints().
    
    Signed-off-by: Samuel Iglesias Gonsalvez <siglesias at igalia.com>
    Reviewed-by: Jason Ekstrand <jason.ekstrand at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=8c82b22a16003c209a3a955d8565fbf773cba6e3
Author: Samuel Iglesias Gonsalvez <siglesias at igalia.com>
Date:   Fri Oct 3 09:39:55 2014 +0200

    mesa: use format conversion functions in swrast
    
    This commit adds a macro to facilitate the task of using
    format conversions functions but keeps the same API.
    
    Signed-off-by: Samuel Iglesias Gonsalvez <siglesias at igalia.com>
    Reviewed-by: Jason Ekstrand <jason.ekstrand at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=c5a5c9a7db898145774524415a3a94fe75ddb364
Author: Samuel Iglesias Gonsalvez <siglesias at igalia.com>
Date:   Wed Oct 8 11:06:21 2014 +0200

    mesa/formats: add new mesa formats and their pack/unpack functions.
    
    This  will be used to refactor code in pack.c and support conversion
    to/from these types in a master convert function that will be added
    later.
    
    v2:
    - Fix autogeneration of MESA_FORMAT_A2R10G10B10_UNORM pack/unpack
      functions
    
    Signed-off-by: Samuel Iglesias Gonsalvez <siglesias at igalia.com>
    Reviewed-by: Jason Ekstrand <jason.ekstrand at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f8d160fc96cccb46040d47b4dead31c81375e6b6
Author: Samuel Iglesias Gonsalvez <siglesias at igalia.com>
Date:   Wed Oct 8 16:02:21 2014 +0200

    mesa/format_pack: Add _mesa_pack_int_rgba_row()
    
    This will be used to unify code in pack.c.
    
    v2:
    - Modify pack_int_*() function generator to use c.datatype() and
      f.datatype()
    
    v3:
    - Only autogenerate pack_int_*() functions for non-normalized integer
      formats.
    
    v4:
    - Use _mesa_unsigned_to_unsigned() in pack_int_*() because, in order
      to be able to pack both signed and unsigned formats, we need to
      sign-extend.
    
    Signed-off-by: Samuel Iglesias Gonsalvez <siglesias at igalia.com>
    Reviewed-by: Jason Ekstrand <jason.ekstrand at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=9567e1048b62635ee2c508dc89710e0a77eac99d
Author: Samuel Iglesias Gonsalvez <siglesias at igalia.com>
Date:   Thu Oct 2 12:37:52 2014 +0200

    mesa: Add _mesa_pack_uint_rgba_row() format conversion function
    
    We will use this later on to handle uint conversion scenarios in a master
    convert function.
    
    v2:
    - Modify pack_uint_*() function generation to use c.datatype() and
      f.datatype().
    - Remove UINT_TO_FLOAT() macro usage from pack_uint*()
    - Remove "if not f.is_normalized()" conditional as pack_uint*()
      functions are only autogenerated for non normalized formats.
    
    v3:
    - Add clamping for non-normalized integer formats in pack_uint*()
    
    Signed-off-by: Samuel Iglesias Gonsalvez <siglesias at igalia.com>
    Reviewed-by: Jason Ekstrand <jason.ekstrand at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=e1fdcddafe95ca8a62fc86c8219de459fcbd219e
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Fri Aug 22 09:49:09 2014 -0700

    mesa: Autogenerate format_unpack.c
    
    Signed-off-by: Jason Ekstrand <jason.ekstrand at intel.com>
    
    v2 by Samuel Iglesias <siglesias at igalia.com>:
    - Add usage of INDENT_FLAGS in Makefile.am
    
    v3 by Samuel Iglesias <siglesias at igalia.com>:
    - Modify unpack_float_*() and unpack_ubyte_*() function generation
    to use c.datatype() and f.datatype()
    - Fix out-of-tree build
    
    v4 by Samuel Iglesias <siglesias at igalia.com>:
    - format_unpack.c.mako is now format_unpack.py, with the template code
      inlined. It now auto-generates format_unpack.c
    - Add format_unpack.c to gitignore.
    - Simplify Makefile.am change
    - Modify SConscript to build format_unpack.c with scons
    
    v5 by Samuel Iglesias <siglesias at igalia.com>:
    - Don't allow float to non-normalized integer format conversions.
    
    Signed-off-by: Samuel Iglesias Gonsalvez <siglesias at igalia.com>
    Reviewed-by: Jason Ekstrand <jason.ekstrand at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=e0439f750557bc6880a8a4eccb38256fafd63fae
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Thu Aug 21 12:38:05 2014 -0700

    mesa: Autogenerate most of format_pack.c
    
    We were auto-generating it before.  The problem was that the autogeneration
    tool we were using was called "copy, paste, and edit".  Let's use a more
    sensible solution.
    
    Signed-off-by: Jason Ekstrand <jason.ekstrand at intel.com>
    
    v2 by Samuel Iglesias <siglesias at igalia.com>
    - Remove format_pack.c as it is now autogenerated
    - Add usage of INDENT_FLAGS in Makefile.am
    - Remove trailing blank line
    
    v3 by Samuel Iglesias <siglesias at igalia.com>
    - Merge format_convert.py into format_parser.py
       - Adapt pack_*_* function generations
    - Fix out-of-tree build
    
    v4 by Samuel Iglesias <siglesias at igalia.com>
    - _get_datatype() is now a helper function
    
    v5 by Samuel Iglesias <siglesias at igalia.com>
    - format_pack.c.mako is now format_pack.py, with the template code
      inlined. It now auto-generates format_pack.c
    - Simplify Makefile.am change.
    - Modify SConscript to build format_pack.c with scons.
    - Remove run_mako.py
    - Add format_pack.c to gitignore
    
    v6 by Samuel Iglesias <siglesias at igalia.com>:
    - Don't allow float to non-normalized integer format conversions.
    - Add non-normalized formats support for ubyte packing functions. Merge
    the previously separated patch.
    - Add clamping for non-normalized integer formats in pack_ubyte*()
    
    v7 by Samuel Iglesias <siglesias at igalia.com>:
    - Add assert to check that sRGB formats are 8-bit size.
    
    Signed-off-by: Samuel Iglesias Gonsalvez <siglesias at igalia.com>
    Reviewed-by: Jason Ekstrand <jason.ekstrand at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=2b37bea010a9c9333a813cc77d28629e1382c0be
Author: Samuel Iglesias Gonsalvez <siglesias at igalia.com>
Date:   Fri Nov 21 08:53:21 2014 +0100

    configure: require python mako module
    
    It is now a hard dependency because of the autogeneration of
    format pack and unpack functions.
    
    Update the documentation to reflect this change.
    
    v2:
    - Inline python script in m4 file and use PYTHON2
    
    v3:
    
    - Remove semicolons and quotes and change coding style
    - Add Ilia Mirkin suggestion to use Python's split functionality.
    - Use AX_CHECK_PYTHON_MAKO_MODULE name.
    - Change to MIT license
    
    Signed-off-by: Samuel Iglesias Gonsalvez <siglesias at igalia.com>
    Reviewed-by: Jason Ekstrand <jason.ekstrand at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f89793946af22b720f746a5fb8b33d7b2f3e199b
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Tue Aug 26 14:26:44 2014 -0700

    mesa: Add a _mesa_is_format_color_format helper
    
    Reviewed-by: Jason Ekstrand <jason.ekstrand at intel.com>
    Reviewed-by: Anuj Phogat <anuj.phogat at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=3c19251f28e6b4feff81f48b1c73f1f2e09e38e1
Author: Iago Toral Quiroga <itoral at igalia.com>
Date:   Wed Nov 26 10:38:44 2014 +0100

    mesa: Let _mesa_get_format_base_format also handle mesa_array_format.
    
    If we need the base format for a mesa_array_format we have to find the
    matching mesa_format first. This is expensive because it requires
    to loop through all existing mesa formats until we find the right match.
    
    We can resolve the base format of an array format directly by looking
    at its swizzle information. Also, we can have _mesa_get_format_base_format
    accept an uint32_t which can pack either a mesa_format or a mesa_array_format
    and resolve the base format for either type. This way clients do not need to
    check if they have a mesa_format or a mesa_array_format and call different
    functions depending on the case.
    
    Another reason to resolve the base format for array formats directly is that
    we don't have matching mesa_format enums for every possible array format, so
    for some GL format/type combinations we can produce array formats that don't
    have a corresponding mesa format, in which case we would not be able to
    find the base format. Example format=GL_RGB, type=GL_UNSIGNED_SHORT. This type
    would map to something like MESA_FORMAT_RGB_UNORM16, but we don't have that.
    
    Reviewed-by: Jason Ekstrand <jason.ekstrand at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=3da735cc4c478b0ab2ecc2164899cf9d77dc671a
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Sat Aug 23 10:45:00 2014 -0700

    main: Add a concept of an array format
    
    An array format is a 32-bit integer format identifier that can represent
    any format that can be represented as an array of standard GL datatypes.
    Whie the MESA_FORMAT enums provide several of these, they don't account for
    all of them.
    
    v2 by Iago Toral Quiroga <itoral at igalia.com>:
     - Implement mesa_array_format as a plain bitfiled uint32_t type instead of
       using a struct inside a union to access the various components packed in
       it. This is necessary to support bigendian properly, as pointed out by
       Ian.
     - Squashed: Make float types normalized
    
    v3 by Iago Toral Quiroga <itoral at igalia.com>:
      - Include compiler.h in formats.h, which is necessary to build in MSVC as
        indicated by Brian Paul.
    
    Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=382d097e546cb7568bef4fa552dcd84535271845
Author: Iago Toral Quiroga <itoral at igalia.com>
Date:   Mon Nov 10 11:30:15 2014 +0100

    swrast: Remove unused variable.
    
    Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
    Reviewed-by: Jason Ekstrand <jason.ekstrand at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=fea1be8d0bd53f817f62d9b4fa82cfcb667fd3c3
Author: Samuel Iglesias Gonsalvez <siglesias at igalia.com>
Date:   Mon Oct 27 16:15:36 2014 +0100

    mesa: Fix _mesa_swizzle_and_convert integer conversions to clamp properly
    
    Fix various conversion paths that involved integer data types of different
    sizes (uint16_t to uint8_t, int16_t to uint8_t, etc) that were not
    being clamped properly.
    
    Also, one of the paths was incorrectly assigning the value 12, instead of 1,
    to the constant "one".
    
    v2:
    - Create auxiliary clamping functions and use them in all paths that
      required clamp because of different source and destination sizes
      and signed-unsigned conversions.
    
    v3:
    - Create MIN_INT macro and use it.
    
    v4:
    - Add _mesa_float_to_[un]signed() and mesa_half_to_[un]signed() auxiliary
      functions.
    - Add clamp for float-to-integer conversions in _mesa_swizzle_and_convert()
    
    Signed-off-by: Samuel Iglesias Gonsalvez <siglesias at igalia.com>
    Reviewed-by: Jason Ekstrand <jason.ekstrand at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=483b04348848e193d7c71c2f40ce58c447d51755
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Thu Aug 21 12:30:10 2014 -0700

    mesa/format_utils: Prefix and expose the conversion helper functions
    
    Signed-off-by: Jason Ekstrand <jason.ekstrand at intel.com>
    
    v2 by Samuel Iglesias <siglesias at igalia.com>:
    - Fix compilation errors
    
    Signed-off-by: Samuel Iglesias Gonsalvez <siglesias at igalia.com>
    Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
    Reviewed-by: Jason Ekstrand <jason.ekstrand at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=3473a84fb2c2cdab0bcecb43fbf519d9b3fc0142
Author: Iago Toral Quiroga <itoral at igalia.com>
Date:   Fri Nov 28 10:03:56 2014 +0100

    mesa: Fix incorrect assertion in init_teximage_fields_ms
    
    _BaseFormat is a GLenum (unsigned int) so testing if its value is
    greater than 0 to detect the cases where _mesa_base_tex_format
    returns -1 doesn't work.
    
    Fixing the assertion breaks the arb_texture_view-lifetime-format
    piglit test on nouveau, since that test calls
    _mesa_base_tex_format with GL_R16F with a context that does not
    have ARB_texture_float, so it returns -1 for the BaseFormat, which
    was not being caught properly by the ASSERT in init_teximage_fields_ms
    until now.
    
    Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
    Reviewed-by: Jason Ekstrand <jason.ekstrand at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=b2b39ce2578870e87b892d603ad68b872c54d2ba
Author: Samuel Iglesias Gonsalvez <siglesias at igalia.com>
Date:   Fri Nov 7 10:43:32 2014 +0100

    mesa: Fix get_texbuffer_format().
    
    We were returning incorrect mesa formats for GL_LUMINANCE_ALPHA16I_EXT
    and GL_LUMINANCE_ALPHA32I_EXT.
    
    Signed-off-by: Samuel Iglesias Gonsalvez <siglesias at igalia.com>
    Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
    Reviewed-by: Jason Ekstrand <jason.ekstrand at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=96fe6191cb8c61ca5ae7c49f54db83f3b44ed126
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Fri Aug 22 20:32:27 2014 -0700

    mesa: Fix A1R5G5B5 packing/unpacking
    
    As with B5G6R5, these have been left broken with comments saying they are.
    
    Signed-off-by: Jason Ekstrand <jason.ekstrand at intel.com>
    Reviewed-by: Jason Ekstrand <jason.ekstrand at intel.com>
    Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=3e4669a8f3f61dab54faf1ae8512569bca1e54da
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Fri Aug 22 15:06:52 2014 -0700

    mesa/colormac: Remove an unused macro
    
    The PACK_565_REV macro is no longer used.  It was also extremely confusing
    because it's actually a byteswapped 565 not reversed 565.
    
    Signed-off-by: Jason Ekstrand <jason.ekstrand at intel.com>
    Reviewed-by: Jason Ekstrand <jason.ekstrand at intel.com>
    Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=ec0bfba49668875462dfd75f4824f48018e82efe
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Fri Aug 22 13:39:23 2014 -0700

    mesa: Fix packing/unpacking of MESA_FORMAT_R5G6B5_UNORM
    
    Aparently, the packing/unpacking functions for these formats have differed
    from the format description in formats.h.  Instead of fixing this, people
    simply left a comment saying it was broken.  Let's actually fix it for
    real.
    
    v2 by Samuel Iglesias <siglesias at igalia.com>:
    - Fix comment in formats.h
    
    Signed-off-by: Jason Ekstrand <jason.ekstrand at intel.com>
    Reviewed-by: Jason Ekstrand <jason.ekstrand at intel.com>
    Reviewed-by: Anuj Phogat <anuj.phogat at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=7d1b08ac44cf2531b0df39f52ead93ad216ea233
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Sat Aug 23 08:36:46 2014 -0700

    mesa: Fix clamping to -1.0 in snorm_to_float
    
    This patch fixes the return of a wrong value when x is lower than
    -MAX_INT(src_bits) as the result would not be between [-1.0 1.0].
    
    v2 by Samuel Iglesias <siglesias at igalia.com>:
        - Modify snorm_to_float() to avoid doing the division when
          x == -MAX_INT(src_bits)
    
    Cc: 10.4 <mesa-stable at lists.freedesktop.org>
    Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
    Reviewed-by: Jason Ekstrand <jason.ekstrand at intel.com>




More information about the mesa-commit mailing list