Commit graph

92 commits

Author SHA1 Message Date
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
37397ff216 lib: add wgpu to librashader library 2024-02-06 19:04:28 -05:00
chyyran
2450217c29 fmt: cargo fmt 2024-02-06 19:04:28 -05:00
chyyran
121dbc4ed6 reflect(wgsl): properly adjust coordinate space to WGSL-expected 2024-02-06 19:04:28 -05:00
chyyran
555ff6f9fc rt(wgpu): update to wgpu 0.19 2024-02-06 19:04:28 -05:00
chyyran
4e052159e7 rt(wgpu): create pipeline bind group layouts 2024-02-06 19:04:28 -05:00
chyyran
171c842c97 reflect(wgsl): implement WGSL reflection 2024-02-06 19:04:28 -05:00
chyyran
4dfcdf2725 reflect(wgsl): wgsl compile backend 2024-02-06 19:04:28 -05:00
chyyran
80325fda9e fmt: cargo fmt 2024-02-03 02:42:52 -05:00
chyyran
f4bdf160ab build: only build dxil on windows 2023-11-29 03:26:58 -05:00
chyyran
f5da7d8421 fmt: cargo fmt 2023-07-20 02:40:13 -04:00
chyyran
b09a5295ab reflect: update spirv-to-dxil 2023-07-20 02:40:13 -04:00
chyyran
70aa4091e0 build: fix nightly flag 2023-04-23 00:13:39 -04: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
c475a4cd9d reflect: fix feature flag for dxil 2023-02-08 18:47:22 -05:00
chyyran
d1771a8b25 api: fix feature flags to allow building a proper subset of librashader 2023-02-07 18:50:33 -05:00
chyyran
3eae38f815 fmt: cargo fmt 2023-02-06 21:56:30 -05:00
chyyran
c818ef13f7 docs(reflect): Update docs to reflect that uniforms can be bound to both UBO and Push Constants 2023-02-06 19:34:01 -05:00
chyyran
3ad67d9539 dep: upgrade to spirv-to-dxil 0.3 2023-02-06 19:22:53 -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
b81b2b1d25 fmt: run clippy 2023-02-05 18:34:30 -05:00
chyyran
2d2ed22e9a fmt: run cargo fmt 2023-02-05 16:19:22 -05:00
chyyran
d6ac2c665d reflect: fix expected runtime config options 2023-02-05 01:14:01 -05:00
chyyran
f677666900 d3d12: initial implementation of spirv-to-dxil 2023-02-05 01:05:42 -05:00
chyyran
aa87e13201 reflect: add API to compile to DXIL 2023-02-04 18:24:56 -05:00
chyyran
5d260e77d5 reflect: expose HLSL SM version 2023-02-01 18:58:21 -05:00
chyyran
8b6481abc1 fmt: run clippy and rustfmt 2023-01-29 02:30:58 -05:00
Ronny Chan
dffea95370
reflect: allow binding uniform names to both UBO and Push Constants (#4) 2023-01-29 01:57:09 -05:00
chyyran
43b7d6fb53 preprocess: support latin-1 encoding 2023-01-28 11:58:59 -05:00
chyyran
9397233a0c reflect: don't need error trait bound 2023-01-21 15:47:52 -05:00
chyyran
341d8825c6 build: switch to custom fork of spirv_cross temporarily 2023-01-21 02:33:09 -05:00
chyyran
08ca2963c5 doc: document reflect module 2023-01-19 18:59:39 -05:00
chyyran
ef8b72b220 reflect: use a marker trait to remove need for macro when spelling out compilation artifact opaque type 2023-01-19 18:44:08 -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
b3dd378b5b reflect: simplify shaderpassmeta type declarations with a macro 2023-01-19 00:37:37 -05:00
chyyran
fc54c7f65c reflect: move compile_preset_passes from librashader-runtime into librashader-reflect 2023-01-18 21:58:13 -05:00
chyyran
4e51704e35 reflect: abstract away preset compilation 2023-01-18 20:56:08 -05:00
chyyran
e887b7cf35 docs: add crate docs to helper crates 2023-01-16 23:09:07 -05:00
chyyran
479015d223 api: clean up spirv-cross related apis 2023-01-16 19:35:23 -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
40e4ce908f preprocess: store parameters in FxHashMap 2023-01-15 14:06:38 -05:00
chyyran
403ed5ed13 reflect: rename SpirV to SPIRV 2023-01-13 23:59:16 -05:00
chyyran
8fca2954b0 fmt: run cargo fmt 2022-12-21 21:39:31 -05:00
chyyran
bf840d02e4 reflect: fix spirv fragment output actually was vertex 2022-12-10 01:25:19 -05:00
chyyran
2baeae494d vk: pipeline layout stuff
also ringbuffer fixes
2022-12-06 01:38:21 -05:00
chyyran
22f87aa7f8 reflect: add FromCompilation<GlslangCompilation> for SpirV 2022-12-05 23:09:59 -05:00
chyyran
f92dc5cae6 fmt: run clippy 2022-12-01 19:16:13 -05:00