1
0
mirror of https://github.com/EduApps-CDG/OpenDX synced 2024-12-30 09:45:37 +01:00
OpenDX/src/dxbc/dxbc_options.cpp
Philip Rebohle 4f76b89941
[dxbc] Use subgroup operations for early discard
Can improve performance in some complex fragment shaders.
2018-11-21 11:17:09 +01:00

24 lines
687 B
C++

#include <unordered_map>
#include "dxbc_options.h"
namespace dxvk {
DxbcOptions::DxbcOptions() {
}
DxbcOptions::DxbcOptions(const Rc<DxvkDevice>& device) {
const DxvkDeviceFeatures& devFeatures = device->features();
const DxvkDeviceInfo& devInfo = device->adapter()->devicePropertiesExt();
useStorageImageReadWithoutFormat
= devFeatures.core.features.shaderStorageImageReadWithoutFormat;
useSubgroupOpsForEarlyDiscard
= (devInfo.coreSubgroup.subgroupSize >= 4)
&& (devInfo.coreSubgroup.supportedStages & VK_SHADER_STAGE_FRAGMENT_BIT)
&& (devInfo.coreSubgroup.supportedOperations & VK_SUBGROUP_FEATURE_ARITHMETIC_BIT);
}
}