Replace glFinish with barrier for WaitForIdle (#878)
This commit is contained in:
parent
88f78ae6c8
commit
2bb39ff03e
@ -4,6 +4,8 @@ namespace Ryujinx.Graphics.GAL
|
||||
{
|
||||
public interface IPipeline
|
||||
{
|
||||
void Barrier();
|
||||
|
||||
void ClearRenderTargetColor(int index, uint componentMask, ColorF color);
|
||||
|
||||
void ClearRenderTargetDepthStencil(
|
||||
|
@ -18,8 +18,6 @@ namespace Ryujinx.Graphics.GAL
|
||||
ISampler CreateSampler(SamplerCreateInfo info);
|
||||
ITexture CreateTexture(TextureCreateInfo info);
|
||||
|
||||
void FlushPipelines();
|
||||
|
||||
Capabilities GetCapabilities();
|
||||
|
||||
ulong GetCounter(CounterType type);
|
||||
|
@ -154,7 +154,7 @@ namespace Ryujinx.Graphics.Gpu
|
||||
{
|
||||
_context.Methods.PerformDeferredDraws();
|
||||
|
||||
_context.Renderer.FlushPipelines();
|
||||
_context.Renderer.Pipeline.Barrier();
|
||||
|
||||
break;
|
||||
}
|
||||
|
@ -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(
|
||||
|
@ -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(
|
||||
|
Loading…
Reference in New Issue
Block a user