mirror of
https://github.com/doitsujin/dxvk.git
synced 2025-03-13 19:29:14 +01:00
[dxvk] Replace VK_KHR_shader_float_controls with core feature
This commit is contained in:
parent
000e3cb960
commit
78c5ef88bc
@ -49,20 +49,20 @@ namespace dxvk {
|
||||
|
||||
// Figure out float control flags to match D3D11 rules
|
||||
if (options.floatControls) {
|
||||
if (devInfo.khrShaderFloatControls.shaderSignedZeroInfNanPreserveFloat32)
|
||||
if (devInfo.vk12.shaderSignedZeroInfNanPreserveFloat32)
|
||||
floatControl.set(DxbcFloatControlFlag::PreserveNan32);
|
||||
if (devInfo.khrShaderFloatControls.shaderSignedZeroInfNanPreserveFloat64)
|
||||
if (devInfo.vk12.shaderSignedZeroInfNanPreserveFloat64)
|
||||
floatControl.set(DxbcFloatControlFlag::PreserveNan64);
|
||||
|
||||
if (devInfo.khrShaderFloatControls.denormBehaviorIndependence != VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE) {
|
||||
if (devInfo.khrShaderFloatControls.shaderDenormFlushToZeroFloat32)
|
||||
if (devInfo.vk12.denormBehaviorIndependence != VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE) {
|
||||
if (devInfo.vk12.shaderDenormFlushToZeroFloat32)
|
||||
floatControl.set(DxbcFloatControlFlag::DenormFlushToZero32);
|
||||
if (devInfo.khrShaderFloatControls.shaderDenormPreserveFloat64)
|
||||
if (devInfo.vk12.shaderDenormPreserveFloat64)
|
||||
floatControl.set(DxbcFloatControlFlag::DenormPreserve64);
|
||||
}
|
||||
}
|
||||
|
||||
if (!devInfo.khrShaderFloatControls.shaderSignedZeroInfNanPreserveFloat32
|
||||
if (!devInfo.vk12.shaderSignedZeroInfNanPreserveFloat32
|
||||
|| adapter->matchesDriver(DxvkGpuVendor::Amd, VK_DRIVER_ID_MESA_RADV_KHR, 0, VK_MAKE_VERSION(20, 3, 0)))
|
||||
enableRtOutputNanFixup = true;
|
||||
}
|
||||
|
@ -283,7 +283,7 @@ namespace dxvk {
|
||||
DxvkDeviceFeatures enabledFeatures) {
|
||||
DxvkDeviceExtensions devExtensions;
|
||||
|
||||
std::array<DxvkExt*, 27> devExtensionList = {{
|
||||
std::array<DxvkExt*, 26> devExtensionList = {{
|
||||
&devExtensions.amdMemoryOverallocationBehaviour,
|
||||
&devExtensions.amdShaderFragmentMask,
|
||||
&devExtensions.ext4444Formats,
|
||||
@ -307,7 +307,6 @@ namespace dxvk {
|
||||
&devExtensions.khrDynamicRendering,
|
||||
&devExtensions.khrExternalMemoryWin32,
|
||||
&devExtensions.khrPipelineLibrary,
|
||||
&devExtensions.khrShaderFloatControls,
|
||||
&devExtensions.khrSwapchain,
|
||||
&devExtensions.nvxBinaryImport,
|
||||
&devExtensions.nvxImageViewHandle,
|
||||
@ -665,11 +664,6 @@ namespace dxvk {
|
||||
m_deviceInfo.khrDeviceDriverProperties.pNext = std::exchange(m_deviceInfo.core.pNext, &m_deviceInfo.khrDeviceDriverProperties);
|
||||
}
|
||||
|
||||
if (m_deviceExtensions.supports(VK_KHR_SHADER_FLOAT_CONTROLS_EXTENSION_NAME)) {
|
||||
m_deviceInfo.khrShaderFloatControls.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES_KHR;
|
||||
m_deviceInfo.khrShaderFloatControls.pNext = std::exchange(m_deviceInfo.core.pNext, &m_deviceInfo.khrShaderFloatControls);
|
||||
}
|
||||
|
||||
// Query full device properties for all enabled extensions
|
||||
m_vki->vkGetPhysicalDeviceProperties2(m_handle, &m_deviceInfo.core);
|
||||
|
||||
|
@ -23,7 +23,6 @@ namespace dxvk {
|
||||
VkPhysicalDeviceTransformFeedbackPropertiesEXT extTransformFeedback;
|
||||
VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT extVertexAttributeDivisor;
|
||||
VkPhysicalDeviceDriverPropertiesKHR khrDeviceDriverProperties;
|
||||
VkPhysicalDeviceFloatControlsPropertiesKHR khrShaderFloatControls;
|
||||
};
|
||||
|
||||
|
||||
|
@ -299,7 +299,6 @@ namespace dxvk {
|
||||
DxvkExt khrDynamicRendering = { VK_KHR_DYNAMIC_RENDERING_EXTENSION_NAME, DxvkExtMode::Required };
|
||||
DxvkExt khrExternalMemoryWin32 = { VK_KHR_EXTERNAL_MEMORY_WIN32_EXTENSION_NAME, DxvkExtMode::Optional };
|
||||
DxvkExt khrPipelineLibrary = { VK_KHR_PIPELINE_LIBRARY_EXTENSION_NAME, DxvkExtMode::Optional };
|
||||
DxvkExt khrShaderFloatControls = { VK_KHR_SHADER_FLOAT_CONTROLS_EXTENSION_NAME, DxvkExtMode::Optional };
|
||||
DxvkExt khrSwapchain = { VK_KHR_SWAPCHAIN_EXTENSION_NAME, DxvkExtMode::Required };
|
||||
DxvkExt nvxBinaryImport = { VK_NVX_BINARY_IMPORT_EXTENSION_NAME, DxvkExtMode::Disabled };
|
||||
DxvkExt nvxImageViewHandle = { VK_NVX_IMAGE_VIEW_HANDLE_EXTENSION_NAME, DxvkExtMode::Disabled };
|
||||
|
Loading…
x
Reference in New Issue
Block a user