zink: Assertion in slab allocator
Happens with the tip of the main branch on a GTX 1060, the assertion is "heap < slabs->num_heaps
Full backtrace:
#1 __pthread_kill_internal (signo=6, threadid=140737318452800) at ./nptl/pthread_kill.c:78
#2 __GI___pthread_kill (threadid=140737318452800, signo=signo@entry=6) at ./nptl/pthread_kill.c:89
#3 0x00007ffff6f2d476 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
#4 0x00007ffff6f137f3 in __GI_abort () at ./stdlib/abort.c:79
#5 0x00007ffff6f1371b in __assert_fail_base
(fmt=0x7ffff70c8150 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=0x7fffde6a2a25 "heap < slabs->num_heaps", file=0x7fffde6a29c8 "../src/gallium/auxiliary/pipebuffer/pb_slab.c", line=138, function=<optimized out>) at ./assert/assert.c:92
#6 0x00007ffff6f24e96 in __GI___assert_fail
(assertion=0x7fffde6a2a25 "heap < slabs->num_heaps", file=0x7fffde6a29c8 "../src/gallium/auxiliary/pipebuffer/pb_slab.c", line=138, function=0x7fffde6a2a90 <__PRETTY_FUNCTION__.14252> "pb_slab_alloc_reclaimed") at ./assert/assert.c:101
#7 0x00007fffde1e3185 in pb_slab_alloc_reclaimed (slabs=0x8df4d98, size=256, heap=7, reclaim_all=false) at ../src/gallium/auxiliary/pipebuffer/pb_slab.c:138
#8 0x00007fffde03ae53 in zink_bo_create (screen=0x8df4220, size=256, alignment=256, heap=ZINK_HEAP_DEVICE_LOCAL, flags=0, mem_type_idx=7, pNext=0x0)
at ../src/gallium/drivers/zink/zink_bo.c:617
#9 0x00007fffde016bb4 in resource_object_create (screen=0x8df4220, templ=0x7fffffffceb0, whandle=0x0, linear=0x7fffffffce82, modifiers=0x0, modifiers_count=0, loader_private=0x0)
at ../src/gallium/drivers/zink/zink_resource.c:1081
#10 0x00007fffde0175c9 in resource_create (pscreen=0x8df4220, templ=0x7fffffffd070, whandle=0x0, external_usage=0, modifiers=0x0, modifiers_count=0, loader_private=0x0)
at ../src/gallium/drivers/zink/zink_resource.c:1198
#11 0x00007fffde017d00 in zink_resource_create (pscreen=0x8df4220, templ=0x7fffffffd070) at ../src/gallium/drivers/zink/zink_resource.c:1289
#12 0x00007fffde1ed498 in u_transfer_helper_resource_create (pscreen=0x8df4220, templ=0x7fffffffd070) at ../src/gallium/auxiliary/util/u_transfer_helper.c:152
#13 0x00007fffde065066 in pipe_buffer_create (screen=0x8df4220, bind=32784, usage=PIPE_USAGE_IMMUTABLE, size=4) at ../src/gallium/auxiliary/util/u_inlines.h:351
#14 0x00007fffde08cfb4 in zink_context_create (pscreen=0x8df4220, priv=0x0, flags=8) at ../src/gallium/drivers/zink/zink_context.c:5150
#15 0x00007fffdd679621 in st_api_create_context (fscreen=0x8dee810, attribs=0x7fffffffd5f0, error=0x7fffffffd5bc, shared_ctx=0x0) at ../src/mesa/state_tracker/st_manager.c:977
#16 0x00007fffdd568bd0 in dri_create_context
(screen=0x8dee810, api=API_OPENGL_COMPAT, visual=0x8f82f90, ctx_config=0x7fffffffd720, error=0x7fffffffd870, sharedContextPrivate=0x0, loaderPrivate=0x8de2370)
at ../src/gallium/frontends/dri/dri_context.c:177
#17 0x00007fffdd56e9a4 in driCreateContextAttribs (psp=0x8dee810, api=0, config=0x8f82f90, shared=0x0, num_attribs=2, attribs=0x7fffffffd7f0, error=0x7fffffffd870, data=0x8de2370)
at ../src/gallium/frontends/dri/dri_util.c:622
#18 0x00007fffdd468df4 in drisw_create_context_attribs (base=0x8de1810, config_base=0x8f87610, shareList=0x0, num_attribs=3, attribs=0x8f7dec0, error=0x7fffffffd870)
at ../src/glx/drisw_glx.c:638
#19 0x00007fffdd465e21 in glXCreateContextAttribsARB (dpy=0x8506f90, config=0x8f87610, share_context=0x0, direct=1, attrib_list=0x8f7dec0) at ../src/glx/create_context.c:109```