|
|
@@ -162,6 +162,7 @@ namespace Ryujinx.Graphics.Vulkan
|
|
|
if (messageSeverity.HasFlag(DebugUtilsMessageSeverityFlagsEXT.ErrorBitExt))
|
|
|
{
|
|
|
Logger.Error?.Print(LogClass.Gpu, msg);
|
|
|
+ //throw new Exception(msg);
|
|
|
}
|
|
|
else if (messageSeverity.HasFlag(DebugUtilsMessageSeverityFlagsEXT.WarningBitExt))
|
|
|
{
|
|
|
@@ -378,34 +379,14 @@ namespace Ryujinx.Graphics.Vulkan
|
|
|
SType = StructureType.PhysicalDeviceFeatures2
|
|
|
};
|
|
|
|
|
|
- PhysicalDeviceVulkan11Features supportedFeaturesVk11 = new PhysicalDeviceVulkan11Features()
|
|
|
+ PhysicalDeviceCustomBorderColorFeaturesEXT featuresCustomBorderColorSupported = new PhysicalDeviceCustomBorderColorFeaturesEXT()
|
|
|
{
|
|
|
- SType = StructureType.PhysicalDeviceVulkan11Features,
|
|
|
- PNext = features2.PNext
|
|
|
- };
|
|
|
-
|
|
|
- features2.PNext = &supportedFeaturesVk11;
|
|
|
-
|
|
|
- PhysicalDeviceCustomBorderColorFeaturesEXT supportedFeaturesCustomBorderColor = new PhysicalDeviceCustomBorderColorFeaturesEXT()
|
|
|
- {
|
|
|
- SType = StructureType.PhysicalDeviceCustomBorderColorFeaturesExt,
|
|
|
- PNext = features2.PNext
|
|
|
+ SType = StructureType.PhysicalDeviceCustomBorderColorFeaturesExt
|
|
|
};
|
|
|
|
|
|
if (supportedExtensions.Contains("VK_EXT_custom_border_color"))
|
|
|
{
|
|
|
- features2.PNext = &supportedFeaturesCustomBorderColor;
|
|
|
- }
|
|
|
-
|
|
|
- PhysicalDeviceTransformFeedbackFeaturesEXT supportedFeaturesTransformFeedback = new PhysicalDeviceTransformFeedbackFeaturesEXT()
|
|
|
- {
|
|
|
- SType = StructureType.PhysicalDeviceTransformFeedbackFeaturesExt,
|
|
|
- PNext = features2.PNext
|
|
|
- };
|
|
|
-
|
|
|
- if (supportedExtensions.Contains(ExtTransformFeedback.ExtensionName))
|
|
|
- {
|
|
|
- features2.PNext = &supportedFeaturesTransformFeedback;
|
|
|
+ features2.PNext = &featuresCustomBorderColorSupported;
|
|
|
}
|
|
|
|
|
|
PhysicalDeviceRobustness2FeaturesEXT supportedFeaturesRobustness2 = new PhysicalDeviceRobustness2FeaturesEXT()
|
|
|
@@ -427,48 +408,41 @@ namespace Ryujinx.Graphics.Vulkan
|
|
|
var features = new PhysicalDeviceFeatures()
|
|
|
{
|
|
|
DepthBiasClamp = true,
|
|
|
- DepthClamp = supportedFeatures.DepthClamp,
|
|
|
- DualSrcBlend = supportedFeatures.DualSrcBlend,
|
|
|
+ DepthClamp = true,
|
|
|
+ DualSrcBlend = true,
|
|
|
FragmentStoresAndAtomics = true,
|
|
|
GeometryShader = supportedFeatures.GeometryShader,
|
|
|
ImageCubeArray = true,
|
|
|
IndependentBlend = true,
|
|
|
LogicOp = supportedFeatures.LogicOp,
|
|
|
- MultiViewport = supportedFeatures.MultiViewport,
|
|
|
+ MultiViewport = true,
|
|
|
PipelineStatisticsQuery = supportedFeatures.PipelineStatisticsQuery,
|
|
|
SamplerAnisotropy = true,
|
|
|
ShaderClipDistance = true,
|
|
|
ShaderFloat64 = supportedFeatures.ShaderFloat64,
|
|
|
- ShaderImageGatherExtended = supportedFeatures.ShaderImageGatherExtended,
|
|
|
+ ShaderImageGatherExtended = true,
|
|
|
ShaderStorageImageMultisample = supportedFeatures.ShaderStorageImageMultisample,
|
|
|
// ShaderStorageImageReadWithoutFormat = true,
|
|
|
// ShaderStorageImageWriteWithoutFormat = true,
|
|
|
- TessellationShader = supportedFeatures.TessellationShader,
|
|
|
+ TessellationShader = true,
|
|
|
VertexPipelineStoresAndAtomics = true,
|
|
|
RobustBufferAccess = useRobustBufferAccess
|
|
|
};
|
|
|
|
|
|
void* pExtendedFeatures = null;
|
|
|
|
|
|
- PhysicalDeviceTransformFeedbackFeaturesEXT featuresTransformFeedback;
|
|
|
-
|
|
|
- if (supportedExtensions.Contains(ExtTransformFeedback.ExtensionName))
|
|
|
+ var featuresTransformFeedback = new PhysicalDeviceTransformFeedbackFeaturesEXT()
|
|
|
{
|
|
|
- featuresTransformFeedback = new PhysicalDeviceTransformFeedbackFeaturesEXT()
|
|
|
- {
|
|
|
- SType = StructureType.PhysicalDeviceTransformFeedbackFeaturesExt,
|
|
|
- PNext = pExtendedFeatures,
|
|
|
- TransformFeedback = supportedFeaturesTransformFeedback.TransformFeedback
|
|
|
- };
|
|
|
-
|
|
|
- pExtendedFeatures = &featuresTransformFeedback;
|
|
|
- }
|
|
|
+ SType = StructureType.PhysicalDeviceTransformFeedbackFeaturesExt,
|
|
|
+ PNext = pExtendedFeatures,
|
|
|
+ TransformFeedback = true
|
|
|
+ };
|
|
|
|
|
|
- PhysicalDeviceRobustness2FeaturesEXT featuresRobustness2;
|
|
|
+ pExtendedFeatures = &featuresTransformFeedback;
|
|
|
|
|
|
if (supportedExtensions.Contains("VK_EXT_robustness2"))
|
|
|
{
|
|
|
- featuresRobustness2 = new PhysicalDeviceRobustness2FeaturesEXT()
|
|
|
+ var featuresRobustness2 = new PhysicalDeviceRobustness2FeaturesEXT()
|
|
|
{
|
|
|
SType = StructureType.PhysicalDeviceRobustness2FeaturesExt,
|
|
|
PNext = pExtendedFeatures,
|
|
|
@@ -491,7 +465,7 @@ namespace Ryujinx.Graphics.Vulkan
|
|
|
{
|
|
|
SType = StructureType.PhysicalDeviceVulkan11Features,
|
|
|
PNext = pExtendedFeatures,
|
|
|
- ShaderDrawParameters = supportedFeaturesVk11.ShaderDrawParameters
|
|
|
+ ShaderDrawParameters = true
|
|
|
};
|
|
|
|
|
|
pExtendedFeatures = &featuresVk11;
|
|
|
@@ -552,8 +526,8 @@ namespace Ryujinx.Graphics.Vulkan
|
|
|
PhysicalDeviceCustomBorderColorFeaturesEXT featuresCustomBorderColor;
|
|
|
|
|
|
if (supportedExtensions.Contains("VK_EXT_custom_border_color") &&
|
|
|
- supportedFeaturesCustomBorderColor.CustomBorderColors &&
|
|
|
- supportedFeaturesCustomBorderColor.CustomBorderColorWithoutFormat)
|
|
|
+ featuresCustomBorderColorSupported.CustomBorderColors &&
|
|
|
+ featuresCustomBorderColorSupported.CustomBorderColorWithoutFormat)
|
|
|
{
|
|
|
featuresCustomBorderColor = new PhysicalDeviceCustomBorderColorFeaturesEXT()
|
|
|
{
|