From e6eeb6f09ff592f5b27e115d1817654de7568757 Mon Sep 17 00:00:00 2001 From: gdkchan Date: Wed, 27 Jun 2018 23:55:08 -0300 Subject: Add support for Vertex Program A and other small shader improvements (#192) * Add WIP support for Vertex Program A, add the FADD_I32 shader instruction, small fix on FFMA_I encoding, nits * Add separate subroutines for program A/B, and copy attributes to a temp * Move finalization code to main * Add new line after flip uniform on the shader * Handle possible case where VPB uses an output attribute written by VPA but not available on the vbo * Address PR feedback --- Ryujinx.Graphics/Gal/Shader/ShaderOpCodeTable.cs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'Ryujinx.Graphics/Gal/Shader/ShaderOpCodeTable.cs') diff --git a/Ryujinx.Graphics/Gal/Shader/ShaderOpCodeTable.cs b/Ryujinx.Graphics/Gal/Shader/ShaderOpCodeTable.cs index 074cfbb2..b4f51e50 100644 --- a/Ryujinx.Graphics/Gal/Shader/ShaderOpCodeTable.cs +++ b/Ryujinx.Graphics/Gal/Shader/ShaderOpCodeTable.cs @@ -39,14 +39,15 @@ namespace Ryujinx.Graphics.Gal.Shader Set("0101110010110x", ShaderDecode.F2i_R); Set("0100110001011x", ShaderDecode.Fadd_C); Set("0011100x01011x", ShaderDecode.Fadd_I); + Set("000010xxxxxxxx", ShaderDecode.Fadd_I32); Set("0101110001011x", ShaderDecode.Fadd_R); Set("010010011xxxxx", ShaderDecode.Ffma_CR); - Set("001100101xxxxx", ShaderDecode.Ffma_I); + Set("0011001x1xxxxx", ShaderDecode.Ffma_I); Set("010100011xxxxx", ShaderDecode.Ffma_RC); Set("010110011xxxxx", ShaderDecode.Ffma_RR); - Set("00011110xxxxxx", ShaderDecode.Fmul_I32); Set("0100110001101x", ShaderDecode.Fmul_C); Set("0011100x01101x", ShaderDecode.Fmul_I); + Set("00011110xxxxxx", ShaderDecode.Fmul_I32); Set("0101110001101x", ShaderDecode.Fmul_R); Set("0100110001100x", ShaderDecode.Fmnmx_C); Set("0011100x01100x", ShaderDecode.Fmnmx_I); -- cgit v1.2.3