1
0
mirror of https://github.com/doitsujin/dxvk.git synced 2025-01-31 14:52:11 +01:00

[dxvk] Add support for passive device extensions

These extensions only affect physical device functionality and
do not have to be enabled during device creation.
This commit is contained in:
Philip Rebohle 2019-07-03 10:59:48 +02:00
parent cb806a5d56
commit f21c02caef
No known key found for this signature in database
GPG Key ID: C8CC613427A31C99
2 changed files with 13 additions and 9 deletions

View File

@ -38,17 +38,20 @@ namespace dxvk {
for (uint32_t i = 0; i < numExtensions; i++) { for (uint32_t i = 0; i < numExtensions; i++) {
DxvkExt* ext = ppExtensions[i]; DxvkExt* ext = ppExtensions[i];
if (ext->mode() != DxvkExtMode::Disabled) { if (ext->mode() == DxvkExtMode::Disabled)
uint32_t revision = supports(ext->name()); continue;
uint32_t revision = supports(ext->name());
if (revision != 0) { if (revision) {
if (ext->mode() != DxvkExtMode::Passive)
nameSet.add(ext->name()); nameSet.add(ext->name());
ext->enable(revision);
} else if (ext->mode() == DxvkExtMode::Required) { ext->enable(revision);
Logger::info(str::format( } else if (ext->mode() == DxvkExtMode::Required) {
"Required Vulkan extension ", ext->name(), " not supported")); Logger::info(str::format("Required Vulkan extension ", ext->name(), " not supported"));
allRequiredEnabled = false; allRequiredEnabled = false;
} continue;
} }
} }

View File

@ -17,6 +17,7 @@ namespace dxvk {
Disabled, Disabled,
Optional, Optional,
Required, Required,
Passive,
}; };