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)
|
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);
|
DynamicState.SetPatchControlPoints((uint)vertices);
|
||||||
}
|
}
|
||||||
|
|
|
@ -432,7 +432,7 @@ namespace Ryujinx.Graphics.Vulkan
|
||||||
SType = StructureType.PipelineTessellationStateCreateInfo,
|
SType = StructureType.PipelineTessellationStateCreateInfo,
|
||||||
};
|
};
|
||||||
|
|
||||||
if (!gd.ExtendedDynamicState2Features.ExtendedDynamicState2PatchControlPoints)
|
if (!gd.ExtendedDynamicState2Features.ExtendedDynamicState2)
|
||||||
{
|
{
|
||||||
tessellationState.PatchControlPoints = PatchControlPoints;
|
tessellationState.PatchControlPoints = PatchControlPoints;
|
||||||
}
|
}
|
||||||
|
@ -587,7 +587,7 @@ namespace Ryujinx.Graphics.Vulkan
|
||||||
{
|
{
|
||||||
additionalDynamicStatesCount++;
|
additionalDynamicStatesCount++;
|
||||||
}
|
}
|
||||||
if (gd.ExtendedDynamicState2Features.ExtendedDynamicState2PatchControlPoints)
|
if (gd.ExtendedDynamicState2Features.ExtendedDynamicState2PatchControlPoints && HasTessellationControlShader)
|
||||||
{
|
{
|
||||||
additionalDynamicStatesCount++;
|
additionalDynamicStatesCount++;
|
||||||
}
|
}
|
||||||
|
@ -642,7 +642,7 @@ namespace Ryujinx.Graphics.Vulkan
|
||||||
{
|
{
|
||||||
dynamicStates[currentIndex++] = DynamicState.LogicOpExt;
|
dynamicStates[currentIndex++] = DynamicState.LogicOpExt;
|
||||||
}
|
}
|
||||||
if (gd.ExtendedDynamicState2Features.ExtendedDynamicState2PatchControlPoints)
|
if (gd.ExtendedDynamicState2Features.ExtendedDynamicState2PatchControlPoints && HasTessellationControlShader)
|
||||||
{
|
{
|
||||||
dynamicStates[currentIndex++] = DynamicState.PatchControlPointsExt;
|
dynamicStates[currentIndex++] = DynamicState.PatchControlPointsExt;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue