1
0
forked from MeloNX/MeloNX

Work around Adreno compute dispatch crash when changing grpahics state with a compute pipeline bound

This commit is contained in:
Gabriel A 2023-07-10 23:32:31 -03:00 committed by Emmanuel Hansen
parent 51aec9a2ed
commit 0ffb074d9a

View File

@ -1603,6 +1603,11 @@ namespace Ryujinx.Graphics.Vulkan
DynamicState.ReplayIfDirty(Gd, CommandBuffer); DynamicState.ReplayIfDirty(Gd, CommandBuffer);
// Setting graphics state with a compute pipeline bound crashes the Adreno driver.
if (pbp == PipelineBindPoint.Graphics)
{
DynamicState.ReplayIfDirty(Gd.Api, CommandBuffer);
if (_needsIndexBufferRebind && _indexBufferPattern == null) if (_needsIndexBufferRebind && _indexBufferPattern == null)
{ {
_indexBuffer.BindIndexBuffer(Gd, Cbs); _indexBuffer.BindIndexBuffer(Gd, Cbs);
@ -1634,6 +1639,7 @@ namespace Ryujinx.Graphics.Vulkan
_vertexBufferUpdater.Commit(Cbs); _vertexBufferUpdater.Commit(Cbs);
} }
}
if (_bindingBarriersDirty) if (_bindingBarriersDirty)
{ {