mirror of https://github.com/godotengine/godot
Merge pull request #103185 from stuartcarnie/metal_lazy
Metal: Compile `MTLLibrary` on demand when pipeline is created
This commit is contained in:
commit
5cfa89ed0e
|
|
@ -4082,9 +4082,14 @@ RenderingDeviceDriverMetal::RenderingDeviceDriverMetal(RenderingContextDriverMet
|
||||||
context_driver(p_context_driver) {
|
context_driver(p_context_driver) {
|
||||||
DEV_ASSERT(p_context_driver != nullptr);
|
DEV_ASSERT(p_context_driver != nullptr);
|
||||||
|
|
||||||
|
#if TARGET_OS_OSX
|
||||||
if (String res = OS::get_singleton()->get_environment("GODOT_MTL_SHADER_LOAD_STRATEGY"); res == U"lazy") {
|
if (String res = OS::get_singleton()->get_environment("GODOT_MTL_SHADER_LOAD_STRATEGY"); res == U"lazy") {
|
||||||
_shader_load_strategy = ShaderLoadStrategy::LAZY;
|
_shader_load_strategy = ShaderLoadStrategy::LAZY;
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
// Always use the lazy strategy on other OSs like iOS, tvOS, or visionOS.
|
||||||
|
_shader_load_strategy = ShaderLoadStrategy::LAZY;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
RenderingDeviceDriverMetal::~RenderingDeviceDriverMetal() {
|
RenderingDeviceDriverMetal::~RenderingDeviceDriverMetal() {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue