Do not set patch control points dynamic state if there is no tessalation control shader. Thank you riperiperi
This commit is contained in:
parent
1b9e42bdb4
commit
fb964b514c
2 changed files with 4 additions and 4 deletions
|
@ -994,7 +994,7 @@ namespace Ryujinx.Graphics.Vulkan
|
|||
|
||||
public void SetPatchParameters(int vertices, ReadOnlySpan<float> defaultOuterLevel, ReadOnlySpan<float> defaultInnerLevel)
|
||||
{
|
||||
if (Gd.ExtendedDynamicState2Features.ExtendedDynamicState2PatchControlPoints)
|
||||
if (Gd.ExtendedDynamicState2Features.ExtendedDynamicState2PatchControlPoints && _newState.HasTessellationControlShader)
|
||||
{
|
||||
DynamicState.SetPatchControlPoints((uint)vertices);
|
||||
}
|
||||
|
|
|
@ -432,7 +432,7 @@ namespace Ryujinx.Graphics.Vulkan
|
|||
SType = StructureType.PipelineTessellationStateCreateInfo,
|
||||
};
|
||||
|
||||
if (!gd.ExtendedDynamicState2Features.ExtendedDynamicState2PatchControlPoints)
|
||||
if (!gd.ExtendedDynamicState2Features.ExtendedDynamicState2)
|
||||
{
|
||||
tessellationState.PatchControlPoints = PatchControlPoints;
|
||||
}
|
||||
|
@ -587,7 +587,7 @@ namespace Ryujinx.Graphics.Vulkan
|
|||
{
|
||||
additionalDynamicStatesCount++;
|
||||
}
|
||||
if (gd.ExtendedDynamicState2Features.ExtendedDynamicState2PatchControlPoints)
|
||||
if (gd.ExtendedDynamicState2Features.ExtendedDynamicState2PatchControlPoints && HasTessellationControlShader)
|
||||
{
|
||||
additionalDynamicStatesCount++;
|
||||
}
|
||||
|
@ -642,7 +642,7 @@ namespace Ryujinx.Graphics.Vulkan
|
|||
{
|
||||
dynamicStates[currentIndex++] = DynamicState.LogicOpExt;
|
||||
}
|
||||
if (gd.ExtendedDynamicState2Features.ExtendedDynamicState2PatchControlPoints)
|
||||
if (gd.ExtendedDynamicState2Features.ExtendedDynamicState2PatchControlPoints && HasTessellationControlShader)
|
||||
{
|
||||
dynamicStates[currentIndex++] = DynamicState.PatchControlPointsExt;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue