Fixed undertale bug
This commit is contained in:
parent
24124f3db7
commit
1284c6b94a
4 changed files with 12 additions and 3 deletions
|
@ -3,6 +3,7 @@
|
|||
public interface IGalPipeline
|
||||
{
|
||||
void Bind(GalPipelineState State);
|
||||
void Unbind(GalPipelineState State);
|
||||
|
||||
void ResetDepthMask();
|
||||
void ResetColorMask(int Index);
|
||||
|
|
|
@ -383,6 +383,14 @@ namespace Ryujinx.Graphics.Gal.OpenGL
|
|||
Old = New;
|
||||
}
|
||||
|
||||
public void Unbind(GalPipelineState State)
|
||||
{
|
||||
if (State.ScissorTestCount > 0)
|
||||
{
|
||||
GL.Disable(EnableCap.ScissorTest);
|
||||
}
|
||||
}
|
||||
|
||||
private void SetAllBlendState(BlendState New)
|
||||
{
|
||||
Enable(EnableCap.Blend, New.Enabled);
|
||||
|
|
|
@ -367,9 +367,6 @@ namespace Ryujinx.Graphics.Gal.OpenGL
|
|||
|
||||
GL.Disable(EnableCap.FramebufferSrgb);
|
||||
|
||||
// Will be re-enabled if needed while binding, called before any game GL calls
|
||||
GL.Disable(EnableCap.ScissorTest);
|
||||
|
||||
GL.BlitFramebuffer(
|
||||
SrcX0,
|
||||
SrcY0,
|
||||
|
|
|
@ -1074,6 +1074,9 @@ namespace Ryujinx.Graphics.Graphics3d
|
|||
Gpu.Renderer.Rasterizer.DrawArrays(VertexFirst, VertexCount, PrimType);
|
||||
}
|
||||
|
||||
// Reset pipeline for host OpenGL calls
|
||||
Gpu.Renderer.Pipeline.Unbind(State);
|
||||
|
||||
//Is the GPU really clearing those registers after draw?
|
||||
WriteRegister(NvGpuEngine3dReg.IndexBatchFirst, 0);
|
||||
WriteRegister(NvGpuEngine3dReg.IndexBatchCount, 0);
|
||||
|
|
Loading…
Add table
Reference in a new issue