Commit graph

41 commits

Author SHA1 Message Date
chyyran
31ece05246 reflect: allow more reflection objects to be serializable 2024-09-27 01:12:02 -04:00
chyyran
c9a6411394 deps: consolidate and update dependencies 2024-09-06 22:45:07 -04:00
chyyran
db3d5d05a6 presets: use crate for extract_if with fully qualified syntax to avoid name collision with unstable std 2024-08-20 23:13:39 -04:00
chyyran
1957f576ca reflect: further improve link i/o pass by ensuring that the output SPIR-V is valid according to Vulkan 1.0 semantics
The pass will now create and reassign types of downgraded outputs to a type with Private storage class, without affecting the type of other outputs.

Downgraded outputs also get removed from the entrypoint interface
2024-08-20 23:13:39 -04:00
chyyran
45c3c876f4 reflect: remove explicit compile function in favour of TryFrom 2024-08-19 18:33:30 -04:00
chyyran
9b40c10466 reflect: improve inout link algorithm 2024-08-19 18:19:21 -04:00
Ronny Chan
cd14bca23a Revert "reflect: improve inout link algorithm"
This reverts commit 1ac78695c6.
2024-08-19 01:53:38 -04:00
chyyran
1ac78695c6 reflect: improve inout link algorithm 2024-08-19 01:40:22 -04:00
chyyran
7ef3780222 fmt: cargo fmt 2024-02-19 12:39:44 -05:00
chyyran
e8eee02bfb reflect: always link and trim unused inouts 2024-02-19 09:54:19 -05:00
chyyran
22aa59b598 reflect: move spirv_passes out of naga 2024-02-19 09:54:19 -05:00
chyyran
b75a614873 doc(reflect): document ShaderReflectObject 2024-02-19 09:54:19 -05:00
chyyran
017a1a6232 fmt: clean up imports and features 2024-02-16 01:19:52 -05:00
chyyran
ba6c32e858 rt(wgpu): enable large thread size if possible 2024-02-15 21:43:02 -05:00
chyyran
4247e64336 docs: update capi docs 2024-02-14 20:50:17 -05:00
chyyran
cc93e37701 reflect: get rid of redundant shader compiler argument 2024-02-14 03:08:09 -05:00
chyyran
528dd1b53c reflect: fix some refs 2024-02-11 15:48:01 -05:00
chyyran
e1f62fc984 reflect: remove ShaderOutputCompiler and just delegate to FromCompilation 2024-02-11 15:48:01 -05:00
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