38 lines
1.2 KiB
Diff
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
|
|
|