diff options
| author | gdkchan <gab.dark.100@gmail.com> | 2018-06-23 02:00:44 -0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2018-06-23 02:00:44 -0300 |
| commit | c26ddd6259796e5b0b187989ce3e21b52edb00a8 (patch) | |
| tree | ff4decb3f102b07a832e7a5d24fa8ba702126906 /Ryujinx.Graphics/Gal/Shader/ShaderDecodeAlu.cs | |
| parent | 5182361f4b59069af1f185db73f7569d3031558a (diff) | |
Fix 3 graphics related issues (#180)
* Fix 3 graphics related bugs
* OGLShader shouldn't be public (yet)
Diffstat (limited to 'Ryujinx.Graphics/Gal/Shader/ShaderDecodeAlu.cs')
| -rw-r--r-- | Ryujinx.Graphics/Gal/Shader/ShaderDecodeAlu.cs | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/Ryujinx.Graphics/Gal/Shader/ShaderDecodeAlu.cs b/Ryujinx.Graphics/Gal/Shader/ShaderDecodeAlu.cs index 065ab344..0763d3ca 100644 --- a/Ryujinx.Graphics/Gal/Shader/ShaderDecodeAlu.cs +++ b/Ryujinx.Graphics/Gal/Shader/ShaderDecodeAlu.cs @@ -217,7 +217,7 @@ namespace Ryujinx.Graphics.Gal.Shader public static void Mufu(ShaderIrBlock Block, long OpCode) { - int SubOp = (int)(OpCode >> 20) & 7; + int SubOp = (int)(OpCode >> 20) & 0xf; bool AbsA = ((OpCode >> 46) & 1) != 0; bool NegA = ((OpCode >> 48) & 1) != 0; @@ -226,12 +226,13 @@ namespace Ryujinx.Graphics.Gal.Shader switch (SubOp) { - case 0: Inst = ShaderIrInst.Fcos; break; - case 1: Inst = ShaderIrInst.Fsin; break; - case 2: Inst = ShaderIrInst.Fex2; break; - case 3: Inst = ShaderIrInst.Flg2; break; - case 4: Inst = ShaderIrInst.Frcp; break; - case 5: Inst = ShaderIrInst.Frsq; break; + case 0: Inst = ShaderIrInst.Fcos; break; + case 1: Inst = ShaderIrInst.Fsin; break; + case 2: Inst = ShaderIrInst.Fex2; break; + case 3: Inst = ShaderIrInst.Flg2; break; + case 4: Inst = ShaderIrInst.Frcp; break; + case 5: Inst = ShaderIrInst.Frsq; break; + case 8: Inst = ShaderIrInst.Fsqrt; break; default: throw new NotImplementedException(SubOp.ToString()); } |
