mirror of
https://github.com/doitsujin/dxvk.git
synced 2025-01-31 14:52:11 +01:00
[dxvk] Remove shrinkNvidiaHVVHeap workaround
No longer needed.
This commit is contained in:
parent
3edb0ef114
commit
67f937111d
13
dxvk.conf
13
dxvk.conf
@ -259,19 +259,6 @@
|
|||||||
# dxvk.useRawSsbo = Auto
|
# dxvk.useRawSsbo = Auto
|
||||||
|
|
||||||
|
|
||||||
# Controls Nvidia HVV behaviour.
|
|
||||||
#
|
|
||||||
# Restricts use of the host-visible, device-local heap on Nvidia drivers.
|
|
||||||
# This is used to avoid NVIDIA driver bug 3114283 on affected drivers, as
|
|
||||||
# well as in specific games on newer drivers.
|
|
||||||
#
|
|
||||||
# Supported values:
|
|
||||||
# - True: Restrict HVV usage
|
|
||||||
# - False: Do not restrict HVV usage
|
|
||||||
|
|
||||||
# dxvk.shrinkNvidiaHvvHeap = False
|
|
||||||
|
|
||||||
|
|
||||||
# Controls graphics pipeline library behaviour
|
# Controls graphics pipeline library behaviour
|
||||||
#
|
#
|
||||||
# Can be used to change VK_EXT_graphics_pipeline_library usage for
|
# Can be used to change VK_EXT_graphics_pipeline_library usage for
|
||||||
|
@ -202,30 +202,6 @@ namespace dxvk {
|
|||||||
m_memTypes[i].memType = m_memProps.memoryTypes[i];
|
m_memTypes[i].memType = m_memProps.memoryTypes[i];
|
||||||
m_memTypes[i].memTypeId = i;
|
m_memTypes[i].memTypeId = i;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Check what kind of heap the HVV memory type is on, if any. If the
|
|
||||||
* HVV memory type is on the largest device-local heap, we either have
|
|
||||||
* an UMA system or an RBAR-enabled system. Otherwise, there will likely
|
|
||||||
* be a separate, smaller heap for it. */
|
|
||||||
VkDeviceSize largestDeviceLocalHeap = 0;
|
|
||||||
|
|
||||||
for (uint32_t i = 0; i < m_memProps.memoryTypeCount; i++) {
|
|
||||||
if (m_memTypes[i].memType.propertyFlags & VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT)
|
|
||||||
largestDeviceLocalHeap = std::max(largestDeviceLocalHeap, m_memTypes[i].heap->properties.size);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Work around an issue on Nvidia drivers where using the
|
|
||||||
* entire HVV heap can cause slowdowns in specific games */
|
|
||||||
if (device->adapter()->matchesDriver(VK_DRIVER_ID_NVIDIA_PROPRIETARY_KHR, 0, 0)
|
|
||||||
&& device->config().shrinkNvidiaHvvHeap) {
|
|
||||||
for (uint32_t i = 0; i < m_memProps.memoryTypeCount; i++) {
|
|
||||||
VkMemoryPropertyFlags hvvFlags = VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT | VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT;
|
|
||||||
|
|
||||||
if ((m_memTypes[i].memType.propertyFlags & hvvFlags) == hvvFlags
|
|
||||||
&& (m_memTypes[i].heap->properties.size < largestDeviceLocalHeap))
|
|
||||||
m_memTypes[i].heap->budget = 32 << 20;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -9,7 +9,6 @@ namespace dxvk {
|
|||||||
enableGraphicsPipelineLibrary = config.getOption<Tristate>("dxvk.enableGraphicsPipelineLibrary", Tristate::Auto);
|
enableGraphicsPipelineLibrary = config.getOption<Tristate>("dxvk.enableGraphicsPipelineLibrary", Tristate::Auto);
|
||||||
trackPipelineLifetime = config.getOption<Tristate>("dxvk.trackPipelineLifetime", Tristate::Auto);
|
trackPipelineLifetime = config.getOption<Tristate>("dxvk.trackPipelineLifetime", Tristate::Auto);
|
||||||
useRawSsbo = config.getOption<Tristate>("dxvk.useRawSsbo", Tristate::Auto);
|
useRawSsbo = config.getOption<Tristate>("dxvk.useRawSsbo", Tristate::Auto);
|
||||||
shrinkNvidiaHvvHeap = config.getOption<bool> ("dxvk.shrinkNvidiaHvvHeap", false);
|
|
||||||
hud = config.getOption<std::string>("dxvk.hud", "");
|
hud = config.getOption<std::string>("dxvk.hud", "");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -27,9 +27,6 @@ namespace dxvk {
|
|||||||
/// Shader-related options
|
/// Shader-related options
|
||||||
Tristate useRawSsbo;
|
Tristate useRawSsbo;
|
||||||
|
|
||||||
/// Workaround for NVIDIA driver bug 3114283
|
|
||||||
bool shrinkNvidiaHvvHeap;
|
|
||||||
|
|
||||||
/// HUD elements
|
/// HUD elements
|
||||||
std::string hud;
|
std::string hud;
|
||||||
};
|
};
|
||||||
|
@ -237,9 +237,9 @@ namespace dxvk {
|
|||||||
{ R"(\\MarySkelter2\.exe$)", {{
|
{ R"(\\MarySkelter2\.exe$)", {{
|
||||||
{ "d3d11.disableMsaa", "True" },
|
{ "d3d11.disableMsaa", "True" },
|
||||||
}} },
|
}} },
|
||||||
/* Final Fantasy XIV - Stuttering on NV */
|
/* Final Fantasy XIV: Uses lots of HVV and *
|
||||||
|
* also reads some uncached memory. */
|
||||||
{ R"(\\ffxiv_dx11\.exe$)", {{
|
{ R"(\\ffxiv_dx11\.exe$)", {{
|
||||||
{ "dxvk.shrinkNvidiaHvvHeap", "True" },
|
|
||||||
{ "d3d11.cachedDynamicResources", "vi" },
|
{ "d3d11.cachedDynamicResources", "vi" },
|
||||||
}} },
|
}} },
|
||||||
/* God of War - relies on NVAPI/AMDAGS for *
|
/* God of War - relies on NVAPI/AMDAGS for *
|
||||||
|
Loading…
x
Reference in New Issue
Block a user