mesa/src/gallium/drivers/lima
Mike Blumenkrantz 73da0dcddc
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
gallium: eliminate frontend refcounting from samplerviews
A significant CPU performance bottleneck in mesa GL is refcounting atomics:
even with the current pinning attempts, eliminating them can yield huge
performance gains (easily verified by running drawoverhead with return false at the top of pipe_reference_described()).

This is a proof of concept for removing refcounts from gallium objects,
namely sampler views and resources. Sampler views were smaller in scope,
so I started there. This MR alone is not expected to noticeably affect
performance, though if applied to all drivers/frontends,
it would enable a bunch of code deletion for crazy samplerview
refcounting hacks currently used to try circumventing the existing overhead.

Co-authored-by: Karol Herbst <kherbst@redhat.com
Co-authored-by: David Rosca <david.rosca@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33813>
2025-03-12 01:37:28 +00:00
..
ci ci: Specify the FARM variable for DUT jobs 2025-03-08 02:45:02 +00:00
drm-shim format: Generate endian-independent format aliases 2024-07-19 13:50:42 +00:00
genxml lima: add genxml for texture descriptor 2025-03-07 21:10:20 +00:00
ir lima: ppir: try inserting nodes into successor instr for uncond branch 2025-03-06 13:25:40 +00:00
standalone lima: remove the standalone compiler 2024-06-03 00:25:44 +00:00
lima_blit.c lima: add genxml for texture descriptor 2025-03-07 21:10:20 +00:00
lima_blit.h
lima_bo.c util: Move src/gallium/auxiliary/os/os_mman.h to src/util/os_mman.h 2022-11-15 19:55:01 +00:00
lima_bo.h
lima_context.c lima: fix refcnt imbalance related to framebuffer 2023-04-17 21:44:15 +00:00
lima_context.h lima: Use u_default_set_debug_callback 2022-09-01 14:50:24 +00:00
lima_disk_cache.c
lima_disk_cache.h
lima_draw.c docs,src: replace doc and comments for PIPE_CAP with pipe_caps 2025-01-17 04:39:47 +00:00
lima_fence.c
lima_fence.h
lima_format.c lima: add genxml for texture descriptor 2025-03-07 21:10:20 +00:00
lima_format.h util: Move src/gallium/include/pipe/p_format.h to src/util/format/u_formats.h 2022-11-19 03:38:19 +00:00
lima_gpu.h lima: fix plbu block stride calculation 2023-09-10 20:41:24 +00:00
lima_job.c gallium: Fix typos 2025-02-15 17:43:44 +00:00
lima_job.h
lima_parser.c lima: add genxml for texture descriptor 2025-03-07 21:10:20 +00:00
lima_parser.h
lima_program.c nir/peephole_select: add options struct 2025-02-20 21:59:16 +00:00
lima_program.h lima: remove the standalone compiler 2024-06-03 00:25:44 +00:00
lima_query.c
lima_resource.c lima: avoid memleak on error 2024-11-28 09:59:51 +00:00
lima_resource.h lima: fix memory leak related to u_transfer_helper_create() 2023-01-18 17:50:40 +00:00
lima_screen.c lima: remove shader get param 2025-02-05 11:20:48 +08:00
lima_screen.h lima: ppir: use dummy program if FS has empty body 2024-03-06 21:43:43 +00:00
lima_state.c gallium: eliminate frontend refcounting from samplerviews 2025-03-12 01:37:28 +00:00
lima_texture.c lima: add genxml for texture descriptor 2025-03-07 21:10:20 +00:00
lima_texture.h lima: add genxml for texture descriptor 2025-03-07 21:10:20 +00:00
lima_util.c util: import pipe_box and its helpers 2024-04-22 01:42:52 +00:00
lima_util.h lima: drop unused lima_get_absolute_timeout() 2023-11-16 16:52:10 +00:00
meson.build lima: add genxml for texture descriptor 2025-03-07 21:10:20 +00:00