mesa/src/freedreno/ci
Emma Anholt 7c636acd53 turnip: Get autotune off of ralloc destructors.
We've wanted to remove destructors from ralloc's API for a long time (it's
an extra storage cost per ralloc for a rarely-used feature), and for the
suballoc change we'd need to spend more storage on storing the tu_device
pointer per result since destructors don't get anything else but the
pointer passed into them.

Fixes use-after-frees:

=================================================================
==2383==ERROR: AddressSanitizer: heap-use-after-free on address 0xffff88fe1940 at pc 0xffff934f427c bp 0xfffff5481e90 sp 0xfffff5481ea8
WRITE of size 8 at 0xffff88fe1940 thread T0
    #0 0xffff934f4278 in list_del ../src/util/list.h:108
    #1 0xffff934f4278 in result_destructor ../src/freedreno/vulkan/tu_autotune.c:237
    #2 0xffff9377793c in unsafe_free ../src/util/ralloc.c:300
    #3 0xffff9377793c in ralloc_free ../src/util/ralloc.c:265
    #4 0xffff934f4368 in history_destructor ../src/freedreno/vulkan/tu_autotune.c:229
    #5 0xffff9377793c in unsafe_free ../src/util/ralloc.c:300
    #6 0xffff9377793c in ralloc_free ../src/util/ralloc.c:265
    #7 0xffff934f5990 in tu_autotune_on_submit ../src/freedreno/vulkan/tu_autotune.c:442
[...]

0xffff88fe1940 is located 80 bytes inside of 112-byte region [0xffff88fe18f0,0xffff88fe1960)
freed by thread T0 here:
    #0 0xffff9c1c90d8 in __interceptor_free ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:127
    #1 0xffff934f4368 in history_destructor ../src/freedreno/vulkan/tu_autotune.c:229
    #2 0xffff9377793c in unsafe_free ../src/util/ralloc.c:300
    #3 0xffff9377793c in ralloc_free ../src/util/ralloc.c:265
    #4 0xffff934f5990 in tu_autotune_on_submit ../src/freedreno/vulkan/tu_autotune.c:442
    #5 0xffff935cf2ac in tu_queue_submit_locked ../src/freedreno/vulkan/tu_drm.c:997
[...]

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15038>
2022-04-12 01:01:56 +00:00
..
deqp-freedreno-a307.toml ci/deqp-runner: Use new deqp-runner's built-in renderer/version checks. 2021-10-21 07:34:19 +00:00
deqp-freedreno-a530.toml ci/deqp-runner: Use new deqp-runner's built-in renderer/version checks. 2021-10-21 07:34:19 +00:00
deqp-freedreno-a618-vk-full.toml ci/freedreno: properly test sysmem and gmem paths 2022-01-31 15:26:35 +00:00
deqp-freedreno-a618-vk.toml ci/freedreno: properly test sysmem and gmem paths 2022-01-31 15:26:35 +00:00
deqp-freedreno-a630-vk-asan.toml ci: Use a dlclose-disabling preload library for leak checking in Vulkan. 2022-01-27 23:47:46 +00:00
deqp-freedreno-a630-vk-full.toml ci/freedreno: properly test sysmem and gmem paths 2022-01-31 15:26:35 +00:00
deqp-freedreno-a630-vk.toml ci/freedreno: Add fractional test of forced unaligned gmem store 2022-04-06 19:53:27 +00:00
deqp-freedreno-a630.toml freedreno: Update gmem/sysmem debug options to be in line with turnip 2022-01-31 15:26:35 +00:00
freedreno-a307-fails.txt ci: Uprev deqp-runner and piglit. 2022-04-06 20:43:53 +00:00
freedreno-a307-flakes.txt freedreno/ci: Update a306 expectations 2022-03-25 02:03:30 +00:00
freedreno-a307-skips.txt freedreno/ci/a306: add more skips 2021-12-08 00:50:25 +00:00
freedreno-a420-fails.txt freedreno: add a420 deqp-runner files 2022-03-08 01:23:05 +00:00
freedreno-a420-flakes.txt freedreno: add a420 deqp-runner files 2022-03-08 01:23:05 +00:00
freedreno-a420-skips.txt freedreno: add a420 deqp-runner files 2022-03-08 01:23:05 +00:00
freedreno-a530-fails.txt ci: Uprev deqp-runner and piglit. 2022-04-06 20:43:53 +00:00
freedreno-a530-flakes.txt ci: Uprev deqp-runner and piglit. 2022-04-06 20:43:53 +00:00
freedreno-a530-skips.txt ci: Uprev vulkan-cts to 1.2.8.0 2022-02-03 22:41:23 +00:00
freedreno-a618-fails.txt ci/turnip: Drop xfails for create_list_modifiers. 2022-04-06 20:43:52 +00:00
freedreno-a618-flakes.txt ci/turnip: Drop alpha_to-coverage flake note on a618. 2022-03-16 19:28:04 +00:00
freedreno-a618-premerge-skips.txt ci/freedreno: Drop the skips of spirv_ids_abuse in pre-merge. 2022-03-16 19:28:04 +00:00
freedreno-a618-skips.txt freedreno/ci: Fix skip comment 2022-03-28 17:16:54 +00:00
freedreno-a630-asan-fails.txt ci/deqp-runner: Rename the deqp-drivername-*.txt files to drivername-*.txt 2021-10-27 20:54:11 +00:00
freedreno-a630-asan-skips.txt ci: Use a dlclose-disabling preload library for leak checking in Vulkan. 2022-01-27 23:47:46 +00:00
freedreno-a630-bypass-flakes.txt ci/deqp-runner: Rename the deqp-drivername-*.txt files to drivername-*.txt 2021-10-27 20:54:11 +00:00
freedreno-a630-fails.txt turnip: Get autotune off of ralloc destructors. 2022-04-12 01:01:56 +00:00
freedreno-a630-flakes.txt ci: Uprev deqp-runner and piglit. 2022-04-06 20:43:53 +00:00
freedreno-a630-premerge-skips.txt ci/freedreno: Drop the skips of spirv_ids_abuse in pre-merge. 2022-03-16 19:28:04 +00:00
freedreno-a630-skips.txt freedreno/ci: Fix skip comment 2022-03-28 17:16:54 +00:00
freedreno-a630-skqp-gl_rendertests.txt ci: skqp: Build skqp from android-cts-10.0_r11 tag with Clang 2022-02-25 05:50:06 +00:00
freedreno-a630-skqp_unittests.txt ci: skqp: Add Vulkan support for a630_skqp job 2022-02-25 05:50:06 +00:00
gitlab-ci.yml Revert "ci/freedreno: Disable a618 jobs" 2022-04-08 14:07:31 +00:00
restricted-traces-freedreno.yml ci/freedreno: Update checksum for GolfWithYourFriends trace 2022-03-24 00:04:20 +00:00
traces-freedreno.yml Revert "nir/algebraic: distribute fmul(fadd(a, b), c) when b and c are constants" 2022-01-21 16:58:11 +00:00