Mesa (master): 21 new commits

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Thu Aug 20 16:27:58 UTC 2020


URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=94f4ecba8dd8611133b94154a28b6e85cc9903de
Author: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Date:   Mon Aug 17 14:49:52 2020 -0400

    panfrost: Reduce attribute buffer allocations
    
    With vertex ID / instance ID in use, vs->attribute_count will be
    expanded appropriately. Without them in use, everything is 1:1 (or 1:2
    in the worst case of NPOT everything).
    
    Down to 3 slabs + 64184 bytes.
    
    Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
    Reviewed-by: Tomeu Vizoso <tomeu.vizoso at collabora.com>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6373>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=9a6934d67f413e719f07c82e36221287ca8b1538
Author: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Date:   Mon Aug 17 14:46:56 2020 -0400

    panfrost: Don't reserve for NPOT w/o instancing
    
    It's impossible. Down to 5 slabs + 45368.
    
    Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
    Reviewed-by: Tomeu Vizoso <tomeu.vizoso at collabora.com>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6373>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=09ea7c09cc47917379d8a0792e5887f8f3d09e26
Author: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Date:   Mon Aug 17 14:42:41 2020 -0400

    panfrost: Don't overallocate attributes
    
    We only need vertex ID / instance ID if the shader actually requests it.
    Cuts -bideas's beginning from (7 slab + 63352 bytes) to (7 slabs +
    32568).
    
    Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
    Reviewed-by: Tomeu Vizoso <tomeu.vizoso at collabora.com>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6373>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=3df90c7c27e1149d250bb74923ee63af47b0e1f6
Author: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Date:   Mon Aug 17 14:37:44 2020 -0400

    panfrost: Fix attribute buffer underallocation
    
    Breaks on the pathological where everything is NPOT.
    
    Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
    Fixes: e646c861fc6 ("panfrost: Use packs for vertex attribute buffers")
    Reviewed-by: Tomeu Vizoso <tomeu.vizoso at collabora.com>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6373>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=373a204bdd7b6bd0d3bd1b052ef67824d1b81fa7
Author: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Date:   Mon Aug 17 14:27:57 2020 -0400

    panfrost: Pass alignments explicitly
    
    In most cases, GPU data structures need only be self-aligned; the
    worst-case 128 byte alignment is wasteful. By passing explicit
    alignments, we can reduce memory usage, avoid extra allocations, and
    improve descriptor cache locality.
    
    Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
    Reviewed-by: Tomeu Vizoso <tomeu.vizoso at collabora.com>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6373>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=1cb47f8eea0af26b9573ac973ae3d9852cbabe6a
Author: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Date:   Tue Aug 18 08:41:37 2020 -0400

    panfrost: Free batch->dependencies
    
    On glmark2-es2 -bterrain:
    
    594.05KB leaked over 9282 calls from:
        panfrost_batch_update_bo_access
          at ../src/gallium/drivers/panfrost/pan_job.c:462
          in /home/alyssa/rockchip_dri.so
        panfrost_batch_add_bo
          at ../src/gallium/drivers/panfrost/pan_job.c:560
        panfrost_batch_add_bo
          at ../src/gallium/drivers/panfrost/pan_job.c:519
          in /home/alyssa/rockchip_dri.so
        panfrost_batch_add_resource_bos
          at ../src/gallium/drivers/panfrost/pan_job.c:569
        panfrost_batch_add_fbo_bos
          at ../src/gallium/drivers/panfrost/pan_job.c:588
          in /home/alyssa/rockchip_dri.so
        panfrost_create_batch
          at ../src/gallium/drivers/panfrost/pan_job.c:126
    
    Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
    Cc: mesa-stable
    Reviewed-by: Tomeu Vizoso <tomeu.vizoso at collabora.com>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6373>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=680fb05f99d701d2156d231f6b5ae614b146c7ce
Author: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Date:   Tue Aug 18 08:31:42 2020 -0400

    panfrost: Use memctx for sysvals
    
    8.74KB leaked over 52 calls from:
        0xffffbb5b9fc3
          in ??
        _mesa_hash_table_init
          at ../src/util/hash_table.c:163
          in /home/alyssa/rockchip_dri.so
        _mesa_hash_table_create
          at ../src/util/hash_table.c:186
        _mesa_hash_table_u64_create
          at ../src/util/hash_table.c:701
          in /home/alyssa/rockchip_dri.so
        panfrost_nir_assign_sysvals
          at ../src/panfrost/util/pan_sysval.c:130
          in /home/alyssa/rockchip_dri.so
        midgard_compile_shader_nir
          at ../src/panfrost/midgard/midgard_compile.c:2905
          in /home/alyssa/rockchip_dri.so
    
    Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
    Cc: mesa-stable
    Reviewed-by: Tomeu Vizoso <tomeu.vizoso at collabora.com>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6373>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=8dd38e5a3e68d67d6050f8bcba28cf3514ef1eef
Author: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Date:   Tue Aug 18 08:26:40 2020 -0400

    pan/mdg: Free previous liveness
    
    Before we drop the reference.
    
    160 calls with 0B peak consumption from:
        0xffffbd9d2fc3
          in ??
        pan_compute_liveness
          at ../src/panfrost/util/pan_liveness.c:127
          in /home/alyssa/rockchip_dri.so
        mir_compute_liveness
          at ../src/panfrost/midgard/midgard_liveness.c:55
          in /home/alyssa/rockchip_dri.so
        midgard_opt_dead_code_eliminate
          at ../src/panfrost/midgard/midgard_opt_dce.c:118
          in /home/alyssa/rockchip_dri.so
    
    Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
    Cc: mesa-stable
    Reviewed-by: Tomeu Vizoso <tomeu.vizoso at collabora.com>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6373>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=62637a913ab67dc3ade1af3c2d4ae724ab677836
Author: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Date:   Tue Aug 18 08:23:13 2020 -0400

    panfrost: Free hash_to_temp map
    
    No need to put it on the context, we can keep it local in mir_squeeze
    and drop when we're done.
    
    15.77KB leaked over 85 calls from:
        0xffffaed3bfc3
          in ??
        _mesa_hash_table_rehash
          at ../src/util/hash_table.c:368
          in /home/alyssa/rockchip_dri.so
        hash_table_insert
          at ../src/util/hash_table.c:403
          in /home/alyssa/rockchip_dri.so
        find_or_allocate_temp
          at ../src/panfrost/midgard/mir_squeeze.c:48
          in /home/alyssa/rockchip_dri.so
        find_or_allocate_temp
          at ../src/panfrost/midgard/mir_squeeze.c:35
          in /home/alyssa/rockchip_dri.so
        mir_squeeze_index
          at ../src/panfrost/midgard/mir_squeeze.c:76
    
    Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
    Cc: mesa-stable
    Reviewed-by: Tomeu Vizoso <tomeu.vizoso at collabora.com>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6373>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=da6d0e3facfe0eb5c7db2d75d6992643d929caff
Author: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Date:   Tue Aug 18 08:10:25 2020 -0400

    panfrost: Free NIR of blit shaders
    
    After we compile from NIR to a native binary, we can throw away the NIR.
    
    17.47KB leaked over 104 calls from:
        0xffff87dcafc3
          in ??
        _mesa_hash_table_init
          at ../src/util/hash_table.c:163
          in /home/alyssa/rockchip_dri.so
        _mesa_hash_table_create
          at ../src/util/hash_table.c:186
        nir_lower_vars_to_ssa_impl
          at ../src/compiler/nir/nir_lower_vars_to_ssa.c:717
          in /home/alyssa/rockchip_dri.so
        nir_lower_vars_to_ssa
          at ../src/compiler/nir/nir_lower_vars_to_ssa.c:817
        optimise_nir
          at ../src/panfrost/midgard/midgard_compile.c:504
          in /home/alyssa/rockchip_dri.so
        midgard_compile_shader_nir
          at ../src/panfrost/midgard/midgard_compile.c:2895
          in /home/alyssa/rockchip_dri.so
        panfrost_build_blit_shader
          at ../src/panfrost/lib/pan_blit.c:103
          in /home/alyssa/rockchip_dri.so
    
    Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
    Cc: mesa-stable
    Reviewed-by: Tomeu Vizoso <tomeu.vizoso at collabora.com>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6373>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=9146f596ed1e8854a2a6c9137396a902bc92946c
Author: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Date:   Tue Aug 18 08:07:15 2020 -0400

    panfrost: Free cloned NIR shader
    
    Fixes heaptrack leak:
    
    19.37KB leaked over 63 calls from:
        0xffff92bbefc3
          in ??
        nir_alu_instr_create
          at ../src/compiler/nir/nir.c:442
          in /home/alyssa/rockchip_dri.so
        clone_alu
          at ../src/compiler/nir/nir_clone.c:277
          in /home/alyssa/rockchip_dri.so
        clone_instr
          at ../src/compiler/nir/nir_clone.c:495
          in /home/alyssa/rockchip_dri.so
        clone_block
          at ../src/compiler/nir/nir_clone.c:544
        clone_cf_list
          at ../src/compiler/nir/nir_clone.c:594
        clone_function_impl
          at ../src/compiler/nir/nir_clone.c:672
          in /home/alyssa/rockchip_dri.so
        nir_shader_clone
          at ../src/compiler/nir/nir_clone.c:744
          in /home/alyssa/rockchip_dri.so
        panfrost_shader_compile
          at ../src/gallium/drivers/panfrost/pan_assemble.c:154
          in /home/alyssa/rockchip_dri.so
    
    Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
    Cc: mesa-stable
    Reviewed-by: Tomeu Vizoso <tomeu.vizoso at collabora.com>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6373>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=ba4fc67812cd052a4c89cac0f376326f52da1fda
Author: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Date:   Mon Aug 17 19:57:54 2020 -0400

    panfrost: Fix blend leak for render targets 5-8
    
    Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
    Fixes: 375d4c2c74d ("panfrost: Extend blending to MRT")
    Reviewed-by: Tomeu Vizoso <tomeu.vizoso at collabora.com>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6373>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=4ff4b04b50d808e7cd6a3b42561a0f68ba2dabf4
Author: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Date:   Mon Aug 17 19:52:20 2020 -0400

    panfrost: Keep finalized blend state constant
    
    It's probably fine, but the writes to an uninitialized struct make me
    nervous. Let's do the obvious thing instead.
    
    Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
    Reviewed-by: Tomeu Vizoso <tomeu.vizoso at collabora.com>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6373>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=93200ce4c6f543808e768c379a04bea577d55c72
Author: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Date:   Mon Aug 17 19:43:24 2020 -0400

    panfrost: Drop depth-only case in blend finalize
    
    Since last commit, we don't call this function at all if there's no
    matching colour buffer (it wouldn't make sense to!)
    
    Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
    Reviewed-by: Tomeu Vizoso <tomeu.vizoso at collabora.com>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6373>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=8249e2b9a23dfa45e8e235a188fb183d609eac96
Author: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Date:   Mon Aug 17 19:41:48 2020 -0400

    panfrost: Explicitly handle nr_cbufs=0 case
    
    Avoids some indirection around colour buffer count.
    
    Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
    Reviewed-by: Tomeu Vizoso <tomeu.vizoso at collabora.com>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6373>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=dc7fbe114bac338e7075efdb325053ef41dad91c
Author: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Date:   Mon Aug 17 19:32:59 2020 -0400

    panfrost: Drop implicit blend pooling
    
    We dropped blend shader pools a long time ago for various reasons, but
    the indirection required remained. Oops.
    
    Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
    Reviewed-by: Tomeu Vizoso <tomeu.vizoso at collabora.com>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6373>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=d8deb1eb6a2244e765a1789c87b32ff43bd5349c
Author: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Date:   Mon Aug 17 13:14:54 2020 -0400

    panfrost: Share tiler_heap across batches/contexts
    
    There's only one tiler, so this is safe. (The blob does the same
    optimization.) This avoids allocating multiple heaps for multiple
    batches, which wastes memory and CPU time.
    
    Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
    Reviewed-by: Tomeu Vizoso <tomeu.vizoso at collabora.com>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6373>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=01d12c353e2d6cbfff11c566940b3f68f7ac11b3
Author: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Date:   Mon Aug 17 13:48:26 2020 -0400

    pan/decode: Don't try to dereference heap mapping
    
    It might not be mapped from our perspective, we shouldn't crash on that
    just for a validation that isn't actually correct.
    
    Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
    Reviewed-by: Tomeu Vizoso <tomeu.vizoso at collabora.com>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6373>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=b41692caf427fc2335121e762bb3a539ef7506cb
Author: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Date:   Mon Aug 17 12:30:49 2020 -0400

    panfrost: Avoid minimum stack allocations
    
    If stack isn't used, don't allocate it - simple as that.
    
    Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
    Reviewed-by: Tomeu Vizoso <tomeu.vizoso at collabora.com>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6373>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=17c617cdb7f9710651b10f5b00669fc31c372c50
Author: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Date:   Mon Aug 17 10:31:02 2020 -0400

    panfrost: Introduce invisible pool
    
    Whereas the main batch->pool is CPU read/write, the new
    batch->invisible_pool is not. This enables GPU-internal structures that
    the CPU must allocate from a pool dynamically but does not read,
    corresponding to the BO_INVISIBLE create flag.
    
    The use case is speeding up varying allocation by skipping the
    CPU-side mmap/munmap.
    
    We simultaneously half the pool's minimal allocation to avoid negatively
    affecting memory usage.
    
    Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
    Reviewed-by: Tomeu Vizoso <tomeu.vizoso at collabora.com>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6373>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=40c0d7a13df02ee15e2e0e14ed4ab53c7e866a53
Author: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Date:   Fri Aug 14 19:08:57 2020 -0400

    panfrost: Pre-allocate memory for pool
    
    Seeing random BO creates in the middle of command stream generation is
    annoying, let's preallocate memory so CPU profiling is less random.
    
    Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
    Reviewed-by: Tomeu Vizoso <tomeu.vizoso at collabora.com>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6373>



More information about the mesa-commit mailing list