Explorar o código

[GPU] Send correct window size to the vertex shader

gdkchan %!s(int64=8) %!d(string=hai) anos
pai
achega
7dd14a4f3a

+ 13 - 0
Ryujinx.Graphics/Gal/OpenGL/OGLFrameBuffer.cs

@@ -196,6 +196,19 @@ namespace Ryujinx.Graphics.Gal.OpenGL
             GL.UseProgram(CurrentProgram);
         }
 
+        public void SetWindowSize(int Width, int Height)
+        {
+            int CurrentProgram = GL.GetInteger(GetPName.CurrentProgram);
+
+            GL.UseProgram(Shader.Handle);
+
+            int WindowSizeUniformLocation = GL.GetUniformLocation(Shader.Handle, "window_size");
+
+            GL.Uniform2(WindowSizeUniformLocation, new Vector2(Width, Height));
+
+            GL.UseProgram(CurrentProgram);
+        }
+
         public void SetViewport(int X, int Y, int Width, int Height)
         {
             Viewport = new Rect(X, Y, Width, Height);

+ 1 - 1
Ryujinx.Graphics/Gal/OpenGL/OpenGLRenderer.cs

@@ -56,7 +56,7 @@ namespace Ryujinx.Graphics.Gal.OpenGL
 
         public void SetWindowSize(int Width, int Height)
         {
-            //TODO
+            FrameBuffer.SetWindowSize(Width, Height);
         }
 
         public void SetBlendEnable(bool Enable)