Просмотр исходного кода

[GPU] Send correct window size to the vertex shader

gdkchan 8 лет назад
Родитель
Сommit
7dd14a4f3a
2 измененных файлов с 14 добавлено и 1 удалено
  1. 13 0
      Ryujinx.Graphics/Gal/OpenGL/OGLFrameBuffer.cs
  2. 1 1
      Ryujinx.Graphics/Gal/OpenGL/OpenGLRenderer.cs

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

@@ -196,6 +196,19 @@ namespace Ryujinx.Graphics.Gal.OpenGL
             GL.UseProgram(CurrentProgram);
             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)
         public void SetViewport(int X, int Y, int Width, int Height)
         {
         {
             Viewport = new Rect(X, Y, Width, 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)
         public void SetWindowSize(int Width, int Height)
         {
         {
-            //TODO
+            FrameBuffer.SetWindowSize(Width, Height);
         }
         }
 
 
         public void SetBlendEnable(bool Enable)
         public void SetBlendEnable(bool Enable)