[dxvk] Add option to enable or disable the transfer queue

This commit is contained in:
Philip Rebohle 2019-06-28 04:24:26 +02:00
parent 191bba660b
commit d2d11bf995
No known key found for this signature in database
GPG Key ID: C8CC613427A31C99
4 changed files with 17 additions and 1 deletions

View File

@ -150,6 +150,17 @@
# d3d11.zeroWorkgroupMemory = False
# Enables the dedicated transfer queue if available
#
# If enabled, resource uploads will be performed on the
# transfer queue rather than the graphics queue. This
# may improve texture streaming performance.
#
# Supported values: True, False
# dxvk.enableTransferQueue = True
# Sets number of pipeline compiler threads.
#
# Supported values:

View File

@ -98,7 +98,8 @@ namespace dxvk {
VK_QUEUE_GRAPHICS_BIT | VK_QUEUE_COMPUTE_BIT | VK_QUEUE_TRANSFER_BIT,
VK_QUEUE_TRANSFER_BIT);
if (transferQueue == VK_QUEUE_FAMILY_IGNORED)
if (transferQueue == VK_QUEUE_FAMILY_IGNORED
|| !m_instance->options().enableTransferQueue)
transferQueue = graphicsQueue;
DxvkAdapterQueueIndices queues;

View File

@ -4,6 +4,7 @@ namespace dxvk {
DxvkOptions::DxvkOptions(const Config& config) {
enableStateCache = config.getOption<bool> ("dxvk.enableStateCache", true);
enableTransferQueue = config.getOption<bool> ("dxvk.enableTransferQueue", true);
numCompilerThreads = config.getOption<int32_t> ("dxvk.numCompilerThreads", 0);
useRawSsbo = config.getOption<Tristate>("dxvk.useRawSsbo", Tristate::Auto);
useEarlyDiscard = config.getOption<Tristate>("dxvk.useEarlyDiscard", Tristate::Auto);

View File

@ -11,6 +11,9 @@ namespace dxvk {
/// Enable state cache
bool enableStateCache;
/// Use transfer queue if available
bool enableTransferQueue;
/// Number of compiler threads
/// when using the state cache
int32_t numCompilerThreads;