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:
parent
cb806a5d56
commit
f21c02caef
@ -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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -17,6 +17,7 @@ namespace dxvk {
|
|||||||
Disabled,
|
Disabled,
|
||||||
Optional,
|
Optional,
|
||||||
Required,
|
Required,
|
||||||
|
Passive,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user