godot/servers/rendering/renderer_rd
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
..
forward_clustered Merge pull request #50605 from Calinou/tweak-shader-code-style 2021-07-20 10:05:13 +02:00
forward_mobile Merge pull request #50644 from BastiaanOlij/mobile_compute_to_fragment 2021-07-25 11:58:11 +02:00
shaders Merge pull request #50250 from luzpaz/typos 2021-07-25 12:38:58 +02:00
cluster_builder_rd.cpp Rename Transform to Transform3D in core 2021-06-03 07:30:01 -04:00
cluster_builder_rd.h Rename Transform to Transform3D in core 2021-06-03 07:30:01 -04:00
effects_rd.cpp Use fragment shader instead of compute shader for effects for mobile renderer 2021-07-25 13:58:21 +10:00
effects_rd.h Use fragment shader instead of compute shader for effects for mobile renderer 2021-07-25 13:58:21 +10:00
pipeline_cache_rd.cpp Implement more rendering options as specialization constants 2021-07-19 21:51:29 -03:00
pipeline_cache_rd.h Implement more rendering options as specialization constants 2021-07-19 21:51:29 -03:00
renderer_canvas_render_rd.cpp Fix various typos with codespell 2021-07-25 11:21:51 +02:00
renderer_canvas_render_rd.h Unify material parameter update 2021-07-06 18:57:38 -03:00
renderer_compositor_rd.cpp Use fragment shader instead of compute shader for effects for mobile renderer 2021-07-25 13:58:21 +10:00
renderer_compositor_rd.h Fix Boot Splash 2021-07-03 18:09:19 -03:00
renderer_scene_environment_rd.cpp Moving GI code into RendererServerGIRD 2021-02-25 15:15:48 +11:00
renderer_scene_environment_rd.h Moving GI code into RendererServerGIRD 2021-02-25 15:15:48 +11:00
renderer_scene_gi_rd.cpp Fix SDFGI 2021-07-03 21:24:37 -03:00
renderer_scene_gi_rd.h Clean up RenderingServer and its bindings 2021-07-01 09:07:36 -03:00
renderer_scene_render_rd.cpp Merge pull request #50250 from luzpaz/typos 2021-07-25 12:38:58 +02:00
renderer_scene_render_rd.h Merge pull request #50644 from BastiaanOlij/mobile_compute_to_fragment 2021-07-25 11:58:11 +02:00
renderer_scene_sky_rd.cpp Use C++11 raw literals for shader code to improve readability 2021-07-19 08:19:50 +02:00
renderer_scene_sky_rd.h Unify material parameter update 2021-07-06 18:57:38 -03:00
renderer_storage_rd.cpp Use const references where possible for List range iterators 2021-07-25 12:22:25 +02:00
renderer_storage_rd.h Use fragment shader instead of compute shader for effects for mobile renderer 2021-07-25 13:58:21 +10:00
SCsub Create mobile renderer 2021-05-03 21:54:11 +10:00
shader_compiler_rd.cpp Merge pull request #50809 from akien-mga/iterators-const-references 2021-07-25 12:52:58 +02:00
shader_compiler_rd.h Refactor GLSL shader compilation 2021-04-14 11:37:52 -03:00
shader_rd.cpp Implement Binary Shader Compilation 2021-07-26 08:40:39 -03:00
shader_rd.h Implement Binary Shader Compilation 2021-07-26 08:40:39 -03:00