forked from Mirror/Ryujinx
[GPU] Set frame buffer texture size to window size
This commit is contained in:
parent
7dd14a4f3a
commit
494e6dfa1e
2 changed files with 16 additions and 4 deletions
|
@ -55,6 +55,7 @@ namespace Ryujinx.Graphics.Gal.OpenGL
|
|||
private ShaderProgram Shader;
|
||||
|
||||
private Rect Viewport;
|
||||
private Rect Window;
|
||||
|
||||
private bool IsInitialized;
|
||||
|
||||
|
@ -77,6 +78,11 @@ namespace Ryujinx.Graphics.Gal.OpenGL
|
|||
|
||||
public void Create(long Tag, int Width, int Height)
|
||||
{
|
||||
//TODO: We should either use the original frame buffer size,
|
||||
//or just remove the Width/Height arguments.
|
||||
Width = Window.Width;
|
||||
Height = Window.Height;
|
||||
|
||||
if (Fbs.TryGetValue(Tag, out FrameBuffer Fb))
|
||||
{
|
||||
if (Fb.Width != Width ||
|
||||
|
@ -119,6 +125,8 @@ namespace Ryujinx.Graphics.Gal.OpenGL
|
|||
|
||||
GL.DrawBuffer(DrawBufferMode.ColorAttachment0);
|
||||
|
||||
GL.Viewport(0, 0, Width, Height);
|
||||
|
||||
Fbs.Add(Tag, Fb);
|
||||
}
|
||||
|
||||
|
@ -207,6 +215,8 @@ namespace Ryujinx.Graphics.Gal.OpenGL
|
|||
GL.Uniform2(WindowSizeUniformLocation, new Vector2(Width, Height));
|
||||
|
||||
GL.UseProgram(CurrentProgram);
|
||||
|
||||
Window = new Rect(0, 0, Width, Height);
|
||||
}
|
||||
|
||||
public void SetViewport(int X, int Y, int Width, int Height)
|
||||
|
@ -234,7 +244,7 @@ namespace Ryujinx.Graphics.Gal.OpenGL
|
|||
|
||||
GL.BindFramebuffer(FramebufferTarget.Framebuffer, 0);
|
||||
|
||||
GL.Viewport(0, 0, 1280, 720);
|
||||
SetViewport(Window);
|
||||
|
||||
GL.Clear(
|
||||
ClearBufferMask.ColorBufferBit |
|
||||
|
@ -255,10 +265,12 @@ namespace Ryujinx.Graphics.Gal.OpenGL
|
|||
{
|
||||
GL.Enable(EnableCap.Blend);
|
||||
}
|
||||
|
||||
//GL.Viewport(0, 0, 1280, 720);
|
||||
}
|
||||
}
|
||||
|
||||
private void SetViewport()
|
||||
private void SetViewport(Rect Viewport)
|
||||
{
|
||||
GL.Viewport(
|
||||
Viewport.X,
|
||||
|
|
|
@ -38,6 +38,8 @@ namespace Ryujinx
|
|||
protected override void OnLoad(EventArgs e)
|
||||
{
|
||||
VSync = VSyncMode.On;
|
||||
|
||||
Renderer.SetWindowSize(Width, Height);
|
||||
}
|
||||
|
||||
protected override void OnUpdateFrame(FrameEventArgs e)
|
||||
|
@ -173,8 +175,6 @@ namespace Ryujinx
|
|||
{
|
||||
Ns.Statistics.StartSystemFrame();
|
||||
|
||||
GL.Viewport(0, 0, Width, Height);
|
||||
|
||||
Title = $"Ryujinx Screen - (Vsync: {VSync} - FPS: {Ns.Statistics.SystemFrameRate:0} - Guest FPS: " +
|
||||
$"{Ns.Statistics.GameFrameRate:0})";
|
||||
|
||||
|
|
Loading…
Reference in a new issue