aboutsummaryrefslogtreecommitdiff
path: root/Ryushader/Program.cs
diff options
context:
space:
mode:
authorgdkchan <gab.dark.100@gmail.com>2018-05-22 22:43:31 -0300
committergdkchan <gab.dark.100@gmail.com>2018-05-22 22:43:31 -0300
commit79e007036383b11cd53c2563fbb7f139a02c90ec (patch)
treec7ddfc097282b98afd16f08cc5042636f9283224 /Ryushader/Program.cs
parent84996ccd36a5fa13892c1f02acb1c79031c35aa5 (diff)
Improve shader sending method to GAL, use a memory interface instead of reading a fixed array size and sending every time
Diffstat (limited to 'Ryushader/Program.cs')
-rw-r--r--Ryushader/Program.cs16
1 files changed, 5 insertions, 11 deletions
diff --git a/Ryushader/Program.cs b/Ryushader/Program.cs
index 6fec744d..9444be6d 100644
--- a/Ryushader/Program.cs
+++ b/Ryushader/Program.cs
@@ -24,20 +24,14 @@ namespace Ryushader
case "f": ShaderType = GalShaderType.Fragment; break;
}
- byte[] Data = File.ReadAllBytes(args[1]);
-
- int[] Code = new int[Data.Length / 4];
-
- for (int Offset = 0; Offset + 4 <= Data.Length; Offset += 4)
+ using (FileStream FS = new FileStream(args[1], FileMode.Open, FileAccess.Read))
{
- int Value = BitConverter.ToInt32(Data, Offset);
+ Memory Mem = new Memory(FS);
- Code[Offset >> 2] = Value;
- }
+ GlslProgram Program = Decompiler.Decompile(Mem, 0, ShaderType);
- GlslProgram Program = Decompiler.Decompile(Code, ShaderType);
-
- Console.WriteLine(Program.Code);
+ Console.WriteLine(Program.Code);
+ }
}
else
{