mirror of
https://github.com/doitsujin/dxvk.git
synced 2024-12-03 13:24:20 +01:00
[dxbc] Check for RADV/Nvidia drivers explicitly using the new function
This way, only RADV gets locked out of using early discard whereas AMDVLK and -PRO are able to use it.
This commit is contained in:
parent
598280dc3f
commit
f276bcd0e7
@ -10,8 +10,10 @@ namespace dxvk {
|
|||||||
|
|
||||||
|
|
||||||
DxbcOptions::DxbcOptions(const Rc<DxvkDevice>& device, const D3D11Options& options) {
|
DxbcOptions::DxbcOptions(const Rc<DxvkDevice>& device, const D3D11Options& options) {
|
||||||
|
const Rc<DxvkAdapter> adapter = device->adapter();
|
||||||
|
|
||||||
const DxvkDeviceFeatures& devFeatures = device->features();
|
const DxvkDeviceFeatures& devFeatures = device->features();
|
||||||
const DxvkDeviceInfo& devInfo = device->adapter()->devicePropertiesExt();
|
const DxvkDeviceInfo& devInfo = adapter->devicePropertiesExt();
|
||||||
|
|
||||||
useStorageImageReadWithoutFormat
|
useStorageImageReadWithoutFormat
|
||||||
= devFeatures.core.features.shaderStorageImageReadWithoutFormat;
|
= devFeatures.core.features.shaderStorageImageReadWithoutFormat;
|
||||||
@ -24,10 +26,8 @@ namespace dxvk {
|
|||||||
|
|
||||||
// Disable early discard on AMD due to GPU hangs
|
// Disable early discard on AMD due to GPU hangs
|
||||||
// Disable early discard on Nvidia because it may hurt performance
|
// Disable early discard on Nvidia because it may hurt performance
|
||||||
auto vendor = DxvkGpuVendor(devInfo.core.properties.vendorID);
|
if (adapter->matchesDriver(DxvkGpuVendor::Amd, VK_DRIVER_ID_MESA_RADV_KHR, 0, 0)
|
||||||
|
|| adapter->matchesDriver(DxvkGpuVendor::Nvidia, VK_DRIVER_ID_NVIDIA_PROPRIETARY_KHR, 0, 0))
|
||||||
if (vendor == DxvkGpuVendor::Amd
|
|
||||||
|| vendor == DxvkGpuVendor::Nvidia)
|
|
||||||
useSubgroupOpsForEarlyDiscard = false;
|
useSubgroupOpsForEarlyDiscard = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user