Commit graph

160 commits

Author SHA1 Message Date
chyyran 32c99d9f4a rt: implement filter chain loading in terms of pack 2024-10-01 23:25:52 -04:00
chyyran 828464c351 rt(image): helper to load image from shaderpack TextureBuffer 2024-10-01 23:25:52 -04:00
chyyran 1bbbd784d8 preset: make ShaderPassConfig and TextureConfig type aliases to PathReference 2024-10-01 23:25:52 -04:00
chyyran f14f45b3b1 rt: separate out meta information for textures 2024-10-01 23:25:52 -04:00
chyyran 859d16e64e rt: separate out meta information to its own struct 2024-10-01 23:25:52 -04:00
chyyran 3993f57271 doc(cli): document CLI 2024-09-27 01:12:02 -04:00
chyyran a72a593029 reflect: allow indexed and non-indexed semantics to be serialized and deserialized as strings 2024-09-27 01:12:02 -04:00
chyyran bac09ad2a3 reflect: allow validation of shaders without reflecting against semantics 2024-09-27 01:12:02 -04:00
chyyran 31ece05246 reflect: allow more reflection objects to be serializable 2024-09-27 01:12:02 -04:00
chyyran 59937aced5 fmt: cargo fmt 2024-09-22 02:06:47 -04:00
chyyran 1bdadaa449 rt(gl): port to OpenGL runtime to glow 2024-09-22 02:06:47 -04:00
chyyran 77b957bf5e reflect: stop adding null bytes to uniform names 2024-09-22 02:06:47 -04:00
chyyran 57f2dabf0c reflect: fix CurrentSubFrame being parsed as TotalSubFrames 2024-09-17 18:27:31 -04:00
chyyran 81840a9e9c reflect: insert alias semantics for shader name through pragma 2024-09-17 18:27:31 -04:00
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