using Ryujinx.Graphics.Shader; namespace Ryujinx.Graphics.Gpu.Shader { /// /// Paths where shader code was dumped on disk. /// readonly struct ShaderDumpPaths { /// /// Path where the full shader code with header was dumped, or null if not dumped. /// public string FullPath { get; } /// /// Path where the shader code without header was dumped, or null if not dumped. /// public string CodePath { get; } /// /// True if the shader was dumped, false otherwise. /// public bool HasPath => FullPath != null && CodePath != null; /// /// Creates a new shader dumps path structure. /// /// Path where the full shader code with header was dumped, or null if not dumped /// Path where the shader code without header was dumped, or null if not dumped public ShaderDumpPaths(string fullPath, string codePath) { FullPath = fullPath; CodePath = codePath; } /// /// Prepends the shader paths on the program source, as a comment. /// /// Program to prepend into public void Prepend(ShaderProgram program) { if (HasPath) { program.Prepend("// " + CodePath); program.Prepend("// " + FullPath); } } } }