mirror of
https://github.com/doitsujin/dxvk.git
synced 2025-04-01 09:25:24 +02: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))
|
if (m_deviceExtensions.supports(VK_KHR_EXTERNAL_SEMAPHORE_WIN32_EXTENSION_NAME))
|
||||||
m_deviceFeatures.khrExternalSemaphoreWin32 = VK_TRUE;
|
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)) {
|
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.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_FEATURES_KHR;
|
||||||
m_deviceFeatures.khrMaintenance5.pNext = std::exchange(m_deviceFeatures.core.pNext, &m_deviceFeatures.khrMaintenance5);
|
m_deviceFeatures.khrMaintenance5.pNext = std::exchange(m_deviceFeatures.core.pNext, &m_deviceFeatures.khrMaintenance5);
|
||||||
@ -1074,6 +1077,7 @@ namespace dxvk {
|
|||||||
&devExtensions.extVertexAttributeDivisor,
|
&devExtensions.extVertexAttributeDivisor,
|
||||||
&devExtensions.khrExternalMemoryWin32,
|
&devExtensions.khrExternalMemoryWin32,
|
||||||
&devExtensions.khrExternalSemaphoreWin32,
|
&devExtensions.khrExternalSemaphoreWin32,
|
||||||
|
&devExtensions.khrLoadStoreOpNone,
|
||||||
&devExtensions.khrMaintenance5,
|
&devExtensions.khrMaintenance5,
|
||||||
&devExtensions.khrMaintenance7,
|
&devExtensions.khrMaintenance7,
|
||||||
&devExtensions.khrPipelineLibrary,
|
&devExtensions.khrPipelineLibrary,
|
||||||
@ -1219,6 +1223,9 @@ namespace dxvk {
|
|||||||
if (devExtensions.khrExternalSemaphoreWin32)
|
if (devExtensions.khrExternalSemaphoreWin32)
|
||||||
enabledFeatures.khrExternalSemaphoreWin32 = VK_TRUE;
|
enabledFeatures.khrExternalSemaphoreWin32 = VK_TRUE;
|
||||||
|
|
||||||
|
if (devExtensions.khrLoadStoreOpNone)
|
||||||
|
enabledFeatures.khrLoadStoreOpNone = VK_TRUE;
|
||||||
|
|
||||||
if (devExtensions.khrMaintenance5) {
|
if (devExtensions.khrMaintenance5) {
|
||||||
enabledFeatures.khrMaintenance5.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_FEATURES_KHR;
|
enabledFeatures.khrMaintenance5.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_FEATURES_KHR;
|
||||||
enabledFeatures.khrMaintenance5.pNext = std::exchange(enabledFeatures.core.pNext, &enabledFeatures.khrMaintenance5);
|
enabledFeatures.khrMaintenance5.pNext = std::exchange(enabledFeatures.core.pNext, &enabledFeatures.khrMaintenance5);
|
||||||
@ -1400,6 +1407,8 @@ namespace dxvk {
|
|||||||
"\n extension supported : " << (features.khrExternalMemoryWin32 ? "1" : "0") <<
|
"\n extension supported : " << (features.khrExternalMemoryWin32 ? "1" : "0") <<
|
||||||
"\n" << VK_KHR_EXTERNAL_SEMAPHORE_WIN32_EXTENSION_NAME <<
|
"\n" << VK_KHR_EXTERNAL_SEMAPHORE_WIN32_EXTENSION_NAME <<
|
||||||
"\n extension supported : " << (features.khrExternalSemaphoreWin32 ? "1" : "0") <<
|
"\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" << VK_KHR_MAINTENANCE_5_EXTENSION_NAME <<
|
||||||
"\n maintenance5 : " << (features.khrMaintenance5.maintenance5 ? "1" : "0") <<
|
"\n maintenance5 : " << (features.khrMaintenance5.maintenance5 ? "1" : "0") <<
|
||||||
"\n" << VK_KHR_MAINTENANCE_7_EXTENSION_NAME <<
|
"\n" << VK_KHR_MAINTENANCE_7_EXTENSION_NAME <<
|
||||||
|
@ -72,6 +72,7 @@ namespace dxvk {
|
|||||||
VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT extVertexAttributeDivisor;
|
VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT extVertexAttributeDivisor;
|
||||||
VkBool32 khrExternalMemoryWin32;
|
VkBool32 khrExternalMemoryWin32;
|
||||||
VkBool32 khrExternalSemaphoreWin32;
|
VkBool32 khrExternalSemaphoreWin32;
|
||||||
|
VkBool32 khrLoadStoreOpNone;
|
||||||
VkPhysicalDeviceMaintenance5FeaturesKHR khrMaintenance5;
|
VkPhysicalDeviceMaintenance5FeaturesKHR khrMaintenance5;
|
||||||
VkPhysicalDeviceMaintenance7FeaturesKHR khrMaintenance7;
|
VkPhysicalDeviceMaintenance7FeaturesKHR khrMaintenance7;
|
||||||
VkPhysicalDevicePresentIdFeaturesKHR khrPresentId;
|
VkPhysicalDevicePresentIdFeaturesKHR khrPresentId;
|
||||||
|
@ -321,6 +321,7 @@ namespace dxvk {
|
|||||||
DxvkExt extVertexAttributeDivisor = { VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME, DxvkExtMode::Optional };
|
DxvkExt extVertexAttributeDivisor = { VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME, DxvkExtMode::Optional };
|
||||||
DxvkExt khrExternalMemoryWin32 = { VK_KHR_EXTERNAL_MEMORY_WIN32_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 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 khrMaintenance5 = { VK_KHR_MAINTENANCE_5_EXTENSION_NAME, DxvkExtMode::Optional };
|
||||||
DxvkExt khrMaintenance7 = { VK_KHR_MAINTENANCE_7_EXTENSION_NAME, DxvkExtMode::Optional };
|
DxvkExt khrMaintenance7 = { VK_KHR_MAINTENANCE_7_EXTENSION_NAME, DxvkExtMode::Optional };
|
||||||
DxvkExt khrPipelineLibrary = { VK_KHR_PIPELINE_LIBRARY_EXTENSION_NAME, DxvkExtMode::Optional };
|
DxvkExt khrPipelineLibrary = { VK_KHR_PIPELINE_LIBRARY_EXTENSION_NAME, DxvkExtMode::Optional };
|
||||||
|
Loading…
x
Reference in New Issue
Block a user