You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
driver_id is zero here for COMMAND_QUEUE and QUEUE_FAMILY, whereas it should probably be taken from the fields main_queue and main_queue_family before being passed to the driver->get_resource_native_handle() call.
This results in RenderingDriverVulkan dereferencing a null pointer for COMMAND_QUEUE and always returning -1 for QUEUE_FAMILY:
Tested versions
Reproducible in v4.3.dev5.mono.official [89f70e9]
Works in 4.2 (using VULKAN_QUEUE_FAMILY_INDEX and VULKAN_QUEUE)
System information
Godot v4.3.dev5.mono - Windows 10.0.22631 - Vulkan (Forward+) - dedicated NVIDIA GeForce RTX 4080 (NVIDIA; 31.0.15.3734) - AMD Ryzen 5 7600X 6-Core Processor (12 Threads)
Issue description
With the Forward+ Vulkan renderer:
Calling
RenderingDevice::get_driver_resource(DRIVER_RESOURCE_COMMAND_QUEUE)
crashes Godot with an access violation exception.Calling
RenderingDevice::get_driver_resource(DRIVER_RESOURCE_QUEUE_FAMILY)
incorrectly returns 4294967295 (-1 unsigned).This is probably caused by #83452.
The following code seems wrong:
godot/servers/rendering/rendering_device.cpp
Lines 5221 to 5228 in 86415f0
driver_id
is zero here forCOMMAND_QUEUE
andQUEUE_FAMILY
, whereas it should probably be taken from the fieldsmain_queue
andmain_queue_family
before being passed to thedriver->get_resource_native_handle()
call.This results in
RenderingDriverVulkan
dereferencing a null pointer forCOMMAND_QUEUE
and always returning -1 forQUEUE_FAMILY
:godot/drivers/vulkan/rendering_device_driver_vulkan.cpp
Lines 4763 to 4769 in 86415f0
Steps to reproduce
Minimal reproduction project (MRP)
driver-resource-bug.zip
The text was updated successfully, but these errors were encountered: