aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.Graphics.Shader/Translation
diff options
context:
space:
mode:
authorgdk <gab.dark.100@gmail.com>2019-11-15 20:41:06 -0300
committerThog <thog@protonmail.com>2020-01-09 02:13:00 +0100
commit8eb773d81f0b580851b840f3abc222b784523fbc (patch)
tree7be5a2a09072363d287728080224c1ad1188d286 /Ryujinx.Graphics.Shader/Translation
parent04102e5c9db600d4ea4ffc0b514bda6f5e300bca (diff)
Make the shader translator more error resilient (part 2)
Diffstat (limited to 'Ryujinx.Graphics.Shader/Translation')
-rw-r--r--Ryujinx.Graphics.Shader/Translation/Translator.cs9
1 files changed, 9 insertions, 0 deletions
diff --git a/Ryujinx.Graphics.Shader/Translation/Translator.cs b/Ryujinx.Graphics.Shader/Translation/Translator.cs
index 3e5cb4a8..2f33997c 100644
--- a/Ryujinx.Graphics.Shader/Translation/Translator.cs
+++ b/Ryujinx.Graphics.Shader/Translation/Translator.cs
@@ -28,6 +28,13 @@ namespace Ryujinx.Graphics.Shader.Translation
Block[] cfg = Decoder.Decode(code, (ulong)headerSize);
+ if (cfg == null)
+ {
+ // TODO: Error.
+
+ return code;
+ }
+
ulong endAddress = 0;
foreach (Block block in cfg)
@@ -163,6 +170,8 @@ namespace Ryujinx.Graphics.Shader.Translation
if (cfg == null)
{
+ // TODO: Error.
+
size = 0;
return new Operation[0];