diff options
Diffstat (limited to 'Ryujinx.Graphics/Gal/Shader/ShaderOpCodeTable.cs')
| -rw-r--r-- | Ryujinx.Graphics/Gal/Shader/ShaderOpCodeTable.cs | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/Ryujinx.Graphics/Gal/Shader/ShaderOpCodeTable.cs b/Ryujinx.Graphics/Gal/Shader/ShaderOpCodeTable.cs index 65e24928..acfcc147 100644 --- a/Ryujinx.Graphics/Gal/Shader/ShaderOpCodeTable.cs +++ b/Ryujinx.Graphics/Gal/Shader/ShaderOpCodeTable.cs @@ -26,6 +26,10 @@ namespace Ryujinx.Graphics.Gal.Shader OpCodes = new ShaderDecodeEntry[1 << EncodingBits]; #region Instructions + Set("0100110000000x", ShaderDecode.Bfe_C); + Set("0011100x00000x", ShaderDecode.Bfe_I); + Set("0101110000000x", ShaderDecode.Bfe_R); + Set("111000100100xx", ShaderDecode.Bra); Set("111000110000xx", ShaderDecode.Exit); Set("0100110010101x", ShaderDecode.F2f_C); Set("0011100x10101x", ShaderDecode.F2f_I); @@ -40,10 +44,13 @@ namespace Ryujinx.Graphics.Gal.Shader Set("001100101xxxxx", ShaderDecode.Ffma_I); Set("010100011xxxxx", ShaderDecode.Ffma_RC); Set("010110011xxxxx", ShaderDecode.Ffma_RR); - Set("00011110xxxxxx", ShaderDecode.Fmul32i); + Set("00011110xxxxxx", ShaderDecode.Fmul_I32); Set("0100110001101x", ShaderDecode.Fmul_C); Set("0011100x01101x", ShaderDecode.Fmul_I); Set("0101110001101x", ShaderDecode.Fmul_R); + Set("0100110001100x", ShaderDecode.Fmnmx_C); + Set("0011100x01100x", ShaderDecode.Fmnmx_I); + Set("0101110001100x", ShaderDecode.Fmnmx_R); Set("0100100xxxxxxx", ShaderDecode.Fset_C); Set("0011000xxxxxxx", ShaderDecode.Fset_I); Set("01011000xxxxxx", ShaderDecode.Fset_R); @@ -57,17 +64,24 @@ namespace Ryujinx.Graphics.Gal.Shader Set("0011100x11100x", ShaderDecode.I2i_I); Set("0101110011100x", ShaderDecode.I2i_R); Set("11100000xxxxxx", ShaderDecode.Ipa); + Set("0100110000011x", ShaderDecode.Iscadd_C); + Set("0011100x00011x", ShaderDecode.Iscadd_I); + Set("0101110000011x", ShaderDecode.Iscadd_R); Set("010010110110xx", ShaderDecode.Isetp_C); Set("0011011x0110xx", ShaderDecode.Isetp_I); Set("010110110110xx", ShaderDecode.Isetp_R); Set("111000110011xx", ShaderDecode.Kil); Set("1110111111011x", ShaderDecode.Ld_A); - Set("000001xxxxxxxx", ShaderDecode.Lop32i); + Set("1110111110010x", ShaderDecode.Ld_C); + Set("000001xxxxxxxx", ShaderDecode.Lop_I32); Set("0100110010011x", ShaderDecode.Mov_C); Set("0011100x10011x", ShaderDecode.Mov_I); + Set("000000010000xx", ShaderDecode.Mov_I32); Set("0101110010011x", ShaderDecode.Mov_R); - Set("000000010000xx", ShaderDecode.Mov32i); Set("0101000010000x", ShaderDecode.Mufu); + Set("0100110001001x", ShaderDecode.Shl_C); + Set("0011100x01001x", ShaderDecode.Shl_I); + Set("0101110001001x", ShaderDecode.Shl_R); Set("0100110000101x", ShaderDecode.Shr_C); Set("0011100x00101x", ShaderDecode.Shr_I); Set("0101110000101x", ShaderDecode.Shr_R); |
