aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.ShaderTools/Program.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Ryujinx.ShaderTools/Program.cs')
-rw-r--r--Ryujinx.ShaderTools/Program.cs29
1 files changed, 10 insertions, 19 deletions
diff --git a/Ryujinx.ShaderTools/Program.cs b/Ryujinx.ShaderTools/Program.cs
index e763e2c1..cb5805be 100644
--- a/Ryujinx.ShaderTools/Program.cs
+++ b/Ryujinx.ShaderTools/Program.cs
@@ -1,6 +1,4 @@
-using Ryujinx.Graphics.Gal;
-using Ryujinx.Graphics.Shader;
-using Ryujinx.Graphics.Shader.Translation;
+using Ryujinx.Graphics.Shader.Translation;
using System;
using System.IO;
@@ -10,33 +8,26 @@ namespace Ryujinx.ShaderTools
{
static void Main(string[] args)
{
- if (args.Length == 2)
+ if (args.Length == 1 || args.Length == 2)
{
- GalShaderType type = GalShaderType.Vertex;
+ TranslationFlags flags = TranslationFlags.None;
- switch (args[0].ToLower())
+ if (args.Length == 2 && args[0] == "--compute")
{
- case "v": type = GalShaderType.Vertex; break;
- case "tc": type = GalShaderType.TessControl; break;
- case "te": type = GalShaderType.TessEvaluation; break;
- case "g": type = GalShaderType.Geometry; break;
- case "f": type = GalShaderType.Fragment; break;
+ flags |= TranslationFlags.Compute;
}
- using (FileStream fs = new FileStream(args[1], FileMode.Open, FileAccess.Read))
- {
- Memory mem = new Memory(fs);
+ byte[] data = File.ReadAllBytes(args[args.Length - 1]);
- ShaderConfig config = new ShaderConfig(type, 65536);
+ TranslationConfig translationConfig = new TranslationConfig(0x10000, 0, flags);
- string code = Translator.Translate(mem, 0, config).Code;
+ string code = Translator.Translate(data, translationConfig).Code;
- Console.WriteLine(code);
- }
+ Console.WriteLine(code);
}
else
{
- Console.WriteLine("Usage: Ryujinx.ShaderTools [v|tc|te|g|f] shader.bin");
+ Console.WriteLine("Usage: Ryujinx.ShaderTools [--compute] shader.bin");
}
}
}