summaryrefslogtreecommitdiffstats
path: root/platform
diff options
context:
space:
mode:
authorDario <dariosamo@gmail.com>2024-03-15 14:13:31 -0300
committerDario <dariosamo@gmail.com>2024-10-02 15:11:58 -0300
commite2c6daf7eff6e0b7e2e8d967e95a9ad56e948231 (patch)
treed37262a01ec645c1e150f6f4612226303b0a9705 /platform
parent1917bc3454e58fc56750b00e04aa25cb94d8d266 (diff)
downloadredot-engine-e2c6daf7eff6e0b7e2e8d967e95a9ad56e948231.tar.gz
Implement asynchronous transfer queues, thread guards on RenderingDevice. Add ubershaders and rework pipeline caches for Forward+ and Mobile.
- Implements asynchronous transfer queues from PR #87590. - Adds ubershaders that can run with specialization constants specified as push constants. - Pipelines with specialization constants can compile in the background. - Added monitoring for pipeline compilations. - Materials and shaders can now be created asynchronously on background threads. - Meshes that are loaded on background threads can also compile pipelines as part of the loading process.
Diffstat (limited to 'platform')
-rw-r--r--platform/macos/detect.py8
1 files changed, 8 insertions, 0 deletions
diff --git a/platform/macos/detect.py b/platform/macos/detect.py
index e35423d41f..595a83ead3 100644
--- a/platform/macos/detect.py
+++ b/platform/macos/detect.py
@@ -8,6 +8,10 @@ from platform_methods import detect_arch, detect_mvk
if TYPE_CHECKING:
from SCons.Script.SConscript import SConsEnvironment
+# To match other platforms
+STACK_SIZE = 8388608
+STACK_SIZE_SANITIZERS = 30 * 1024 * 1024
+
def get_name():
return "macOS"
@@ -183,6 +187,10 @@ def configure(env: "SConsEnvironment"):
env.Append(CCFLAGS=["-fsanitize=thread"])
env.Append(LINKFLAGS=["-fsanitize=thread"])
+ env.Append(LINKFLAGS=["-Wl,-stack_size," + hex(STACK_SIZE_SANITIZERS)])
+ else:
+ env.Append(LINKFLAGS=["-Wl,-stack_size," + hex(STACK_SIZE)])
+
if env["use_coverage"]:
env.Append(CCFLAGS=["-ftest-coverage", "-fprofile-arcs"])
env.Append(LINKFLAGS=["-ftest-coverage", "-fprofile-arcs"])