mirror of
https://github.com/doitsujin/dxvk.git
synced 2025-02-27 04:54:15 +01:00
[dxvk] Enable VK_EXT_swapchain_colorspace
This commit is contained in:
parent
33acf58ac7
commit
4335eccae9
@ -185,7 +185,8 @@
|
|||||||
"VK_EXT_memory_priority": 1,
|
"VK_EXT_memory_priority": 1,
|
||||||
"VK_EXT_vertex_attribute_divisor": 1,
|
"VK_EXT_vertex_attribute_divisor": 1,
|
||||||
"VK_EXT_custom_border_color": 1,
|
"VK_EXT_custom_border_color": 1,
|
||||||
"VK_EXT_depth_clip_enable": 1
|
"VK_EXT_depth_clip_enable": 1,
|
||||||
|
"VK_EXT_swapchain_colorspace": 1
|
||||||
},
|
},
|
||||||
"features": {
|
"features": {
|
||||||
"VkPhysicalDeviceFeatures": {
|
"VkPhysicalDeviceFeatures": {
|
||||||
@ -385,6 +386,12 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"history": [
|
"history": [
|
||||||
|
{
|
||||||
|
"revision": 4,
|
||||||
|
"date": "2022-12-18",
|
||||||
|
"author": "Joshua Ashton",
|
||||||
|
"comment": "Add VK_EXT_swapchain_colorspace to d3d11_baseline_optional"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"revision": 3,
|
"revision": 3,
|
||||||
"date": "2022-10-13",
|
"date": "2022-10-13",
|
||||||
|
@ -316,6 +316,8 @@ namespace dxvk {
|
|||||||
|| !required.extShaderModuleIdentifier.shaderModuleIdentifier)
|
|| !required.extShaderModuleIdentifier.shaderModuleIdentifier)
|
||||||
&& (m_deviceFeatures.extShaderStencilExport
|
&& (m_deviceFeatures.extShaderStencilExport
|
||||||
|| !required.extShaderStencilExport)
|
|| !required.extShaderStencilExport)
|
||||||
|
&& (m_deviceFeatures.extShaderStencilExport
|
||||||
|
|| !required.extSwapchainColorSpace)
|
||||||
&& (m_deviceFeatures.extTransformFeedback.transformFeedback
|
&& (m_deviceFeatures.extTransformFeedback.transformFeedback
|
||||||
|| !required.extTransformFeedback.transformFeedback)
|
|| !required.extTransformFeedback.transformFeedback)
|
||||||
&& (m_deviceFeatures.extVertexAttributeDivisor.vertexAttributeInstanceRateDivisor
|
&& (m_deviceFeatures.extVertexAttributeDivisor.vertexAttributeInstanceRateDivisor
|
||||||
@ -335,7 +337,7 @@ namespace dxvk {
|
|||||||
DxvkDeviceFeatures enabledFeatures) {
|
DxvkDeviceFeatures enabledFeatures) {
|
||||||
DxvkDeviceExtensions devExtensions;
|
DxvkDeviceExtensions devExtensions;
|
||||||
|
|
||||||
std::array<DxvkExt*, 24> devExtensionList = {{
|
std::array<DxvkExt*, 25> devExtensionList = {{
|
||||||
&devExtensions.amdMemoryOverallocationBehaviour,
|
&devExtensions.amdMemoryOverallocationBehaviour,
|
||||||
&devExtensions.amdShaderFragmentMask,
|
&devExtensions.amdShaderFragmentMask,
|
||||||
&devExtensions.extAttachmentFeedbackLoopLayout,
|
&devExtensions.extAttachmentFeedbackLoopLayout,
|
||||||
@ -352,6 +354,7 @@ namespace dxvk {
|
|||||||
&devExtensions.extRobustness2,
|
&devExtensions.extRobustness2,
|
||||||
&devExtensions.extShaderModuleIdentifier,
|
&devExtensions.extShaderModuleIdentifier,
|
||||||
&devExtensions.extShaderStencilExport,
|
&devExtensions.extShaderStencilExport,
|
||||||
|
&devExtensions.extSwapchainColorSpace,
|
||||||
&devExtensions.extTransformFeedback,
|
&devExtensions.extTransformFeedback,
|
||||||
&devExtensions.extVertexAttributeDivisor,
|
&devExtensions.extVertexAttributeDivisor,
|
||||||
&devExtensions.khrExternalMemoryWin32,
|
&devExtensions.khrExternalMemoryWin32,
|
||||||
@ -537,6 +540,9 @@ namespace dxvk {
|
|||||||
if (devExtensions.extShaderStencilExport)
|
if (devExtensions.extShaderStencilExport)
|
||||||
enabledFeatures.extShaderStencilExport = VK_TRUE;
|
enabledFeatures.extShaderStencilExport = VK_TRUE;
|
||||||
|
|
||||||
|
if (devExtensions.extSwapchainColorSpace)
|
||||||
|
enabledFeatures.extSwapchainColorSpace = VK_TRUE;
|
||||||
|
|
||||||
if (devExtensions.extTransformFeedback) {
|
if (devExtensions.extTransformFeedback) {
|
||||||
enabledFeatures.extTransformFeedback.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT;
|
enabledFeatures.extTransformFeedback.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT;
|
||||||
enabledFeatures.extTransformFeedback.pNext = std::exchange(enabledFeatures.core.pNext, &enabledFeatures.extTransformFeedback);
|
enabledFeatures.extTransformFeedback.pNext = std::exchange(enabledFeatures.core.pNext, &enabledFeatures.extTransformFeedback);
|
||||||
@ -875,6 +881,9 @@ namespace dxvk {
|
|||||||
if (m_deviceExtensions.supports(VK_EXT_SHADER_STENCIL_EXPORT_EXTENSION_NAME))
|
if (m_deviceExtensions.supports(VK_EXT_SHADER_STENCIL_EXPORT_EXTENSION_NAME))
|
||||||
m_deviceFeatures.extShaderStencilExport = VK_TRUE;
|
m_deviceFeatures.extShaderStencilExport = VK_TRUE;
|
||||||
|
|
||||||
|
if (m_deviceExtensions.supports(VK_EXT_SWAPCHAIN_COLOR_SPACE_EXTENSION_NAME))
|
||||||
|
m_deviceFeatures.extSwapchainColorSpace = VK_TRUE;
|
||||||
|
|
||||||
if (m_deviceExtensions.supports(VK_EXT_TRANSFORM_FEEDBACK_EXTENSION_NAME)) {
|
if (m_deviceExtensions.supports(VK_EXT_TRANSFORM_FEEDBACK_EXTENSION_NAME)) {
|
||||||
m_deviceFeatures.extTransformFeedback.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT;
|
m_deviceFeatures.extTransformFeedback.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT;
|
||||||
m_deviceFeatures.extTransformFeedback.pNext = std::exchange(m_deviceFeatures.core.pNext, &m_deviceFeatures.extTransformFeedback);
|
m_deviceFeatures.extTransformFeedback.pNext = std::exchange(m_deviceFeatures.core.pNext, &m_deviceFeatures.extTransformFeedback);
|
||||||
@ -1024,6 +1033,8 @@ namespace dxvk {
|
|||||||
"\n shaderModuleIdentifier : ", features.extShaderModuleIdentifier.shaderModuleIdentifier ? "1" : "0",
|
"\n shaderModuleIdentifier : ", features.extShaderModuleIdentifier.shaderModuleIdentifier ? "1" : "0",
|
||||||
"\n", VK_EXT_SHADER_STENCIL_EXPORT_EXTENSION_NAME,
|
"\n", VK_EXT_SHADER_STENCIL_EXPORT_EXTENSION_NAME,
|
||||||
"\n extension supported : ", features.extShaderStencilExport ? "1" : "0",
|
"\n extension supported : ", features.extShaderStencilExport ? "1" : "0",
|
||||||
|
"\n", VK_EXT_SWAPCHAIN_COLOR_SPACE_EXTENSION_NAME,
|
||||||
|
"\n extension supported : ", features.extSwapchainColorSpace ? "1" : "0",
|
||||||
"\n", VK_EXT_TRANSFORM_FEEDBACK_EXTENSION_NAME,
|
"\n", VK_EXT_TRANSFORM_FEEDBACK_EXTENSION_NAME,
|
||||||
"\n transformFeedback : ", features.extTransformFeedback.transformFeedback ? "1" : "0",
|
"\n transformFeedback : ", features.extTransformFeedback.transformFeedback ? "1" : "0",
|
||||||
"\n geometryStreams : ", features.extTransformFeedback.geometryStreams ? "1" : "0",
|
"\n geometryStreams : ", features.extTransformFeedback.geometryStreams ? "1" : "0",
|
||||||
|
@ -54,6 +54,7 @@ namespace dxvk {
|
|||||||
VkPhysicalDeviceRobustness2FeaturesEXT extRobustness2;
|
VkPhysicalDeviceRobustness2FeaturesEXT extRobustness2;
|
||||||
VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT extShaderModuleIdentifier;
|
VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT extShaderModuleIdentifier;
|
||||||
VkBool32 extShaderStencilExport;
|
VkBool32 extShaderStencilExport;
|
||||||
|
VkBool32 extSwapchainColorSpace;
|
||||||
VkPhysicalDeviceTransformFeedbackFeaturesEXT extTransformFeedback;
|
VkPhysicalDeviceTransformFeedbackFeaturesEXT extTransformFeedback;
|
||||||
VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT extVertexAttributeDivisor;
|
VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT extVertexAttributeDivisor;
|
||||||
VkBool32 khrExternalMemoryWin32;
|
VkBool32 khrExternalMemoryWin32;
|
||||||
|
@ -292,6 +292,7 @@ namespace dxvk {
|
|||||||
DxvkExt extRobustness2 = { VK_EXT_ROBUSTNESS_2_EXTENSION_NAME, DxvkExtMode::Required };
|
DxvkExt extRobustness2 = { VK_EXT_ROBUSTNESS_2_EXTENSION_NAME, DxvkExtMode::Required };
|
||||||
DxvkExt extShaderModuleIdentifier = { VK_EXT_SHADER_MODULE_IDENTIFIER_EXTENSION_NAME, DxvkExtMode::Optional };
|
DxvkExt extShaderModuleIdentifier = { VK_EXT_SHADER_MODULE_IDENTIFIER_EXTENSION_NAME, DxvkExtMode::Optional };
|
||||||
DxvkExt extShaderStencilExport = { VK_EXT_SHADER_STENCIL_EXPORT_EXTENSION_NAME, DxvkExtMode::Optional };
|
DxvkExt extShaderStencilExport = { VK_EXT_SHADER_STENCIL_EXPORT_EXTENSION_NAME, DxvkExtMode::Optional };
|
||||||
|
DxvkExt extSwapchainColorSpace = { VK_EXT_SWAPCHAIN_COLOR_SPACE_EXTENSION_NAME, DxvkExtMode::Optional };
|
||||||
DxvkExt extTransformFeedback = { VK_EXT_TRANSFORM_FEEDBACK_EXTENSION_NAME, DxvkExtMode::Optional };
|
DxvkExt extTransformFeedback = { VK_EXT_TRANSFORM_FEEDBACK_EXTENSION_NAME, DxvkExtMode::Optional };
|
||||||
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 };
|
||||||
|
Loading…
x
Reference in New Issue
Block a user