0
0
Fork 0
mirror of https://github.com/GreemDev/Ryujinx.git synced 2024-12-23 06:55:48 +00:00

Fix size of cached compute shaders (#2548)

* Fix size of cached compute shaders

* Missed one
This commit is contained in:
gdkchan 2021-08-12 15:59:24 -03:00 committed by GitHub
parent 8196086f7a
commit eb181425b1
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -179,7 +179,9 @@ namespace Ryujinx.Graphics.Gpu.Shader
program = new ShaderProgram(entry.Header.Stage, ""); program = new ShaderProgram(entry.Header.Stage, "");
shaderProgramInfo = hostShaderEntries[0].ToShaderProgramInfo(); shaderProgramInfo = hostShaderEntries[0].ToShaderProgramInfo();
ShaderCodeHolder shader = new ShaderCodeHolder(program, shaderProgramInfo, entry.Code); byte[] code = entry.Code.AsSpan().Slice(0, entry.Header.Size - entry.Header.Cb1DataSize).ToArray();
ShaderCodeHolder shader = new ShaderCodeHolder(program, shaderProgramInfo, code);
_cpProgramsDiskCache.Add(key, new ShaderBundle(hostProgram, shader)); _cpProgramsDiskCache.Add(key, new ShaderBundle(hostProgram, shader));
@ -214,7 +216,9 @@ namespace Ryujinx.Graphics.Gpu.Shader
return true; // Exit early, the decoding step failed. return true; // Exit early, the decoding step failed.
} }
ShaderCodeHolder shader = new ShaderCodeHolder(program, shaderProgramInfo, entry.Code); byte[] code = entry.Code.AsSpan().Slice(0, entry.Header.Size - entry.Header.Cb1DataSize).ToArray();
ShaderCodeHolder shader = new ShaderCodeHolder(program, shaderProgramInfo, code);
Logger.Info?.Print(LogClass.Gpu, $"Host shader {key} got invalidated, rebuilding from guest..."); Logger.Info?.Print(LogClass.Gpu, $"Host shader {key} got invalidated, rebuilding from guest...");