godot/servers/rendering
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
..
renderer_rd Implement Binary Shader Compilation 2021-07-26 08:40:39 -03:00
rasterizer_dummy.h Implement more rendering options as specialization constants 2021-07-19 21:51:29 -03:00
renderer_canvas_cull.cpp Improve RID_Owner memory usage 2021-06-29 12:28:08 -03:00
renderer_canvas_cull.h Improve RID_Owner memory usage 2021-06-29 12:28:08 -03:00
renderer_canvas_render.cpp Update copyright statements to 2021 2021-01-01 20:19:21 +01:00
renderer_canvas_render.h Clean up RenderingServer and its bindings 2021-07-01 09:07:36 -03:00
renderer_compositor.cpp Add stereoscopic rendering through multiview 2021-06-13 22:52:20 +10:00
renderer_compositor.h Fix Render Info 2021-07-03 10:15:04 -03:00
renderer_scene_cull.cpp Merge pull request #50809 from akien-mga/iterators-const-references 2021-07-25 12:52:58 +02:00
renderer_scene_cull.h Implement more rendering options as specialization constants 2021-07-19 21:51:29 -03:00
renderer_scene_occlusion_cull.cpp Clean up RenderingServer and its bindings 2021-07-01 09:07:36 -03:00
renderer_scene_occlusion_cull.h Rename Transform to Transform3D in core 2021-06-03 07:30:01 -04:00
renderer_scene_render.cpp Inverse XR camera offset for stereoscopic rendering 2021-06-19 19:33:40 +10:00
renderer_scene_render.h Implement more rendering options as specialization constants 2021-07-19 21:51:29 -03:00
renderer_scene.cpp Update copyright statements to 2021 2021-01-01 20:19:21 +01:00
renderer_scene.h Implement more rendering options as specialization constants 2021-07-19 21:51:29 -03:00
renderer_storage.cpp Rewrite render code to be more cache and thread friendly. 2021-01-05 08:50:18 -03:00
renderer_storage.h Use specialization constants in clustered renderer 2021-07-12 20:33:52 -03:00
renderer_thread_pool.cpp Threaded optimizations to cull and render 2021-01-05 08:50:18 -03:00
renderer_thread_pool.h Threaded optimizations to cull and render 2021-01-05 08:50:18 -03:00
renderer_viewport.cpp Explicit error message when setting active a Viewport that is already active. 2021-07-12 13:27:45 +02:00
renderer_viewport.h Restructure and reimplement vsync options 2021-07-06 16:34:26 +02:00
rendering_device_binds.cpp Implement Binary Shader Compilation 2021-07-26 08:40:39 -03:00
rendering_device_binds.h Implement Binary Shader Compilation 2021-07-26 08:40:39 -03:00
rendering_device.cpp Implement Binary Shader Compilation 2021-07-26 08:40:39 -03:00
rendering_device.h Implement Binary Shader Compilation 2021-07-26 08:40:39 -03:00
rendering_server_default.cpp Optimize StringName usage 2021-07-18 21:20:02 -03:00
rendering_server_default.h Implement more rendering options as specialization constants 2021-07-19 21:51:29 -03:00
rendering_server_globals.cpp Refactor VisibilityNotifier 2021-06-16 10:48:57 -03:00
rendering_server_globals.h Refactor VisibilityNotifier 2021-06-16 10:48:57 -03:00
SCsub RenderingServer reorganization 2020-12-04 18:39:46 -03:00
shader_language.cpp Use const references where possible for List range iterators 2021-07-25 12:22:25 +02:00
shader_language.h Added a shader warning about unused local variable 2021-06-29 15:39:37 +03:00
shader_types.cpp Fix Subsurface Scattering 2021-07-05 17:17:45 -03:00
shader_types.h Update copyright statements to 2021 2021-01-01 20:19:21 +01:00
shader_warnings.cpp Added a shader warning about unused local variable 2021-06-29 15:39:37 +03:00
shader_warnings.h Added a shader warning about unused local variable 2021-06-29 15:39:37 +03:00