aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.Graphics.Gpu/Engine/ShaderCache.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Ryujinx.Graphics.Gpu/Engine/ShaderCache.cs')
-rw-r--r--Ryujinx.Graphics.Gpu/Engine/ShaderCache.cs28
1 files changed, 24 insertions, 4 deletions
diff --git a/Ryujinx.Graphics.Gpu/Engine/ShaderCache.cs b/Ryujinx.Graphics.Gpu/Engine/ShaderCache.cs
index d280ea6f..922f4a44 100644
--- a/Ryujinx.Graphics.Gpu/Engine/ShaderCache.cs
+++ b/Ryujinx.Graphics.Gpu/Engine/ShaderCache.cs
@@ -117,7 +117,13 @@ namespace Ryujinx.Graphics.Gpu.Engine
program = Translator.Translate(code, translationConfig);
- _dumper.Dump(gpuVa, compute : true);
+ _dumper.Dump(code, compute : true, out string fullPath, out string codePath);
+
+ if (fullPath != null && codePath != null)
+ {
+ program.Prepend("// " + codePath);
+ program.Prepend("// " + fullPath);
+ }
return program;
}
@@ -144,8 +150,16 @@ namespace Ryujinx.Graphics.Gpu.Engine
program = Translator.Translate(codeA, codeB, translationConfig);
- _dumper.Dump(gpuVaA, compute: false);
- _dumper.Dump(gpuVa, compute: false);
+ _dumper.Dump(codeA, compute: false, out string fullPathA, out string codePathA);
+ _dumper.Dump(codeB, compute: false, out string fullPathB, out string codePathB);
+
+ if (fullPathA != null && fullPathB != null && codePathA != null && codePathB != null)
+ {
+ program.Prepend("// " + codePathB);
+ program.Prepend("// " + fullPathB);
+ program.Prepend("// " + codePathA);
+ program.Prepend("// " + fullPathA);
+ }
}
else
{
@@ -153,7 +167,13 @@ namespace Ryujinx.Graphics.Gpu.Engine
program = Translator.Translate(code, translationConfig);
- _dumper.Dump(gpuVa, compute: false);
+ _dumper.Dump(code, compute: false, out string fullPath, out string codePath);
+
+ if (fullPath != null && codePath != null)
+ {
+ program.Prepend("// " + codePath);
+ program.Prepend("// " + fullPath);
+ }
}
if (program.Stage == ShaderStage.Geometry)