vkd3d: Enable multi_queue by default.

And replace option with a single_queue flag to do the opposite.

Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
This commit is contained in:
Philip Rebohle 2021-04-19 16:20:14 +02:00 committed by Hans-Kristian Arntzen
parent 91dc8249f2
commit f06f94bfb4
3 changed files with 4 additions and 3 deletions

View File

@ -152,6 +152,7 @@ commas or semicolons.
For debugging purposes. For debugging purposes.
- `dxr` - Enables DXR support if supported by device. - `dxr` - Enables DXR support if supported by device.
- `force_static_cbv` - Unsafe speed hack on NVIDIA. May or may not give a significant performance uplift. - `force_static_cbv` - Unsafe speed hack on NVIDIA. May or may not give a significant performance uplift.
- `single_queue` - Do not use asynchronous compute or transfer queues.
- `VKD3D_DEBUG` - controls the debug level for log messages produced by - `VKD3D_DEBUG` - controls the debug level for log messages produced by
vkd3d-proton. Accepts the following values: none, err, info, fixme, warn, trace. vkd3d-proton. Accepts the following values: none, err, info, fixme, warn, trace.
- `VKD3D_SHADER_DEBUG` - controls the debug level for log messages produced by - `VKD3D_SHADER_DEBUG` - controls the debug level for log messages produced by

View File

@ -65,7 +65,7 @@ enum vkd3d_config_flags
VKD3D_CONFIG_FLAG_DEBUG_UTILS = 0x00000004, VKD3D_CONFIG_FLAG_DEBUG_UTILS = 0x00000004,
VKD3D_CONFIG_FLAG_FORCE_STATIC_CBV = 0x00000008, VKD3D_CONFIG_FLAG_FORCE_STATIC_CBV = 0x00000008,
VKD3D_CONFIG_FLAG_DXR = 0x00000010, VKD3D_CONFIG_FLAG_DXR = 0x00000010,
VKD3D_CONFIG_FLAG_MULTI_QUEUE = 0x00000020, VKD3D_CONFIG_FLAG_SINGLE_QUEUE = 0x00000020,
VKD3D_CONFIG_FLAG_FORCE_TGSM_BARRIERS = 0x00000040, VKD3D_CONFIG_FLAG_FORCE_TGSM_BARRIERS = 0x00000040,
}; };

View File

@ -483,7 +483,7 @@ static const struct vkd3d_debug_option vkd3d_config_options[] =
{"debug_utils", VKD3D_CONFIG_FLAG_DEBUG_UTILS}, {"debug_utils", VKD3D_CONFIG_FLAG_DEBUG_UTILS},
{"force_static_cbv", VKD3D_CONFIG_FLAG_FORCE_STATIC_CBV}, {"force_static_cbv", VKD3D_CONFIG_FLAG_FORCE_STATIC_CBV},
{"dxr", VKD3D_CONFIG_FLAG_DXR}, {"dxr", VKD3D_CONFIG_FLAG_DXR},
{"multi_queue", VKD3D_CONFIG_FLAG_MULTI_QUEUE}, {"single_queue", VKD3D_CONFIG_FLAG_SINGLE_QUEUE},
{"force_tgsm_barriers", VKD3D_CONFIG_FLAG_FORCE_TGSM_BARRIERS}, {"force_tgsm_barriers", VKD3D_CONFIG_FLAG_FORCE_TGSM_BARRIERS},
}; };
@ -1933,7 +1933,7 @@ static HRESULT vkd3d_select_queues(const struct vkd3d_instance *vkd3d_instance,
uint32_t count; uint32_t count;
memset(info, 0, sizeof(*info)); memset(info, 0, sizeof(*info));
single_queue = !(vkd3d_config_flags & VKD3D_CONFIG_FLAG_MULTI_QUEUE); single_queue = !!(vkd3d_config_flags & VKD3D_CONFIG_FLAG_SINGLE_QUEUE);
VK_CALL(vkGetPhysicalDeviceQueueFamilyProperties(physical_device, &count, NULL)); VK_CALL(vkGetPhysicalDeviceQueueFamilyProperties(physical_device, &count, NULL));
if (!(queue_properties = vkd3d_calloc(count, sizeof(*queue_properties)))) if (!(queue_properties = vkd3d_calloc(count, sizeof(*queue_properties))))