virtualx-engine/drivers
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
..
alsa Omit some functions in alsa wrapper 2021-02-22 19:22:53 +01:00
alsamidi Don't clobber original library symbols 2021-02-18 00:21:10 +01:00
coreaudio Core: Drop custom copymem/zeromem defines 2021-04-27 16:26:27 +02:00
coremidi Update copyright statements to 2021 2021-01-01 20:19:21 +01:00
png Rename instance()->instantiate() when it's a verb 2021-06-19 20:49:18 -06:00
pulseaudio Fix crash when using ALSA MIDI with PulseAudio 2021-06-03 10:10:10 +02:00
spirv-reflect SCons: Add explicit dependencies on thirdparty code in cloned env 2020-12-18 10:29:34 +01:00
unix Use const references where possible for List range iterators 2021-07-25 12:22:25 +02:00
vulkan Implement Binary Shader Compilation 2021-07-26 08:40:39 -03:00
wasapi Reorganize Project Settings 2021-02-18 11:23:34 -03:00
windows Implement Resource UIDs 2021-07-24 09:16:52 -03:00
winmidi Update copyright statements to 2021 2021-01-01 20:19:21 +01:00
xaudio2 Reorganize Project Settings 2021-02-18 11:23:34 -03:00
register_driver_types.cpp Rename instance()->instantiate() when it's a verb 2021-06-19 20:49:18 -06:00
register_driver_types.h Update copyright statements to 2021 2021-01-01 20:19:21 +01:00
SCsub LinuxBSD now compiles without vulkan/x11. 2021-06-01 16:27:54 +02:00