Fix draw indexed flag not being cleared for instanced draws, also avoid state updates in the middle of a indexed draw

This commit is contained in:
gdkchan 2019-12-08 18:08:00 -03:00 committed by Thog
parent 23b8a86d35
commit 375ee0ba96

View file

@ -26,13 +26,18 @@ namespace Ryujinx.Graphics.Gpu.Engine
private void DrawEnd(GpuState state, int argument)
{
if (_instancedDrawPending)
{
_drawIndexed = false;
return;
}
UpdateState(state);
bool instanced = _vsUsesInstanceId || _isAnyVbInstanced;
if (instanced)
{
if (!_instancedDrawPending)
{
_instancedDrawPending = true;
@ -48,7 +53,8 @@ namespace Ryujinx.Graphics.Gpu.Engine
_instancedDrawStateFirst = drawState.First;
_instancedDrawStateCount = drawState.Count;
}
_drawIndexed = false;
return;
}