Mesa (main): 26 new commits

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Mon Dec 20 18:59:15 UTC 2021


URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=1d21de788d3f4f7fbdcf5b57884bc149a2e219e3
Author: Alyssa Rosenzweig <alyssa at collabora.com>
Date:   Mon Dec 13 15:26:13 2021 -0500

    pan/bi: Specialize shaders for IDVS
    
    We need to compile multiple variants and report them together in a
    common shader info. To do so, we split off per-variant shader infos and
    combine at the end.
    
    glmark2 is very happy: https://people.collabora.com/~alyssa/idvs-g52.txt
    Highlights include -bshading up 41% fps and -bbump:bump-render=high-poly
    up 62% faster
    
    Signed-off-by: Alyssa Rosenzweig <alyssa at collabora.com>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14154>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=c59977c3bf4c0fe2340265f79b147fad77478e77
Author: Alyssa Rosenzweig <alyssa at collabora.com>
Date:   Mon Dec 13 15:25:54 2021 -0500

    pan/bi: Add helper to decide if IDVS should be used
    
    Signed-off-by: Alyssa Rosenzweig <alyssa at collabora.com>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14154>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=a211d2b4e4fdf07d1773571104ad6bca7918e334
Author: Alyssa Rosenzweig <alyssa at collabora.com>
Date:   Fri Dec 10 13:35:41 2021 -0500

    pan/bi: Use position shader ST_CVT path
    
    We need to use a preload instead of the LEA_ATTR. Not sure why.
    
    Signed-off-by: Alyssa Rosenzweig <alyssa at collabora.com>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14154>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=fe8ec3111487055676e27efe2a66704b315dad10
Author: Alyssa Rosenzweig <alyssa at collabora.com>
Date:   Mon Dec 13 12:59:43 2021 -0500

    pan/bi: Split out varying store paths
    
    This means we don't need to special case IDVS quite so hard.
    
    Signed-off-by: Alyssa Rosenzweig <alyssa at collabora.com>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14154>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=e0771d5832cc91fc51765d46fe3ed8f6db111da3
Author: Alyssa Rosenzweig <alyssa at collabora.com>
Date:   Mon Dec 13 15:24:15 2021 -0500

    pan/bi: Remove the "wrong" stores in IDVS variants
    
    Position shaders should only write gl_Position (and gl_PointSize on
    Valhall), varying shaders should only write varyings.
    
    Signed-off-by: Alyssa Rosenzweig <alyssa at collabora.com>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14154>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=fba5936fdb7d13416b3cf6a2719c4b4f09930ee8
Author: Alyssa Rosenzweig <alyssa at collabora.com>
Date:   Mon Dec 13 15:23:37 2021 -0500

    pan/bi: Add IDVS mode to bi_context
    
    Various parts of the compiler switch behaviour based on IDVS variant.
    
    Signed-off-by: Alyssa Rosenzweig <alyssa at collabora.com>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14154>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=c7fae2c89675eca2d59b8d1ecb58042b6b1a3792
Author: Alyssa Rosenzweig <alyssa at collabora.com>
Date:   Mon Dec 13 15:22:30 2021 -0500

    pan/bi: Allow UBO pushing to run multiple times
    
    For IDVS.
    
    Signed-off-by: Alyssa Rosenzweig <alyssa at collabora.com>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14154>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=e2f7871bcf11b42060b0ae2496edb2ae17fe91d6
Author: Alyssa Rosenzweig <alyssa at collabora.com>
Date:   Fri Dec 10 11:23:38 2021 -0500

    pan/bi: Extract bi_finalize_nir
    
    Signed-off-by: Alyssa Rosenzweig <alyssa at collabora.com>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14154>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=62d46c7ee64509cbdaf6eeb57dfe66856401f0d3
Author: Alyssa Rosenzweig <alyssa at collabora.com>
Date:   Mon Dec 13 13:25:21 2021 -0500

    panfrost: Add panfrost_compile_inputs->no_idvs option
    
    panvk will want IDVS support eventually, but not right now. Allow the
    driver to opt out of IDVS in the mean time.
    
    Signed-off-by: Alyssa Rosenzweig <alyssa at collabora.com>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14154>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=2ff3c4a636c891aa9f57722ca1ef03aafc5ad33e
Author: Alyssa Rosenzweig <alyssa at collabora.com>
Date:   Fri Dec 10 14:31:25 2021 -0500

    panfrost: Align instance size for IDVS
    
    Hardware requirement. Failing to do this raises a DATA_INVALID_FAULT.
    
    Signed-off-by: Alyssa Rosenzweig <alyssa at collabora.com>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14154>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=79356b2e5f1762aeaaa81cc148cd5b469a47713d
Author: Alyssa Rosenzweig <alyssa at collabora.com>
Date:   Fri Dec 10 14:21:02 2021 -0500

    panfrost: Skip rasterizer discard draws without side effects
    
    Minor optimization, but more importantly fixes an interaction of IDVS
    with rasterizer discard.
    
    Signed-off-by: Alyssa Rosenzweig <alyssa at collabora.com>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14154>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f5412409dbc8f3324c36f0ceaf488850d381ca89
Author: Alyssa Rosenzweig <alyssa at collabora.com>
Date:   Thu Dec 9 19:05:28 2021 -0500

    panfrost: Extract panfrost_batch_skip_rasterization
    
    Signed-off-by: Alyssa Rosenzweig <alyssa at collabora.com>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14154>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=3a49f4798c12a02a56dbfdfa913acd5a3eb2f839
Author: Alyssa Rosenzweig <alyssa at collabora.com>
Date:   Thu Dec 9 18:42:01 2021 -0500

    panfrost: Emit IDVS jobs
    
    When trying to draw with an IDVS capable shader.
    
    Signed-off-by: Alyssa Rosenzweig <alyssa at collabora.com>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14154>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=e5b0c514d8ab9c7722425dc5ceda6347b68dd429
Author: Alyssa Rosenzweig <alyssa at collabora.com>
Date:   Thu Dec 9 18:41:27 2021 -0500

    panfrost: Extract panfrost_draw_emit_vertex_section
    
    To be shared with IDVS.
    
    Signed-off-by: Alyssa Rosenzweig <alyssa at collabora.com>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14154>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=4d8d987f1a039c382bd8077a82ee30f257f4254f
Author: Alyssa Rosenzweig <alyssa at collabora.com>
Date:   Thu Dec 9 17:13:45 2021 -0500

    panfrost: Set secondary_* fields for IDVS
    
    Easy now that we've split everything out nicely.
    
    Signed-off-by: Alyssa Rosenzweig <alyssa at collabora.com>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14154>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=29f63c62835b8f934793042c99b7dd65ca1e201f
Author: Alyssa Rosenzweig <alyssa at collabora.com>
Date:   Thu Dec 9 17:10:55 2021 -0500

    panfrost: Remove regalloc from v6.xml
    
    These fields were not introduced until v7, fix that.
    
    Signed-off-by: Alyssa Rosenzweig <alyssa at collabora.com>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14154>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=83356c58f883ba761abdba294385946e1c19104b
Author: Alyssa Rosenzweig <alyssa at collabora.com>
Date:   Thu Dec 9 17:08:13 2021 -0500

    panfrost: Split out regalloc/preload helpers
    
    The logic gets duplicated if IDVS is in use.
    
    Signed-off-by: Alyssa Rosenzweig <alyssa at collabora.com>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14154>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=9e65ebb67a2517559494ad463bd57370e1b23702
Author: Alyssa Rosenzweig <alyssa at collabora.com>
Date:   Thu Dec 9 16:26:25 2021 -0500

    panfrost: Add IDVS fields to shader_info
    
    This lets the compiler decide if IDVS should be used.
    
    Signed-off-by: Alyssa Rosenzweig <alyssa at collabora.com>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14154>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=dc4fe86a012a67a12fcefb3f6c9bab58bcdc25e4
Author: Alyssa Rosenzweig <alyssa at collabora.com>
Date:   Sat Oct 23 17:29:14 2021 -0400

    panfrost: Treat IDVS jobs as tiler for scoreboarding
    
    These need to be chained and need to provoke a fragment job when we're
    done.
    
    Signed-off-by: Alyssa Rosenzweig <alyssa at collabora.com>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14154>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=8dc1936faac8804669e21901bacf170e1c009291
Author: Alyssa Rosenzweig <alyssa at collabora.com>
Date:   Sat Oct 23 15:25:02 2021 -0400

    panfrost: Fix Secondary Shader field
    
    Off-by-one on the start.
    
    Signed-off-by: Alyssa Rosenzweig <alyssa at collabora.com>
    Reported-by: Icecream95 <ixn at disroot.org>
    Fixes: 73e80994d50 ("panfrost: Add secondary shader XML fields")
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14154>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=b27bbbe0c93adb3458ec51ab313eb8acf13af850
Author: Alyssa Rosenzweig <alyssa at collabora.com>
Date:   Thu Dec 9 16:54:43 2021 -0500

    panfrost: Remove unused shader info bits
    
    These were only used to infer preloading and can be deleted.
    
    Signed-off-by: Alyssa Rosenzweig <alyssa at collabora.com>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14154>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=7358edad423fb9a4135288cea64f9fb952cdc1b7
Author: Alyssa Rosenzweig <alyssa at collabora.com>
Date:   Thu Dec 9 16:51:02 2021 -0500

    panfrost: Set preload descriptor more accurately
    
    Preload exactly what the shader needs, based on the compiler's mask of
    uninitialized registers, rather than trying to sync pan_shader.h with
    the behaviour of code gen. Would've saved me some debugging over the
    years...
    
    As a bonus this avoids preloading unnecessary registers, particularly in
    compute shaders. In theory this should reduce power consumption.
    
    Signed-off-by: Alyssa Rosenzweig <alyssa at collabora.com>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14154>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=52fe998aa606a6647033bfec5e7eef71ed67f5c3
Author: Alyssa Rosenzweig <alyssa at collabora.com>
Date:   Thu Dec 9 16:50:21 2021 -0500

    panfrost: Track preloaded registers
    
    We already collect this information. We may as well make use of it.
    
    Signed-off-by: Alyssa Rosenzweig <alyssa at collabora.com>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14154>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=e8566f7529664c993bb089367eb89a2e24d02a0a
Author: Alyssa Rosenzweig <alyssa at collabora.com>
Date:   Mon Dec 13 12:45:50 2021 -0500

    pan/indirect_draw: Support IDVS jobs
    
    Handle as tiler jobs with an extra vertex DCD at the end.
    
    Signed-off-by: Alyssa Rosenzweig <alyssa at collabora.com>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14154>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=37ab248c775927fc7d7093d520f6a7fad9b8be46
Author: Alyssa Rosenzweig <alyssa at collabora.com>
Date:   Mon Dec 13 12:15:55 2021 -0500

    pan/indirect_draw: Split out update_dcd
    
    This is common between vertex/tiler jobs and needs to be duplicated for
    IDVS jobs.
    
    Signed-off-by: Alyssa Rosenzweig <alyssa at collabora.com>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14154>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=d696183d4dc2ac695f74f802e03b893397e9567d
Author: Alyssa Rosenzweig <alyssa at collabora.com>
Date:   Mon Dec 13 15:18:56 2021 -0500

    pan/indirect_draw: Don't upload garbage UBO
    
    There should never be a CPU pointer in GPU memory, let's say that...
    
    Fixes: 2e6d94c198e ("panfrost: Add helpers to support indirect draws")
    Signed-off-by: Alyssa Rosenzweig <alyssa at collabora.com>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14154>



More information about the mesa-commit mailing list