Replace glFinish with barrier for WaitForIdle (#878)

This commit is contained in:
gdkchan 2020-01-12 19:12:40 -03:00 committed by jduncanator
parent 88f78ae6c8
commit 2bb39ff03e
5 changed files with 8 additions and 8 deletions

View File

@ -4,6 +4,8 @@ namespace Ryujinx.Graphics.GAL
{
public interface IPipeline
{
void Barrier();
void ClearRenderTargetColor(int index, uint componentMask, ColorF color);
void ClearRenderTargetDepthStencil(

View File

@ -18,8 +18,6 @@ namespace Ryujinx.Graphics.GAL
ISampler CreateSampler(SamplerCreateInfo info);
ITexture CreateTexture(TextureCreateInfo info);
void FlushPipelines();
Capabilities GetCapabilities();
ulong GetCounter(CounterType type);

View File

@ -154,7 +154,7 @@ namespace Ryujinx.Graphics.Gpu
{
_context.Methods.PerformDeferredDraws();
_context.Renderer.FlushPipelines();
_context.Renderer.Pipeline.Barrier();
break;
}

View File

@ -37,6 +37,11 @@ namespace Ryujinx.Graphics.OpenGL
_clipDepthMode = ClipDepthMode.NegativeOneToOne;
}
public void Barrier()
{
GL.MemoryBarrier(MemoryBarrierFlags.AllBarrierBits);
}
public void ClearRenderTargetColor(int index, uint componentMask, ColorF color)
{
GL.ColorMask(

View File

@ -55,11 +55,6 @@ namespace Ryujinx.Graphics.OpenGL
return new TextureStorage(this, info).CreateDefaultView();
}
public void FlushPipelines()
{
GL.Finish();
}
public Capabilities GetCapabilities()
{
return new Capabilities(