|
@@ -177,6 +177,11 @@ namespace Ryujinx.Graphics.Vulkan
|
|
|
SType = StructureType.PhysicalDeviceShaderFloat16Int8Features
|
|
SType = StructureType.PhysicalDeviceShaderFloat16Int8Features
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
|
|
+ PhysicalDeviceCustomBorderColorFeaturesEXT featuresCustomBorderColor = new PhysicalDeviceCustomBorderColorFeaturesEXT()
|
|
|
|
|
+ {
|
|
|
|
|
+ SType = StructureType.PhysicalDeviceCustomBorderColorFeaturesExt
|
|
|
|
|
+ };
|
|
|
|
|
+
|
|
|
if (supportedExtensions.Contains("VK_EXT_robustness2"))
|
|
if (supportedExtensions.Contains("VK_EXT_robustness2"))
|
|
|
{
|
|
{
|
|
|
features2.PNext = &featuresRobustness2;
|
|
features2.PNext = &featuresRobustness2;
|
|
@@ -188,8 +193,18 @@ namespace Ryujinx.Graphics.Vulkan
|
|
|
features2.PNext = &featuresShaderInt8;
|
|
features2.PNext = &featuresShaderInt8;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ if (supportedExtensions.Contains("VK_EXT_custom_border_color"))
|
|
|
|
|
+ {
|
|
|
|
|
+ featuresCustomBorderColor.PNext = features2.PNext;
|
|
|
|
|
+ features2.PNext = &featuresCustomBorderColor;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
Api.GetPhysicalDeviceFeatures2(_physicalDevice, &features2);
|
|
Api.GetPhysicalDeviceFeatures2(_physicalDevice, &features2);
|
|
|
|
|
|
|
|
|
|
+ bool customBorderColorSupported = supportedExtensions.Contains("VK_EXT_custom_border_color") &&
|
|
|
|
|
+ featuresCustomBorderColor.CustomBorderColors &&
|
|
|
|
|
+ featuresCustomBorderColor.CustomBorderColorWithoutFormat;
|
|
|
|
|
+
|
|
|
ref var properties = ref properties2.Properties;
|
|
ref var properties = ref properties2.Properties;
|
|
|
|
|
|
|
|
SampleCountFlags supportedSampleCounts =
|
|
SampleCountFlags supportedSampleCounts =
|
|
@@ -199,7 +214,7 @@ namespace Ryujinx.Graphics.Vulkan
|
|
|
|
|
|
|
|
Capabilities = new HardwareCapabilities(
|
|
Capabilities = new HardwareCapabilities(
|
|
|
supportedExtensions.Contains("VK_EXT_index_type_uint8"),
|
|
supportedExtensions.Contains("VK_EXT_index_type_uint8"),
|
|
|
- supportedExtensions.Contains("VK_EXT_custom_border_color"),
|
|
|
|
|
|
|
+ customBorderColorSupported,
|
|
|
supportedExtensions.Contains(KhrDrawIndirectCount.ExtensionName),
|
|
supportedExtensions.Contains(KhrDrawIndirectCount.ExtensionName),
|
|
|
supportedExtensions.Contains("VK_EXT_fragment_shader_interlock"),
|
|
supportedExtensions.Contains("VK_EXT_fragment_shader_interlock"),
|
|
|
supportedExtensions.Contains("VK_NV_geometry_shader_passthrough"),
|
|
supportedExtensions.Contains("VK_NV_geometry_shader_passthrough"),
|