godot/drivers
Stuart Carnie 818afcb327 Metal: Compile MTLLibrary on demand when pipeline is created
This changes the default shader loading strategy, implemented in the
Metal driver, to compile the `MTLLibrary` on demand when the pipeline
is created, which reduces cold startup time on IPHONE target OSs.

Normally, the `MTLLibrary` is compiled from Metal source asynchronously
when Godot calls
`RenderingDeviceDriverMetal::shader_create_from_bytecode`; however, this
changes this behaviour on mobile platforms to do it on demand when the
pipeline is created, as noted in #96052, Godot will ask to create
many more shaders from bytecode than are initially required. Mobile
OSs like iOS are limited to compiling to shader libraries concurrently,
which results in a significant bottleneck.

This is not the default for macOS, as it can concurrently compile many
shaders at once, resulting in faster startup times for the Godot editor.
2025-02-25 05:32:38 +11:00
..
alsa Use (r)find_char instead of (r)find for single characters 2024-11-17 10:02:18 +01:00
alsamidi Remove unused header in drivers and modules. 2024-12-24 00:40:47 +08:00
apple [macos, ios]: Refactor joypad support into shared code, numerous bugfixes 2025-01-08 07:00:23 -07:00
backtrace SCons: Add unobtrusive type hints in SCons files 2024-09-25 09:34:35 -05:00
coreaudio Merge pull request #88628 from bruvzg/i_have_no_idea_what_im_doing 2024-10-29 19:25:47 -05:00
coremidi SCons: Add unobtrusive type hints in SCons files 2024-09-25 09:34:35 -05:00
d3d12 Validate varying count when compiling shaders 2025-02-13 15:07:15 -08:00
egl Remove unused header in drivers and modules. 2024-12-24 00:40:47 +08:00
gl_context SCons: Add unobtrusive type hints in SCons files 2024-09-25 09:34:35 -05:00
gles3 Validate varying count when compiling shaders 2025-02-13 15:07:15 -08:00
metal Metal: Compile MTLLibrary on demand when pipeline is created 2025-02-25 05:32:38 +11:00
png libpng: Update to 1.6.45 2025-01-09 15:00:02 +01:00
pulseaudio Initialize pa_buffer_attr.maxlength to -1 2025-01-27 07:57:57 +00:00
unix Fix modified_time on Android 2025-02-20 17:13:41 +01:00
vulkan Merge pull request #102830 from clayjohn/vma-memory-fix 2025-02-17 09:47:47 +01:00
wasapi [Windows] Fix build with MinGW 8.0.0-1. 2025-01-31 20:39:31 +02:00
windows [Windows] Add missing opened file check. 2025-02-13 11:18:46 +02:00
winmidi SCons: Add unobtrusive type hints in SCons files 2024-09-25 09:34:35 -05:00
xaudio2 Merge pull request #97483 from akien-mga/clang-format-19.1.0 2024-09-26 12:46:04 +02:00
register_driver_types.cpp Remove unused header in drivers and modules. 2024-12-24 00:40:47 +08:00
register_driver_types.h One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
SCsub [macos, ios]: Refactor joypad support into shared code, numerous bugfixes 2025-01-08 07:00:23 -07:00