Make sure attributes used on subsequent shader stages are initialized (#2538)

This commit is contained in:
gdkchan 2021-08-11 17:27:00 -03:00 committed by GitHub
parent 10d649e6d3
commit ed754af8d5
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
15 changed files with 347 additions and 262 deletions

View file

@ -1,4 +1,4 @@
using System;
using Ryujinx.Graphics.Shader;
using System.IO;
namespace Ryujinx.Graphics.Gpu.Shader
@ -30,24 +30,20 @@ namespace Ryujinx.Graphics.Gpu.Shader
/// </summary>
/// <param name="code">Code to be dumped</param>
/// <param name="compute">True for compute shader code, false for graphics shader code</param>
/// <param name="fullPath">Output path for the shader code with header included</param>
/// <param name="codePath">Output path for the shader code without header</param>
public void Dump(byte[] code, bool compute, out string fullPath, out string codePath)
/// <returns>Paths where the shader code was dumped</returns>
public ShaderDumpPaths Dump(byte[] code, bool compute)
{
_dumpPath = GraphicsConfig.ShadersDumpPath;
if (string.IsNullOrWhiteSpace(_dumpPath))
{
fullPath = null;
codePath = null;
return;
return default;
}
string fileName = "Shader" + CurrentDumpIndex.ToString("d4") + ".bin";
fullPath = Path.Combine(FullDir(), fileName);
codePath = Path.Combine(CodeDir(), fileName);
string fullPath = Path.Combine(FullDir(), fileName);
string codePath = Path.Combine(CodeDir(), fileName);
CurrentDumpIndex++;
@ -73,6 +69,8 @@ namespace Ryujinx.Graphics.Gpu.Shader
{
codeWriter.Write(0);
}
return new ShaderDumpPaths(fullPath, codePath);
}
/// <summary>