Commit graph

23 commits

Author SHA1 Message Date
chyyran
252f685967 reflect: abstract away output compiler into its own trait 2024-02-11 15:48:01 -05:00
chyyran
a7ca391ef6 reflect: abstract away input compiler from compilation 2024-02-11 15:48:01 -05:00
chyyran
a14b36e05b presets: initial preset contexts API 2024-02-09 02:02:13 -05:00
chyyran
f9fdb93c0c dep: update glslang and bitflags 2024-02-08 18:16:10 -05:00
chyyran
2b208f1848 dep: remove shaderc dependency 2024-02-07 23:55:33 -05:00
chyyran
4dfcdf2725 reflect(wgsl): wgsl compile backend 2024-02-06 19:04:28 -05:00
chyyran
604edfb78f cache: implement transparent shader object cache
supported objects:

- SPIR-V artifacts
- Validated DXIL artifacts
- DXBC artifacts
- OpenGL Program Binaries
- Vulkan Pipeline caches
- D3D12 CACHED_PIPELINE_STATE
2023-02-15 18:08:47 -05:00
chyyran
f5fe3e37ef rt(d3d11/vk): allow for parallel shader compilation
OpenGL is for obvious reasons incompatible, and for DX12 the graphics pipeline creation has to be on the main thread so there isn't that much gain to be had.
2023-02-05 19:53:45 -05:00
chyyran
261710d639 reflect: move GlslangCompilation up a level and remove intermediate modules in reflect::front 2023-01-19 01:06:17 -05:00
chyyran
4e51704e35 reflect: abstract away preset compilation 2023-01-18 20:56:08 -05:00
chyyran
aea440f194 reflect: remove rspirv
When naga is more mature (i.e. with support for COMBINED_IMAGE_SAMPLER), `naga::Module` handles everything we need with a more ergonomic API
2023-01-15 20:06:36 -05:00
chyyran
e804ffd310 reflect: document and rename some structs 2022-12-01 01:50:16 -05:00
chyyran
5088e1c55b fmt: run cargo fmt and clippy 2022-11-30 01:38:05 -05:00
chyyran
38ce621664 reflect: make compilation an associated function 2022-11-21 16:28:28 -05:00
chyyran
1579516d25 fmt: clean up unused items 2022-11-21 16:21:50 -05:00
chyyran
80fa30e54e preprocess: move ShaderSource to preprocess and rename common def libs 2022-11-21 16:13:37 -05:00
chyyran
d6f47f83ca fmt: run clippy 2022-10-31 20:29:25 -04:00
chyyran
073921b9fb reflect: implement shader reflection 2022-10-27 02:22:44 -04:00
chyyran
3a0b545ad2 reflect: more work on semantics binding 2022-10-25 22:13:39 -04:00
chyyran
809c58f34d reflect: move naga stuff to naga 2022-10-25 01:50:08 -04:00
chyyran
6ab3775b23 reflect: some cursed experiments 2022-10-25 01:47:41 -04:00
chyyran
36a885e55a reflect: partially implement reflection 2022-10-23 23:22:26 -04:00
chyyran
0f91b9a49e reflect: add reflection crate 2022-10-23 02:36:41 -04:00