Commit graph

146 commits

Author SHA1 Message Date
chyyran
2f988d5b1d rt: add stable feature to build ShaderPassArtifacts via Box<dyn CompileReflectShader> 2024-09-15 03:10:45 -04:00
chyyran
e0a5c90103 reflect: implement stable FromCompilation 2024-09-15 03:10:45 -04:00
chyyran
4cc3c875bf reflect: allow compilation of boxed trait objects
Add a hidden `compile_boxed` function to CompileShader to support this. This is to allow Box<dyn CompileReflectShader> to work.
2024-09-15 03:10:45 -04:00
chyyran
805854b94b reflect: simplify FromCompilation output signature
CompileShader<..> + ReflectShader and be simplified to CompileReflectShader since FromCompilation instances are unique for (Compilation, Reflector)
2024-09-15 03:10:45 -04:00
chyyran
8b2ff57ee8 reflect: replace let_chains with Option::filter 2024-09-14 02:11:18 -04:00
chyyran
fe48fd03a5 test(mtl): update the metal test 2024-09-12 00:30:23 -04:00
chyyran
a7dd40a79f ci: allow c_str_literals to maintain a lower MSRV 2024-09-06 23:42:18 -04:00
chyyran
090e268c4a doc: improve docs 2024-09-06 22:45:07 -04:00
chyyran
c3033cfbbf reflect: port to spirv-cross2 2024-09-06 22:45:07 -04:00
chyyran
820fb69328 reflect: remove get_prefix from get_texture_semantic/get_unique_semantic 2024-09-06 22:45:07 -04:00
chyyran
c9a6411394 deps: consolidate and update dependencies 2024-09-06 22:45:07 -04:00
chyyran
40a56bf165 reflect/preprocess/presets: use SmallString where it makes sense
Most use cases are internal so at least for the runtime consumers there's no API change, but preset parsing
and reflection items are public API so might as well put this as part of 0.4.0
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
d1e49b7eb4 rt(d3d9): search "global" namespace for register assignments 2024-08-12 01:47:52 -04:00
chyyran
ac66b1b6f6 style: fix warnings 2024-08-09 00:56:44 -04:00
chyyran
977975f4c7 doc: document naga reflect 2024-08-09 00:56:44 -04:00
chyyran
c646086df4 dep: update wgpu
need to support caching
2024-08-01 08:37:40 -04:00
chyyran
b7071958bd rt(d3d9): add a runtime for direct3d 9 2024-03-07 21:09:15 -05:00
chyyran
7a3a690166 reflect: improve error messages 2024-02-24 12:26:37 -05:00
chyyran
b5bc3c11e1 ci: emit github warnings on failure 2024-02-24 12:26:37 -05:00
chyyran
9741ab2cd1 ci: add a full test suite for reflecting things 2024-02-24 12:26:37 -05:00
chyyran
7ef3780222 fmt: cargo fmt 2024-02-19 12:39:44 -05:00
chyyran
50aa582fa8 reflect(d3d12): fakesign dxil blobs to avoid needing dxil.dll 2024-02-19 09:54:19 -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
c0ecae844c reflect(wgsl): link spirv to remove unused input/outputs 2024-02-15 21:43:02 -05:00
chyyran
cbac011969 reflect(wgsl): only analyze active ubo members 2024-02-15 21:43:02 -05:00
chyyran
6fbc4b3075 fmt: cargo fmt 2024-02-14 20:50:17 -05:00
chyyran
b7673de811 reflect: remove unneeded TAIT feature bound 2024-02-14 20:50:17 -05:00
chyyran
4247e64336 docs: update capi docs 2024-02-14 20:50:17 -05:00
chyyran
b348e8591f lib: use a faster hashmap implementation 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
5554703af7 rt(mtl): fix stride asssignment 2024-02-14 03:08:09 -05:00
chyyran
a7b1682a37 rt(mtl): implement filter pass and filter chain logic 2024-02-14 03:08:09 -05:00
chyyran
aca5b5420c rt(gl): use struct for draw_quad 2024-02-13 02:01:20 -05:00
chyyran
c121087348 rt(vk, wgpu): use structs for quad data 2024-02-13 02:01:20 -05:00
chyyran
849a749f1a reflect(cross-glsl): don't unset vertex input attributes 2024-02-13 02:01:20 -05:00
chyyran
daf30c83c0 rt: add Rotation, TotalSubFrames, CurrentSubFrame uniform semantics 2024-02-12 01:58:05 -05:00
chyyran
4762055dc1 reflect(msl): naga msl implementation 2024-02-11 15:48:01 -05:00
chyyran
d0a5224c10 dep: upgrade librashader-spirv-cross 2024-02-11 15:48:01 -05:00
chyyran
528dd1b53c reflect: fix some refs 2024-02-11 15:48:01 -05:00
chyyran
a495b693a6 reflect(msl): implement spirv-cross msl 2024-02-11 15:48:01 -05:00