godot/modules
reduz cf3f404d31 Implement Binary Shader Compilation
* Added an extra stage before compiling shader, which is generating a binary blob.
* On Vulkan, this allows caching the SPIRV reflection information, which is expensive to parse.
* On other (future) RenderingDevices, it allows caching converted binary data, such as DXIL or MSL.

This PR makes the shader cache include the reflection information, hence editor startup times are significantly improved.
I tested this well and it appears to work, and I added a lot of consistency checks, but because it includes writing and reading binary information, rare bugs may pop up, so be aware.
There was not much of a choice for storing the reflection information, given shaders can be a lot, take a lot of space and take time to parse.
2021-07-26 08:40:39 -03:00
..
basis_universal Implement the ability to disable classes 2021-07-13 09:25:14 -03:00
bmp Rename instance()->instantiate() when it's a verb 2021-06-19 20:49:18 -06:00
bullet Ensure KinematicBodies only interact with other Bodies with matching mask. 2021-07-19 17:03:43 +01:00
camera Fix various typos with codespell 2021-07-25 11:21:51 +02:00
csg Use C++ iterators for Lists in many situations 2021-07-23 17:38:28 -04:00
cvtt Modernize atomics 2021-02-18 17:12:46 +01:00
dds Rename instance()->instantiate() when it's a verb 2021-06-19 20:49:18 -06:00
denoise Update copyright statements to 2021 2021-01-01 20:19:21 +01:00
enet Optimize StringName usage 2021-07-18 21:20:02 -03:00
etcpak Import: Cleanup and optimize etcpak compression method 2021-04-16 17:08:36 +02:00
fbx Fix various typos with codespell 2021-07-25 11:21:51 +02:00
freetype Update copyright statements to 2021 2021-01-01 20:19:21 +01:00
gdnative Use const references where possible for List range iterators 2021-07-25 12:22:25 +02:00
gdscript Fix instantiate line class 2021-07-25 14:20:31 +02:00
glslang Implement Binary Shader Compilation 2021-07-26 08:40:39 -03:00
gltf Fix GLTF crash when the material is not set. 2021-07-23 11:54:22 +02:00
gridmap Use const references where possible for List range iterators 2021-07-25 12:22:25 +02:00
hdr Update copyright statements to 2021 2021-01-01 20:19:21 +01:00
jpg Rename instance()->instantiate() when it's a verb 2021-06-19 20:49:18 -06:00
jsonrpc Implement the ability to disable classes 2021-07-13 09:25:14 -03:00
lightmapper_rd Implement Binary Shader Compilation 2021-07-26 08:40:39 -03:00
mbedtls Misc cleanup of header includes 2021-07-15 00:46:43 +02:00
meshoptimizer Disable 3D-only modules when 3D is disabled 2021-06-03 17:45:28 -04:00
minimp3 Implement the ability to disable classes 2021-07-13 09:25:14 -03:00
mobile_vr Implement the ability to disable classes 2021-07-13 09:25:14 -03:00
mono Use const references where possible for List range iterators 2021-07-25 12:22:25 +02:00
navigation Use C++ iterators for Lists in many situations 2021-07-23 17:38:28 -04:00
ogg Update copyright statements to 2021 2021-01-01 20:19:21 +01:00
opensimplex Optimize StringName usage 2021-07-18 21:20:02 -03:00
opus Update copyright statements to 2021 2021-01-01 20:19:21 +01:00
pvr Validate image formats, check if resize_to_po2 failed 2021-06-28 21:17:06 +02:00
raycast Rename Reference to RefCounted 2021-06-11 18:48:42 +02:00
regex Implement the ability to disable classes 2021-07-13 09:25:14 -03:00
squish Import: Cleanup and optimize etcpak compression method 2021-04-16 17:08:36 +02:00
stb_vorbis Implement the ability to disable classes 2021-07-13 09:25:14 -03:00
svg Rename File::get_len() get_length() 2021-05-25 11:54:28 +01:00
text_server_adv Use const references where possible for List range iterators 2021-07-25 12:22:25 +02:00
text_server_fb Use const references where possible for List range iterators 2021-07-25 12:22:25 +02:00
tga Rename instance()->instantiate() when it's a verb 2021-06-19 20:49:18 -06:00
theora Implement the ability to disable classes 2021-07-13 09:25:14 -03:00
tinyexr Rename File::get_len() get_length() 2021-05-25 11:54:28 +01:00
upnp Implement the ability to disable classes 2021-07-13 09:25:14 -03:00
vhacd Options to clean/simplify convex hull generated from mesh 2021-07-07 12:14:12 -07:00
visual_script Use const references where possible for List range iterators 2021-07-25 12:22:25 +02:00
vorbis Update copyright statements to 2021 2021-01-01 20:19:21 +01:00
webm Implement the ability to disable classes 2021-07-13 09:25:14 -03:00
webp Rename instance()->instantiate() when it's a verb 2021-06-19 20:49:18 -06:00
webrtc Use C++ iterators for Lists in many situations 2021-07-23 17:38:28 -04:00
websocket Fix various typos with codespell 2021-07-25 11:21:51 +02:00
webxr Fix various typos with codespell 2021-07-25 11:21:51 +02:00
xatlas_unwrap Assorted fixes to UV unwrapping and GPU lightmapper 2021-05-03 18:10:34 +02:00
modules_builders.py Enable support for C++ modules tests 2020-07-26 17:41:46 +03:00
register_module_types.h Update copyright statements to 2021 2021-01-01 20:19:21 +01:00
SCsub Add env.Depends to modules_enabled.gen.h generator 2021-05-05 11:44:29 +02:00