1
0
mirror of https://github.com/doitsujin/dxvk.git synced 2025-03-03 07:29:14 +01:00

[d3d9] Determine DF format support in the options parser

This commit is contained in:
WinterSnowfall 2024-05-22 00:51:58 +03:00 committed by Philip Rebohle
parent 07d007c642
commit a1ce690c5c
2 changed files with 4 additions and 8 deletions

View File

@ -438,11 +438,7 @@ namespace dxvk {
D3D9VkFormatTable::D3D9VkFormatTable( D3D9VkFormatTable::D3D9VkFormatTable(
const Rc<DxvkAdapter>& adapter, const Rc<DxvkAdapter>& adapter,
const D3D9Options& options) { const D3D9Options& options) {
m_dfSupport = options.supportDFFormats;
const auto& props = adapter->deviceProperties();
uint32_t vendorId = options.customVendorId == -1 ? props.vendorID : uint32_t(options.customVendorId);
m_dfSupport = options.supportDFFormats && DxvkGpuVendor(vendorId) != DxvkGpuVendor::Nvidia;
m_x4r4g4b4Support = options.supportX4R4G4B4; m_x4r4g4b4Support = options.supportX4R4G4B4;
m_d32supportFinal = options.supportD32; m_d32supportFinal = options.supportD32;

View File

@ -37,7 +37,7 @@ namespace dxvk {
this->customDeviceId = parsePciId(config.getOption<std::string>("d3d9.customDeviceId")); this->customDeviceId = parsePciId(config.getOption<std::string>("d3d9.customDeviceId"));
this->customDeviceDesc = config.getOption<std::string>("d3d9.customDeviceDesc"); this->customDeviceDesc = config.getOption<std::string>("d3d9.customDeviceDesc");
const int32_t vendorId = this->customVendorId != -1 const uint32_t vendorId = this->customVendorId != -1
? this->customVendorId ? this->customVendorId
: (adapter != nullptr ? adapter->deviceProperties().vendorID : 0); : (adapter != nullptr ? adapter->deviceProperties().vendorID : 0);
@ -53,14 +53,14 @@ namespace dxvk {
this->deferSurfaceCreation = config.getOption<bool> ("d3d9.deferSurfaceCreation", false); this->deferSurfaceCreation = config.getOption<bool> ("d3d9.deferSurfaceCreation", false);
this->samplerAnisotropy = config.getOption<int32_t> ("d3d9.samplerAnisotropy", -1); this->samplerAnisotropy = config.getOption<int32_t> ("d3d9.samplerAnisotropy", -1);
this->maxAvailableMemory = config.getOption<int32_t> ("d3d9.maxAvailableMemory", 4096); this->maxAvailableMemory = config.getOption<int32_t> ("d3d9.maxAvailableMemory", 4096);
this->supportDFFormats = config.getOption<bool> ("d3d9.supportDFFormats", true); this->supportDFFormats = config.getOption<bool> ("d3d9.supportDFFormats", vendorId != uint32_t(DxvkGpuVendor::Nvidia));
this->supportX4R4G4B4 = config.getOption<bool> ("d3d9.supportX4R4G4B4", true); this->supportX4R4G4B4 = config.getOption<bool> ("d3d9.supportX4R4G4B4", true);
this->supportD32 = config.getOption<bool> ("d3d9.supportD32", true); this->supportD32 = config.getOption<bool> ("d3d9.supportD32", true);
this->useD32forD24 = config.getOption<bool> ("d3d9.useD32forD24", false); this->useD32forD24 = config.getOption<bool> ("d3d9.useD32forD24", false);
this->disableA8RT = config.getOption<bool> ("d3d9.disableA8RT", false); this->disableA8RT = config.getOption<bool> ("d3d9.disableA8RT", false);
this->invariantPosition = config.getOption<bool> ("d3d9.invariantPosition", true); this->invariantPosition = config.getOption<bool> ("d3d9.invariantPosition", true);
this->memoryTrackTest = config.getOption<bool> ("d3d9.memoryTrackTest", false); this->memoryTrackTest = config.getOption<bool> ("d3d9.memoryTrackTest", false);
this->supportVCache = config.getOption<bool> ("d3d9.supportVCache", vendorId == 0x10de); this->supportVCache = config.getOption<bool> ("d3d9.supportVCache", vendorId == uint32_t(DxvkGpuVendor::Nvidia));
this->enableDialogMode = config.getOption<bool> ("d3d9.enableDialogMode", false); this->enableDialogMode = config.getOption<bool> ("d3d9.enableDialogMode", false);
this->forceSamplerTypeSpecConstants = config.getOption<bool> ("d3d9.forceSamplerTypeSpecConstants", false); this->forceSamplerTypeSpecConstants = config.getOption<bool> ("d3d9.forceSamplerTypeSpecConstants", false);
this->forceSwapchainMSAA = config.getOption<int32_t> ("d3d9.forceSwapchainMSAA", -1); this->forceSwapchainMSAA = config.getOption<int32_t> ("d3d9.forceSwapchainMSAA", -1);