summaryrefslogtreecommitdiffstats
path: root/glsl_builders.py
diff options
context:
space:
mode:
authorRémi Verschelde <rverschelde@gmail.com>2024-08-28 00:12:47 +0200
committerRémi Verschelde <rverschelde@gmail.com>2024-08-28 00:12:47 +0200
commitdb24ed4eadf233f75cb1ebbf7552d396fb8b4b80 (patch)
tree4c5c22ddcc3013c0d8c19e2637e3f2dd299a10aa /glsl_builders.py
parent78935cad953e7e99a86eed4556fb3459da62b6dc (diff)
parent01637056405df47b072bf9b3aee5a34d9dff35e8 (diff)
downloadredot-engine-db24ed4eadf233f75cb1ebbf7552d396fb8b4b80.tar.gz
Merge pull request #94995 from Repiteo/scons/raw-cstrings
SCons: Add method to generate raw cstrings
Diffstat (limited to 'glsl_builders.py')
-rw-r--r--glsl_builders.py28
1 files changed, 6 insertions, 22 deletions
diff --git a/glsl_builders.py b/glsl_builders.py
index 05aab3acbb..82c15fc93b 100644
--- a/glsl_builders.py
+++ b/glsl_builders.py
@@ -1,25 +1,9 @@
"""Functions used to generate source files during build time"""
import os.path
-from typing import Iterable, Optional
+from typing import Optional
-from methods import print_error
-
-
-def generate_inline_code(input_lines: Iterable[str], insert_newline: bool = True):
- """Take header data and generate inline code
-
- :param: input_lines: values for shared inline code
- :return: str - generated inline value
- """
- output = []
- for line in input_lines:
- if line:
- output.append(",".join(str(ord(c)) for c in line))
- if insert_newline:
- output.append("%s" % ord("\n"))
- output.append("0")
- return ",".join(output)
+from methods import print_error, to_raw_cstring
class RDHeaderStruct:
@@ -127,13 +111,13 @@ def build_rd_header(
if header_data.compute_lines:
body_parts = [
- "static const char _compute_code[] = {\n%s\n\t\t};" % generate_inline_code(header_data.compute_lines),
+ "static const char _compute_code[] = {\n%s\n\t\t};" % to_raw_cstring(header_data.compute_lines),
f'setup(nullptr, nullptr, _compute_code, "{out_file_class}");',
]
else:
body_parts = [
- "static const char _vertex_code[] = {\n%s\n\t\t};" % generate_inline_code(header_data.vertex_lines),
- "static const char _fragment_code[] = {\n%s\n\t\t};" % generate_inline_code(header_data.fragment_lines),
+ "static const char _vertex_code[] = {\n%s\n\t\t};" % to_raw_cstring(header_data.vertex_lines),
+ "static const char _fragment_code[] = {\n%s\n\t\t};" % to_raw_cstring(header_data.fragment_lines),
f'setup(_vertex_code, _fragment_code, nullptr, "{out_file_class}");',
]
@@ -211,7 +195,7 @@ def build_raw_header(
#define {out_file_ifdef}_RAW_H
static const char {out_file_base}[] = {{
- {generate_inline_code(header_data.code, insert_newline=False)}
+{to_raw_cstring(header_data.code)}
}};
#endif
"""