From 79e007036383b11cd53c2563fbb7f139a02c90ec Mon Sep 17 00:00:00 2001 From: gdkchan Date: Tue, 22 May 2018 22:43:31 -0300 Subject: Improve shader sending method to GAL, use a memory interface instead of reading a fixed array size and sending every time --- Ryushader/Program.cs | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) (limited to 'Ryushader/Program.cs') 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 { -- cgit v1.2.3