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

View file

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