Mesa (master): 28 new commits

Jason Ekstrand jekstrand at kemper.freedesktop.org
Thu Jun 8 05:19:01 UTC 2017


URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f1ba51b940216b4cb235c869d1636ac42bb0c857
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Fri May 26 12:18:49 2017 -0700

    i965: Delete intel_resolve_map
    
    Now that we've moved over to the new array mechanism, it's no longer
    needed.
    
    Reviewed-by: Topi Pohjolainen <topi.pohjolainen at intel.com>
    Acked-by: Chad Versace <chadversary at chromium.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=641405f7970536d7705e39e8c9bb09e3b0b6b165
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Fri May 26 12:12:06 2017 -0700

    i965: Use the new tracking mechanism for HiZ
    
    This is similar to the previous commit only for HiZ.  For HiZ, apart
    from everything looking different, there is really only one functional
    change:  We now track the ISL_AUX_STATE_COMPRESSED_NO_CLEAR state.
    Previously, if you rendered to a resolved slice of the miptree and then
    did a fast-clear with a different clear color, that slice would get
    resolved even though it hadn't been fast-cleared.  Now that we can track
    COMPRESSED_NO_CLEAR, we know that it doesn't have any blocks in the
    "clear" state so we can skip the resolve.
    
    Reviewed-by: Topi Pohjolainen <topi.pohjolainen at intel.com>
    Acked-by: Chad Versace <chadversary at chromium.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=e6c69264edab14c3eadff658835c11938b7339aa
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Wed May 31 11:50:24 2017 -0700

    i965/miptree: Make level_has_hiz take a const miptree
    
    Acked-by: Chad Versace <chadversary at chromium.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=b2c6290b0140797d0e12dd5b358292289d43edc4
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Thu May 25 17:18:30 2017 -0700

    i965: Wholesale replace the color resolve tracking code
    
    This commit reworks the resolve tracking for CCS and MCS to use the new
    isl_aux_state enum.  This should provide much more accurate and easy to
    reason about tracking.  In order to understand, for instance, the
    intel_miptree_prepare_ccs_access function, one only has to go look at
    the giant comment for the isl_aux_state enum and follow the arrows.
    Unfortunately, there's no good way to split this up without making a
    real mess so there are a bunch of changes in here:
    
     1) We now do partial resolves.  I really have no idea how this ever
        worked before.  So far as I can tell, the only time the old code
        ever did a partial resolve was when it was using CCS_D where a
        partial resolve and a full resolve are the same thing.
    
     2) We are now tracking 4 states instead of 3 for CCS_E.  In particular,
        we distinguish between compressed with clear and compressed without
        clear.  The end result is that you will never get two partial
        resolves in a row.
    
     3) The texture view rules are now more correct.  Previously, we would
        only bail if compression was not supported by the destination
        format.  However, this is not actually correct.  Not all format
        pairs are supported for texture views with CCS even if both support
        CCS individually.  Fortunately, ISL has a helper for this.
    
     4) We are no longer using intel_resolve_map for tracking aux state but
        are instead using a simple array of enum isl_aux_state indexed by
        level and layer.  This is because, now that we're tracking 4
        different states, it's no longer clear which should be the "default"
        and array lookups are faster than linked list searches.
    
     5) The new code is very assert-happy.  Incorrect transitions will now
        get caught by assertions rather than by rendering corruption.
    
    Reviewed-by: Topi Pohjolainen <topi.pohjolainen at intel.com>
    Acked-by: Chad Versace <chadversary at chromium.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=46fd9248990b1bb596321866cac9e299a310a87c
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Thu May 25 15:02:23 2017 -0700

    i965: Delete most of the old resolve interface
    
    Reviewed-by: Topi Pohjolainen <topi.pohjolainen at intel.com>
    Acked-by: Chad Versace <chadversary at chromium.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f296c22989ff0b6d5c58f2aad89300a4a1a4d64c
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Thu May 25 16:09:04 2017 -0700

    i965: Use the new get/set_aux_state functions for color clears
    
    Reviewed-by: Topi Pohjolainen <topi.pohjolainen at intel.com>
    Acked-by: Chad Versace <chadversary at chromium.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=38563e95d514661a02e4f58f4edb3a699907d92c
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Thu May 25 14:50:26 2017 -0700

    i965: Move blorp to the new resolve functions
    
    Reviewed-by: Topi Pohjolainen <topi.pohjolainen at intel.com>
    Acked-by: Chad Versace <chadversary at chromium.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=554f7d6d02931ea45653c8872565d21c1678a6da
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Thu May 25 14:15:44 2017 -0700

    i965: Move depth to the new resolve functions
    
    Reviewed-by: Topi Pohjolainen <topi.pohjolainen at intel.com>
    Reviewed-by: Chad Versace <chadversary at chromium.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=170e4b366af76983caca5daff236b00e9b19ffee
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Thu May 25 12:30:50 2017 -0700

    i965: Move images to the new resolve functions
    
    Reviewed-by: Topi Pohjolainen <topi.pohjolainen at intel.com>
    Reviewed-by: Chad Versace <chadversary at chromium.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=8cb3b4a586c9b5caca323814e18aa057c9c2ed0b
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Thu May 25 12:26:00 2017 -0700

    i965: Move framebuffer fetch to the new resolve functions
    
    Reviewed-by: Topi Pohjolainen <topi.pohjolainen at intel.com>
    Reviewed-by: Chad Versace <chadversary at chromium.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=79df134d563053530f0089e42b3878feddced64e
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Thu May 25 12:14:52 2017 -0700

    i965: Remove an unneeded render_cache_set_check_flush
    
    This is only needed to fix rendering corruptions caused by not flushing
    after doing a resolve operation.  The resolve now does all the needed
    flushing so this is unnecessary.
    
    Reviewed-by: Topi Pohjolainen <topi.pohjolainen at intel.com>
    Reviewed-by: Chad Versace <chadversary at chromium.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=49e4d8cce2276cec0fcf56b7fa2be53f5501a78c
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Thu May 25 11:58:40 2017 -0700

    i965: Move color rendering to the new resolve functions
    
    This also removes an unneeded brw_render_cache_set_check_flush() call.
    We were calling it in the case where the surface got resolved to satisfy
    the flushing requirements around resolves.  However, blorp now does this
    itself, so the extra is just redundant.
    
    Reviewed-by: Topi Pohjolainen <topi.pohjolainen at intel.com>
    Reviewed-by: Chad Versace <chadversary at chromium.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=c0f52252645decea9898cee02ec6473dc012a4dd
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Thu May 25 11:29:17 2017 -0700

    i965: Move texturing to the new resolve functions
    
    Reviewed-by: Topi Pohjolainen <topi.pohjolainen at intel.com>
    Reviewed-by: Chad Versace <chadversary at chromium.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=421d713eec705cb0af551f719fc1d505933dae50
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Wed May 24 22:09:51 2017 -0700

    i965: Use the new resolve function for several simple cases
    
    Reviewed-by: Topi Pohjolainen <topi.pohjolainen at intel.com>
    Reviewed-by: Chad Versace <chadversary at chromium.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=5ec344e42056c14417ec423be61e3715fae7b626
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Wed May 24 22:09:30 2017 -0700

    i965/miptree: Add new entrypoints for resolve management
    
    This commit adds a new unified interface for doing resolves.  The basic
    format is that, prior to any surface access such as texturing or
    rendering, you call intel_miptree_prepare_access.  If the surface was
    written, you call intel_miptree_finish_write.  These two functions take
    parameters which tell them whether or not auxiliary compression and fast
    clears are supported on the surface.  Later commits will add wrappers
    around these two functions for texturing, rendering, etc.
    
    Reviewed-by: Topi Pohjolainen <topi.pohjolainen at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=a59c7f834c6face332ec8240b9af709f35fa9bd1
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Wed May 24 20:01:12 2017 -0700

    intel/isl: Add an enum for describing auxiliary compression state
    
    This enum describes all of the states that a auxiliary compressed
    surface can have.  All of the states as well as normative language for
    referring to each of the compression operations is provided in the
    truly colossal comment for the new isl_aux_state enum.  There is also
    a diagram showing how surfaces move between the different states.
    
    Reviewed-by: Topi Pohjolainen <topi.pohjolainen at intel.com>
    Reviewed-by: Nanley Chery <nanley.g.chery at intel.com>
    Reviewed-by: Chad Versace <chadversary at chromium.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=c89b795db45b2adc7f32d6a37b1cc4ebf6b8a6af
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Thu May 25 11:47:13 2017 -0700

    i965: Combine render target resolve code
    
    We have two different bits of resolve code for render targets: one in
    brw_draw where it's always been and one in brw_context to deal with sRGB
    on gen9.  Let's pull them together.
    
    Reviewed-by: Topi Pohjolainen <topi.pohjolainen at intel.com>
    Reviewed-by: Chad Versace <chadversary at chromium.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=0607ca42da5fdb79b64445e34c642925e94354de
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Wed May 31 10:06:31 2017 -0700

    i965: Be a bit more conservative about certain resolves
    
    There are several places where we were resolving the entire miptree
    when we really only needed to resolve a single slice.  Let's avoid the
    unneeded resolving.
    
    Reviewed-by: Topi Pohjolainen <topi.pohjolainen at intel.com>
    Reviewed-by: Chad Versace <chadversary at chromium.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=3b65f9499c36d7b4ce7e4661299c23bc9d3816e6
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Thu May 25 19:13:47 2017 -0700

    i965/blorp: Move MCS allocation earlier for clears
    
    This way it happens before we call get_aux_state.
    
    Reviewed-by: Topi Pohjolainen <topi.pohjolainen at intel.com>
    Reviewed-by: Chad Versace <chadversary at chromium.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=076defba7a4a89972d34084fefa6227344280f77
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Mon May 22 21:27:50 2017 -0700

    i965/blorp: Refactor do_single_blorp_clear
    
    Previously, we had two checks for can_fast_clear and a tiny bit of
    shared code in between.  This commit pulls all of the fast clear code
    together and duplicates the tiny bit that declares some surface structs
    and calls blorp_surf_for_miptree.  The duplication is no real loss and
    we're about to change the two in slightly different ways.
    
    Reviewed-by: Topi Pohjolainen <topi.pohjolainen at intel.com>
    Reviewed-by: Chad Versace <chadversary at chromium.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=7a9c37eb7bf46853901a0fbd5701db19dc2b7fcd
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Thu May 25 16:59:12 2017 -0700

    i965/blorp: Take an explicit fast clear op in resolve_color
    
    Reviewed-by: Topi Pohjolainen <topi.pohjolainen at intel.com>
    Reviewed-by: Chad Versace <chadversary at chromium.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=4afe282a3596ba0d86249ab6a9e0eb64ef7995f5
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Wed May 24 22:06:29 2017 -0700

    i965/miptree: Move color resolve on map to intel_miptree_map
    
    None of the other methods such as blit work with CCS either so we need
    to do the resolve for all maps.  This change also makes us only resolve
    the one slice we're mapping and not the entire image.
    
    Reviewed-by: Topi Pohjolainen <topi.pohjolainen at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=ad7fa063ae256c554f497e058dfe4758b3fcd6b7
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Thu May 25 11:04:38 2017 -0700

    i965: Inline renderbuffer_att_set_needs_depth_resolve
    
    Reviewed-by: Topi Pohjolainen <topi.pohjolainen at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=c15b2f53f446be9cba9aabe017ee2cb425eceac2
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Wed May 24 21:55:59 2017 -0700

    i965: Get rid of intel_renderbuffer_resolve_*
    
    There is exactly one caller so it's a bit pointless to have all of this
    plumbing.  Just inline it at the one place it's used.
    
    Reviewed-by: Topi Pohjolainen <topi.pohjolainen at intel.com>
    Reviewed-by: Chad Versace <chadversary at chromium.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=25d00e72e4ba22b24cfd99240224c551d9351695
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Mon May 22 09:23:45 2017 -0700

    i965/miptree: Refactor intel_miptree_resolve_color
    
    The new version now takes a range of levels as well as a range of
    layers.  It should also be a tiny bit faster because it only walks the
    resolve_map list once instead of once per layer.
    
    Reviewed-by: Topi Pohjolainen <topi.pohjolainen at intel.com>
    Reviewed-by: Chad Versace <chadversary at chromium.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=64b829244b0f39e4e4d3f1611896ad6cb1ed7318
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Mon May 22 08:59:49 2017 -0700

    i965/miptree: Clean up the depth resolve helpers a little
    
    Reviewed-by: Topi Pohjolainen <topi.pohjolainen at intel.com>
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
    Reviewed-by: Chad Versace <chadversary at chromium.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=97f6f411db9b16ebc7c4bebaf26513c185c8f550
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Fri May 26 09:03:42 2017 -0700

    i965/surface_state: Images can't handle CCS at all
    
    Reviewed-by: Topi Pohjolainen <topi.pohjolainen at intel.com>
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
    Reviewed-by: Chad Versace <chadversary at chromium.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=5097fcbfdc8dc5aab779af92022f9b5ff16026f0
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Fri May 26 09:33:55 2017 -0700

    i965: Mark depth surfaces as needing a HiZ resolve after blitting
    
    Cc: "17.0 17.1" <mesa-stable at lists.freedesktop.org>
    Reviewed-by: Topi Pohjolainen <topi.pohjolainen at intel.com>
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
    Reviewed-by: Chad Versace <chadversary at chromium.org>




More information about the mesa-commit mailing list