[PATCH vkd3d 5/5] vkd3d: Create and write descriptor sets for root signature unbounded ranges.

Giovanni Mascellani gmascellani at codeweavers.com
Thu Oct 7 03:35:13 CDT 2021


Hi,

Il 06/10/21 18:43, Henri Verbeet ha scritto:
> From: Conor McCarthy<cmccarthy at codeweavers.com>
> 
> Signed-off-by: Conor McCarthy<cmccarthy at codeweavers.com>
> Signed-off-by: Henri Verbeet<hverbeet at codeweavers.com>
> ---
>   libs/vkd3d/command.c       | 120 +++++++++++++++++++-----
>   libs/vkd3d/device.c        | 114 +++++++++++++++++++++++
>   libs/vkd3d/resource.c      |   9 ++
>   libs/vkd3d/state.c         | 181 ++++++++++++++++++++++++++++++++-----
>   libs/vkd3d/vkd3d_private.h |  40 +++++++-
>   tests/d3d12.c              |  18 ++--
>   6 files changed, 424 insertions(+), 58 deletions(-)

The patch is huge and I don't know the code very much, but it causes 
tests/d3d12 to hang on my NVIDIA Quadro P2000 Mobile card. Specifically, 
eventually a thread gets stuck in a busy loop writing

vkd3d_wait_for_gpu_fences Failed to wait for Vulkan fences, vr -4.

in the log.

This happens inside test_unbounded_resource_arrays, but if I run just 
that test (jumping over the others via goto and return), the symptom is 
different:

malloc(): invalid size (unsorted)

Doing some additional bisection, it seems that if I run all the tests 
from (and including) test_clip_distance up to 
test_unbounded_resource_arrays, then the symptom is failing to wait for 
Vulkan fences. If I start running after test_clip_distance, then the 
symptom becomes the invalid malloc size.

But there are other interactions, because if I run just 
test_clip_distance and test_unbounded_resource_arrays I have the invalid 
malloc size again. I am not sure that tracking down exactly which test 
combinations cause one or the other behavior is a better usage of my 
time than actually tracking down the bug. At the same time, I am not 
very confident with this area of vkd3d, so if Conor or Henri or whoever 
have hints, that's appreciated. :-)

Thanks, Giovanni.



More information about the wine-devel mailing list