Avoid creating pipelines for each topology.
This commit is contained in:
parent
2d1af4ddb4
commit
674288a71f
2 changed files with 3 additions and 3 deletions
|
@ -671,7 +671,7 @@ namespace Ryujinx.Graphics.Vulkan
|
||||||
{
|
{
|
||||||
if (oldTopology.ConvertToClass() != _newState.Topology.ConvertToClass())
|
if (oldTopology.ConvertToClass() != _newState.Topology.ConvertToClass())
|
||||||
{
|
{
|
||||||
_newState.Topology = oldTopology;
|
_newState.Topology = oldTopology.ConvertToClass();
|
||||||
}
|
}
|
||||||
|
|
||||||
DynamicState.SetCullMode(oldCullMode);
|
DynamicState.SetCullMode(oldCullMode);
|
||||||
|
@ -1078,7 +1078,7 @@ namespace Ryujinx.Graphics.Vulkan
|
||||||
|
|
||||||
if ((_newState.Topology.ConvertToClass() != newTopologyClass))
|
if ((_newState.Topology.ConvertToClass() != newTopologyClass))
|
||||||
{
|
{
|
||||||
_newState.Topology = vkTopology;
|
_newState.Topology = vkTopology.ConvertToClass();
|
||||||
}
|
}
|
||||||
|
|
||||||
DynamicState.SetPrimitiveTopology(vkTopology);
|
DynamicState.SetPrimitiveTopology(vkTopology);
|
||||||
|
|
|
@ -218,7 +218,7 @@ namespace Ryujinx.Graphics.Vulkan
|
||||||
pipeline.StencilBackDepthFailOp = extendedDynamicState ? 0 : state.StencilTest.BackDpFail.Convert();
|
pipeline.StencilBackDepthFailOp = extendedDynamicState ? 0 : state.StencilTest.BackDpFail.Convert();
|
||||||
pipeline.StencilBackCompareOp = extendedDynamicState ? 0 : state.StencilTest.BackFunc.Convert();
|
pipeline.StencilBackCompareOp = extendedDynamicState ? 0 : state.StencilTest.BackFunc.Convert();
|
||||||
|
|
||||||
pipeline.Topology = gd.TopologyRemap(state.Topology).Convert();
|
pipeline.Topology = extendedDynamicState ? gd.TopologyRemap(state.Topology).Convert().ConvertToClass() : gd.TopologyRemap(state.Topology).Convert();
|
||||||
|
|
||||||
int vaCount = Math.Min(Constants.MaxVertexAttributes, state.VertexAttribCount);
|
int vaCount = Math.Min(Constants.MaxVertexAttributes, state.VertexAttribCount);
|
||||||
int vbCount = Math.Min(Constants.MaxVertexBuffers, state.VertexBufferCount);
|
int vbCount = Math.Min(Constants.MaxVertexBuffers, state.VertexBufferCount);
|
||||||
|
|
Loading…
Reference in a new issue