Some more small changes

This commit is contained in:
sunshineinabox 2024-05-18 22:14:38 -07:00
parent ab7f379e11
commit 863674768d
2 changed files with 6 additions and 8 deletions

View file

@ -899,7 +899,9 @@ namespace Ryujinx.Graphics.Vulkan
public void SetDepthMode(DepthMode mode)
{
bool oldMode;
if (Gd.ExtendedDynamicState3Features.ExtendedDynamicState3DepthClipNegativeOneToOne)
bool supportsDepthClipandDynamicState = Gd.Capabilities.SupportsDepthClipControl &&
Gd.ExtendedDynamicState3Features.ExtendedDynamicState3DepthClipNegativeOneToOne;
if (supportsDepthClipandDynamicState)
{
oldMode = DynamicState.DepthMode;
DynamicState.SetDepthMode(mode == DepthMode.MinusOneToOne);
@ -910,7 +912,7 @@ namespace Ryujinx.Graphics.Vulkan
_newState.DepthMode = mode == DepthMode.MinusOneToOne;
}
if ((Gd.ExtendedDynamicState3Features.ExtendedDynamicState3DepthClipNegativeOneToOne ? DynamicState.DepthMode : _newState.DepthMode) != oldMode)
if ((supportsDepthClipandDynamicState ? DynamicState.DepthMode : _newState.DepthMode) != oldMode)
{
SignalStateChange();
}

View file

@ -508,18 +508,14 @@ namespace Ryujinx.Graphics.Vulkan
viewportState.ScissorCount = ScissorsCount;
}
if (gd.Capabilities.SupportsDepthClipControl)
if (gd.Capabilities.SupportsDepthClipControl && !gd.ExtendedDynamicState3Features.ExtendedDynamicState3DepthClipNegativeOneToOne)
{
var viewportDepthClipControlState = new PipelineViewportDepthClipControlCreateInfoEXT
{
SType = StructureType.PipelineViewportDepthClipControlCreateInfoExt,
NegativeOneToOne = DepthMode,
};
if (!gd.ExtendedDynamicState3Features.ExtendedDynamicState3DepthClipNegativeOneToOne)
{
viewportDepthClipControlState.NegativeOneToOne = DepthMode;
}
viewportState.PNext = &viewportDepthClipControlState;
}