Mesa (master): 27 new commits

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Wed Oct 17 16:52:14 UTC 2018


URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=d27b1c83b9b7bd2db8851fe497246c0143b73554
Author: Rob Clark <robdclark at gmail.com>
Date:   Mon Oct 15 09:56:35 2018 -0400

    freedreno/a6xx: don't allocate binning rb
    
    Now that a single cmdstream is used for both binning and draw passes, we
    can skip allocation of cmdstream buffer for binning.
    
    Signed-off-by: Rob Clark <robdclark at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=24d57a6d8f72156aa81dce89683bd16e771c7ea2
Author: Rob Clark <robdclark at gmail.com>
Date:   Sat Oct 13 13:56:05 2018 -0400

    freedreno/a6xx: single cmdstream for draw+binning
    
    Now that state which is different for draw vs binning pass is split out
    into different state-groups with appropriate enable_mask (so the
    appropriate one is chosen for draw vs binning), switch over to using a
    single cmdstream for both passes.
    
    This should significantly lower draw overhead for CPU bound benchmarks.
    
    Signed-off-by: Rob Clark <robdclark at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=72f6164fefd796f6b0ffdc86b22e02de61835709
Author: Rob Clark <robdclark at gmail.com>
Date:   Sat Oct 13 13:54:32 2018 -0400

    freedreno/a6xx: split binning vs draw program stateobj's
    
    Signed-off-by: Rob Clark <robdclark at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=3313d693af28ee099aae8ac6e34ad007e007de84
Author: Rob Clark <robdclark at gmail.com>
Date:   Sat Oct 13 13:51:33 2018 -0400

    freedreno/a6xx: split VBO state into binning/draw variants
    
    Blob seems to manage to use same input registers for BS (binning pass)
    vs VS (draw pass) shaders, so it can use the same VBO state for both.
    We can't quite do that yet, so split them.
    
    Signed-off-by: Rob Clark <robdclark at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=b23fc4cacb7ab59805751da3aefec9d958dfdd8d
Author: Rob Clark <robdclark at gmail.com>
Date:   Sat Oct 13 13:24:24 2018 -0400

    freedreno/a6xx: move VBO state to stateobj
    
    Signed-off-by: Rob Clark <robdclark at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=e19405683245c452a9f1fac13eabb8ac562d3f08
Author: Rob Clark <robdclark at gmail.com>
Date:   Sat Oct 13 13:04:16 2018 -0400

    freedreno/a6xx: move ZSA state to stateobj
    
    Step towards single cmdstream, where we need different state-group-id's
    for binning vs draw ZSA state.
    
    Signed-off-by: Rob Clark <robdclark at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=a50a9a44e81b4479d0f49ef6a3ce6d6d4656227c
Author: Rob Clark <robdclark at gmail.com>
Date:   Fri Oct 12 16:29:22 2018 -0400

    freedreno/a6xx: remove vismode param
    
    We don't need to keep this IGNORE_VISIBILITY in binning pass.  Prep work
    for using single cmdstream for both draw and binning passes.
    
    Signed-off-by: Rob Clark <robdclark at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=d9dbc9c21f17e4c86f8e366fbe225df39e3b7b59
Author: Rob Clark <robdclark at gmail.com>
Date:   Fri Oct 12 16:01:22 2018 -0400

    freedreno/ir3: move binning-pass fixup for a6xx+
    
    Move this to after ir3_cp (which can add lowered immediates to the const
    state) for a6xx+, to ensure the uniform state matches between binning
    and vertex shaders.  This way we can emit just a single VS_CONST state-
    group when we re-use single cmdstream for both binning and draw passes.
    
    Signed-off-by: Rob Clark <robdclark at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=1a51c4a87ea9202af90ccb28bd697f0df753f587
Author: Rob Clark <robdclark at gmail.com>
Date:   Fri Oct 12 15:10:46 2018 -0400

    freedreno/a6xx: a bit more state emit cleanup
    
    Signed-off-by: Rob Clark <robdclark at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=2ffc79c7d14e93e1755e8d165294dc4fece3fdaa
Author: Rob Clark <robdclark at gmail.com>
Date:   Fri Oct 12 14:47:13 2018 -0400

    freedreno/a6xx: move framebuffer state emit to emit_mrt()
    
    No point in checking this per-draw, since framebuffer change means new
    batch.
    
    Signed-off-by: Rob Clark <robdclark at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=5894f37b851b65a9a6977656b89262150470a0b3
Author: Rob Clark <robdclark at gmail.com>
Date:   Fri Oct 12 14:41:14 2018 -0400

    freedreno/a6xx: small emit_mrt() cleanup
    
    On a6xx, this is only used for pfb->cbufs so we can just directly pass
    the pfb state.
    
    Signed-off-by: Rob Clark <robdclark at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=b4e94af37d454e42ba18c807b5d8db89746dd96d
Author: Rob Clark <robdclark at gmail.com>
Date:   Wed Oct 10 15:58:57 2018 -0400

    freedreno/a6xx: use program cache
    
    Use the in-memory cache to construct shader program state and re-use it
    on subsequent draws, to lower driver overhead.
    
    Signed-off-by: Rob Clark <robdclark at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=1d7fbe2cd1247edde06ac783813be096b88dc04b
Author: Rob Clark <robdclark at gmail.com>
Date:   Tue Jul 24 14:12:24 2018 -0400

    freedreno/ir3: shader variant cache
    
    Cache that maps gallium hwcso (in this case, 'struct ir3_shader') plus
    shader variant key to a generation specific state object.
    
    This could eventually replace the linked list of shader variants, but
    for now it lets us re-use the work currently done in fdN_program_emit()
    
    Signed-off-by: Rob Clark <robdclark at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=2e9c08c0bce8df63979327f3b1c3c828fd1b98da
Author: Rob Clark <robdclark at gmail.com>
Date:   Tue Oct 2 12:38:09 2018 -0400

    freedreno/ir3: move binning_pass out of shader variant key
    
    Prep work for a following patch, that introduces a cache to map from
    program state (all shader stages) plus variant key to pre-baked hw
    state (which could be emit'd via CP_SET_DRAW_STATE, for example).
    To do that, we really want the variant key to be immutable, and to
    treat the binning pass shader as an extra shader stage, rather than
    as a VS variant.
    
    Signed-off-by: Rob Clark <robdclark at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=8b1a3b5dde6405b4193eb0118e044a88b9b3accf
Author: Rob Clark <robdclark at gmail.com>
Date:   Tue Oct 2 16:04:39 2018 -0400

    freedreno/ir3: track # of samplers used by shader
    
    This is useful for a6xx to avoid program state from depending on bound
    tex/samp state.
    
    Signed-off-by: Rob Clark <robdclark at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=1b9d69410ce0708f526f5e846e369b781897d10f
Author: Rob Clark <robdclark at gmail.com>
Date:   Wed Oct 10 15:59:29 2018 -0400

    freedreno/a6xx: texture state obj
    
    Unfortunately gallium doesn't match what the hw wants perfectly here, in
    using a separate CSO for each texture/sampler.  So we have to use a hash
    table to map the collection of texture/samplers to hw state object.
    
    We probably could use separate hw state objects for texture and sampler
    state, but mesa/st tends to update the tex and samp state together.
    
    Signed-off-by: Rob Clark <robdclark at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=e8606b11dd5f8a2c8df16a719b0fc8852ceb7977
Author: Rob Clark <robdclark at gmail.com>
Date:   Fri Oct 12 09:24:21 2018 -0400

    freedreno: add resource seqno
    
    Intended to be something more compact than a 64b pointer, which could be
    used as a key into hashtables.  Prep work for texture state objects.
    
    Signed-off-by: Rob Clark <robdclark at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=abcdf5627a29b7f1856b86bce4ff9bd0029a3099
Author: Rob Clark <robdclark at gmail.com>
Date:   Sun Oct 7 13:59:27 2018 -0400

    freedreno/a6xx: move const emit to state group
    
    Eventually we want to move nearly everything, but no other state depends
    on const state, so this is the easiest one to move first.
    
    For webgl aquarium, this reduces GPU load by about 10%, since for each
    fish it does a uniform upload plus draw.. fish frequently are visible in
    only a single tile, so this skips the uniform uploads for other tiles.
    
    The additional step of avoiding WFI's when using CP_SET_DRAW_STATE seems
    to be work an additional 10% gain for aquarium.
    
    Signed-off-by: Rob Clark <robdclark at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=a398d26fd2cb1ef075a07fa91d2c74613982a66f
Author: Rob Clark <robdclark at gmail.com>
Date:   Sun Oct 7 13:58:30 2018 -0400

    freedreno/a6xx: add infrastructure for CP_DRAW_STATE
    
    Add helper to add state-groups to emit, and code to emit CP_DRAW_STATE
    packet if we have any state-groups.
    
    Signed-off-by: Rob Clark <robdclark at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=ec717fc629ca4e34a2b934f2b4d02217a4249080
Author: Rob Clark <robdclark at gmail.com>
Date:   Mon Oct 1 14:13:06 2018 -0400

    freedreno: reduce resource dependency tracking overhead
    
    Signed-off-by: Rob Clark <robdclark at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=ee61790daf46d83d64288b99fb02f17070acb3dc
Author: Neil Roberts <nroberts at igalia.com>
Date:   Wed Oct 17 17:38:03 2018 +0200

    freedreno: Remove the Emacs mode lines
    
    These are not necessary because the corresponding settings are set via
    the .dir-locals.el file anyway. Most of them were missing a ‘:’ after
    “tab-width” which was making Emacs display an annoying warning
    whenever you open the file.
    
    This patch was made with:
    
    sed -ri '/-\*- mode:/,/^$/d' \
        $(find src/gallium/{drivers,winsys} -name \*.\[ch\] \
                   -exec grep -l -- '-\*- mode:' {} \+)
    
    Signed-off-by: Rob Clark <robdclark at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=afe640b360f4a2df27e3c8a23f786cbd977f8dad
Author: Neil Roberts <nroberts at igalia.com>
Date:   Wed Oct 17 17:38:02 2018 +0200

    freedreno: Fix the Emacs indentation configuration file
    
    The .dir-locals.el had the wrong name for the truthy value so it
    wasn’t setting indent-tabs-mode.
    
    Signed-off-by: Rob Clark <robdclark at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=8e798e28f736e22e9e1e4534ab42a36cde14b142
Author: Hyunjun Ko <zzoon at igalia.com>
Date:   Wed Oct 17 21:57:28 2018 +0900

    freedreno: allocate batches from the cache in launch_grid
    
    Needs to allocate batches from the cache so that it could
    get a valid index and make resource dependancy tracking right.
    
    In addition this fixes assertion on debug build since the commit
    1a40faa8 landed.
    
    Signed-off-by: Rob Clark <robdclark at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=2385d7b06683e00984f05d32cd2b9e940fefd5af
Author: Hyunjun Ko <zzoon at igalia.com>
Date:   Wed Oct 17 21:57:27 2018 +0900

    freedreno: adds nondraw param to fd_bc_alloc_batch
    
    Needs to specify nondraw when creating a batch through
    fd_bc_alloc_batch since it'd better create a batch through
    it rather than fd_batch_create.
    
    Signed-off-by: Rob Clark <robdclark at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=9e6019bd46902987c677bb19142e7cc89e43d2b9
Author: Rob Clark <robdclark at gmail.com>
Date:   Fri Oct 12 16:27:59 2018 -0400

    freedreno/a6xx: remove fd6_emit_render_cntl()
    
    It was dead code carried over from a5xx
    
    Signed-off-by: Rob Clark <robdclark at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=835cb069656a75c15ed4d707fd39d20dc370ee96
Author: Rob Clark <robdclark at gmail.com>
Date:   Sat Sep 15 14:41:07 2018 -0400

    freedreno/ir3: fix broken texcoord inputs
    
    TODO not sure if this is best solution, but current logic is broken for
    texcoord inputs.  It is definitely the simplest solution.
    
    Fixes: 1a24f519663 freedreno/ir3: ignore unused inputs
    Signed-off-by: Rob Clark <robdclark at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=cbf9fe50b5f848c6be380ab37cf034618c9a851e
Author: Rob Clark <robdclark at gmail.com>
Date:   Sat Oct 13 12:34:09 2018 -0400

    freedreno: fix off-by-one error in BEGIN_RING()
    
    Signed-off-by: Rob Clark <robdclark at gmail.com>




More information about the mesa-commit mailing list