[Bug 110999] 19.1.0: assert in vkAllocateDescriptorSets using immutable samplers on Ivy Bridge
bugzilla-daemon at freedesktop.org
bugzilla-daemon at freedesktop.org
Tue Jun 25 19:04:29 UTC 2019
https://bugs.freedesktop.org/show_bug.cgi?id=110999
Bug ID: 110999
Summary: 19.1.0: assert in vkAllocateDescriptorSets using
immutable samplers on Ivy Bridge
Product: Mesa
Version: git
Hardware: x86-64 (AMD64)
OS: Linux (All)
Status: NEW
Severity: normal
Priority: medium
Component: Drivers/Vulkan/intel
Assignee: intel-3d-bugs at lists.freedesktop.org
Reporter: si at sjbrown.co.uk
QA Contact: intel-3d-bugs at lists.freedesktop.org
CC: jason at jlekstrand.net
Hi,
I've got what looks like a regression moving from 19.0.6 -> 19.1.0 running the
intel vulkan driver on IvyBridge. It seems that calling
vkAllocateDescriptorSets with a COMBINED_IMAGE_SAMPLER that uses an immutable
sampler causes a segfault.
I can reproduce this as an assert using a debug build from git today
(8ea7ee153649ac07c8418cc0d4aa5a4e123d19d1), here is the top of the callstack:
#0 0x00007ffff7bd9755 in raise () from /usr/lib/libc.so.6
#1 0x00007ffff7bc4851 in abort () from /usr/lib/libc.so.6
#2 0x00007ffff7bc4727 in __assert_fail_base.cold () from /usr/lib/libc.so.6
#3 0x00007ffff7bd2026 in __assert_fail () from /usr/lib/libc.so.6
#4 0x00007ffff72f233a in anv_descriptor_set_write_image_view
(device=0x5555561e9880, set=0x55555621a668,
info=0x7fffffff8740, type=VK_DESCRIPTOR_TYPE_SAMPLER, binding=0, element=0)
at ../src/intel/vulkan/anv_descriptor_set.c:1203
#5 0x00007ffff72f16f9 in anv_descriptor_set_create (device=0x5555561e9880,
pool=0x55555621a5d0,
layout=0x5555561220a0, out_set=0x7fffffff87c8) at
../src/intel/vulkan/anv_descriptor_set.c:971
#6 0x00007ffff72f19c8 in anv_AllocateDescriptorSets (_device=0x5555561e9880,
pAllocateInfo=0x7fffffff9a58,
pDescriptorSets=0x7fffffff8900) at
../src/intel/vulkan/anv_descriptor_set.c:1030
It seems that anv_descriptor_set_create() calls
anv_descriptor_set_write_image_view() to set up some stuff from the immutable
sampler, but due to recent changes anv_descriptor_set_write_image_view()
assumes that a layout that has the ANV_DESCRIPTOR_TEXTURE_SWIZZLE bit set
always has a non-null image_view (which we do not since we are only creating
the descriptor set at this stage).
If I patch the ANV_DESCRIPTOR_TEXTURE_SWIZZLE block at the end of
anv_descriptor_set_write_image_view() to only update the swizzle descriptors if
there is a non-null image_view, then my app goes back to running as expected.
I do not know if this is the correct fix for this issue though!
--
You are receiving this mail because:
You are the assignee for the bug.
You are the QA Contact for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/intel-3d-bugs/attachments/20190625/292bc427/attachment.html>
More information about the intel-3d-bugs
mailing list