Commit graph

42 commits

Author SHA1 Message Date
chyyran 742a1c8658 dep: update glslang 2024-10-01 23:59:29 -04:00
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