mirror of
https://github.com/doitsujin/dxvk.git
synced 2025-03-28 02:19:26 +01:00
[dxvk] Enable VK_KHR_load_store_op_none if available
STORE_OP_NONE is a core feature in 1.3, but LOAD_OP_NONE is not.
This commit is contained in:
parent
e6ef72b63d
commit
d6208bba65
@ -981,6 +981,9 @@ namespace dxvk {
|
||||
if (m_deviceExtensions.supports(VK_KHR_EXTERNAL_SEMAPHORE_WIN32_EXTENSION_NAME))
|
||||
m_deviceFeatures.khrExternalSemaphoreWin32 = VK_TRUE;
|
||||
|
||||
if (m_deviceExtensions.supports(VK_KHR_LOAD_STORE_OP_NONE_EXTENSION_NAME))
|
||||
m_deviceFeatures.khrLoadStoreOpNone = VK_TRUE;
|
||||
|
||||
if (m_deviceExtensions.supports(VK_KHR_MAINTENANCE_5_EXTENSION_NAME)) {
|
||||
m_deviceFeatures.khrMaintenance5.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_FEATURES_KHR;
|
||||
m_deviceFeatures.khrMaintenance5.pNext = std::exchange(m_deviceFeatures.core.pNext, &m_deviceFeatures.khrMaintenance5);
|
||||
@ -1074,6 +1077,7 @@ namespace dxvk {
|
||||
&devExtensions.extVertexAttributeDivisor,
|
||||
&devExtensions.khrExternalMemoryWin32,
|
||||
&devExtensions.khrExternalSemaphoreWin32,
|
||||
&devExtensions.khrLoadStoreOpNone,
|
||||
&devExtensions.khrMaintenance5,
|
||||
&devExtensions.khrMaintenance7,
|
||||
&devExtensions.khrPipelineLibrary,
|
||||
@ -1219,6 +1223,9 @@ namespace dxvk {
|
||||
if (devExtensions.khrExternalSemaphoreWin32)
|
||||
enabledFeatures.khrExternalSemaphoreWin32 = VK_TRUE;
|
||||
|
||||
if (devExtensions.khrLoadStoreOpNone)
|
||||
enabledFeatures.khrLoadStoreOpNone = VK_TRUE;
|
||||
|
||||
if (devExtensions.khrMaintenance5) {
|
||||
enabledFeatures.khrMaintenance5.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_FEATURES_KHR;
|
||||
enabledFeatures.khrMaintenance5.pNext = std::exchange(enabledFeatures.core.pNext, &enabledFeatures.khrMaintenance5);
|
||||
@ -1400,6 +1407,8 @@ namespace dxvk {
|
||||
"\n extension supported : " << (features.khrExternalMemoryWin32 ? "1" : "0") <<
|
||||
"\n" << VK_KHR_EXTERNAL_SEMAPHORE_WIN32_EXTENSION_NAME <<
|
||||
"\n extension supported : " << (features.khrExternalSemaphoreWin32 ? "1" : "0") <<
|
||||
"\n" << VK_KHR_LOAD_STORE_OP_NONE_EXTENSION_NAME <<
|
||||
"\n extension supported : " << (features.khrLoadStoreOpNone ? "1" : "0") <<
|
||||
"\n" << VK_KHR_MAINTENANCE_5_EXTENSION_NAME <<
|
||||
"\n maintenance5 : " << (features.khrMaintenance5.maintenance5 ? "1" : "0") <<
|
||||
"\n" << VK_KHR_MAINTENANCE_7_EXTENSION_NAME <<
|
||||
|
@ -72,6 +72,7 @@ namespace dxvk {
|
||||
VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT extVertexAttributeDivisor;
|
||||
VkBool32 khrExternalMemoryWin32;
|
||||
VkBool32 khrExternalSemaphoreWin32;
|
||||
VkBool32 khrLoadStoreOpNone;
|
||||
VkPhysicalDeviceMaintenance5FeaturesKHR khrMaintenance5;
|
||||
VkPhysicalDeviceMaintenance7FeaturesKHR khrMaintenance7;
|
||||
VkPhysicalDevicePresentIdFeaturesKHR khrPresentId;
|
||||
|
@ -321,6 +321,7 @@ namespace dxvk {
|
||||
DxvkExt extVertexAttributeDivisor = { VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME, DxvkExtMode::Optional };
|
||||
DxvkExt khrExternalMemoryWin32 = { VK_KHR_EXTERNAL_MEMORY_WIN32_EXTENSION_NAME, DxvkExtMode::Optional };
|
||||
DxvkExt khrExternalSemaphoreWin32 = { VK_KHR_EXTERNAL_SEMAPHORE_WIN32_EXTENSION_NAME, DxvkExtMode::Optional };
|
||||
DxvkExt khrLoadStoreOpNone = { VK_KHR_LOAD_STORE_OP_NONE_EXTENSION_NAME, DxvkExtMode::Optional };
|
||||
DxvkExt khrMaintenance5 = { VK_KHR_MAINTENANCE_5_EXTENSION_NAME, DxvkExtMode::Optional };
|
||||
DxvkExt khrMaintenance7 = { VK_KHR_MAINTENANCE_7_EXTENSION_NAME, DxvkExtMode::Optional };
|
||||
DxvkExt khrPipelineLibrary = { VK_KHR_PIPELINE_LIBRARY_EXTENSION_NAME, DxvkExtMode::Optional };
|
||||
|
Loading…
x
Reference in New Issue
Block a user