From d274328c3192fd85b9eec661b00f1599d673776c Mon Sep 17 00:00:00 2001 From: gdk <gab.dark.100@gmail.com> Date: Sun, 10 Nov 2019 11:03:38 -0300 Subject: Fix image units bindings and shader dump in the presence of NOPs --- Ryujinx.Graphics.OpenGL/Program.cs | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'Ryujinx.Graphics.OpenGL/Program.cs') diff --git a/Ryujinx.Graphics.OpenGL/Program.cs b/Ryujinx.Graphics.OpenGL/Program.cs index 61b1645a..820910a9 100644 --- a/Ryujinx.Graphics.OpenGL/Program.cs +++ b/Ryujinx.Graphics.OpenGL/Program.cs @@ -79,6 +79,7 @@ namespace Ryujinx.Graphics.OpenGL int ubBindingPoint = 1; int sbBindingPoint = 0; int textureUnit = 0; + int imageUnit = 0; for (int index = 0; index < shaders.Length; index++) { @@ -151,13 +152,13 @@ namespace Ryujinx.Graphics.OpenGL continue; } - GL.Uniform1(location, textureUnit); + GL.Uniform1(location, imageUnit); int uIndex = (int)shader.Stage << ImgStageShift | imageIndex++; - _textureUnits[uIndex] = textureUnit; + _imageUnits[uIndex] = imageUnit; - textureUnit++; + imageUnit++; } } } @@ -184,7 +185,7 @@ namespace Ryujinx.Graphics.OpenGL public int GetImageUnit(ShaderStage stage, int index) { - return _textureUnits[(int)stage << ImgStageShift | index]; + return _imageUnits[(int)stage << ImgStageShift | index]; } private void CheckProgramLink() -- cgit v1.2.3-70-g09d2