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