mirror of
				https://github.com/ryujinx-mirror/ryujinx.git
				synced 2025-11-04 08:59:04 -06:00 
			
		
		
		
	Fix shader RegisterUsage pass only taking first operation dest into account (#7131)
* Fix shader RegisterUsage pass only taking first operation dest into account * Shader cache version bump
This commit is contained in:
		@@ -22,7 +22,7 @@ namespace Ryujinx.Graphics.Gpu.Shader.DiskCache
 | 
			
		||||
        private const ushort FileFormatVersionMajor = 1;
 | 
			
		||||
        private const ushort FileFormatVersionMinor = 2;
 | 
			
		||||
        private const uint FileFormatVersionPacked = ((uint)FileFormatVersionMajor << 16) | FileFormatVersionMinor;
 | 
			
		||||
        private const uint CodeGenVersion = 6921;
 | 
			
		||||
        private const uint CodeGenVersion = 7131;
 | 
			
		||||
 | 
			
		||||
        private const string SharedTocFileName = "shared.toc";
 | 
			
		||||
        private const string SharedDataFileName = "shared.data";
 | 
			
		||||
 
 | 
			
		||||
@@ -155,9 +155,14 @@ namespace Ryujinx.Graphics.Shader.Translation
 | 
			
		||||
                        localInputs[block.Index] |= GetMask(register) & ~localOutputs[block.Index];
 | 
			
		||||
                    }
 | 
			
		||||
 | 
			
		||||
                    if (operation.Dest != null && operation.Dest.Type == OperandType.Register)
 | 
			
		||||
                    for (int dstIndex = 0; dstIndex < operation.DestsCount; dstIndex++)
 | 
			
		||||
                    {
 | 
			
		||||
                        localOutputs[block.Index] |= GetMask(operation.Dest.GetRegister());
 | 
			
		||||
                        Operand dest = operation.GetDest(dstIndex);
 | 
			
		||||
 | 
			
		||||
                        if (dest != null && dest.Type == OperandType.Register)
 | 
			
		||||
                        {
 | 
			
		||||
                            localOutputs[block.Index] |= GetMask(dest.GetRegister());
 | 
			
		||||
                        }
 | 
			
		||||
                    }
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user