mcst-linux-kernel/patches-2024.06.26/gl4es-1.1.4/0182-Fix-backslash-newline-...

38 lines
1.2 KiB
Diff

From 2b939f0f846ae9661199179994214a28db98a385 Mon Sep 17 00:00:00 2001
From: JohnnyonFlame <johnnyonflame@hotmail.com>
Date: Sun, 7 Nov 2021 04:10:13 -0300
Subject: [PATCH 182/233] Fix backslash newline shader failures.
---
src/gl/shaderconv.c | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/src/gl/shaderconv.c b/src/gl/shaderconv.c
index e25ea8c3..185ff7a4 100644
--- a/src/gl/shaderconv.c
+++ b/src/gl/shaderconv.c
@@ -632,6 +632,20 @@ char* ConvertShader(const char* pEntry, int isVertex, shaderconv_need_t *need)
Tmp = InplaceInsert(GetLine(Tmp, headline), textureCubeGradAlt, Tmp, &tmpsize);
}
}
+
+ // Some drivers have troubles with "\\\r\n" or "\\\n" sequences on preprocessor macros
+ newptr = Tmp;
+ while (*newptr!=0x00) {
+ if (*newptr == '\\') {
+ if (*(newptr+1) == '\r' && *(newptr+2) == '\n')
+ memmove(newptr, newptr+3, strlen(newptr+3)+1);
+ else if (*(newptr+1) == '\n')
+ memmove(newptr, newptr+2, strlen(newptr+2)+1);
+ }
+
+ newptr++;
+ }
+
// now check to remove trailling "f" after float, as it's not supported too
newptr = Tmp;
// simple state machine...
--
2.11.0