Commit graph

192 commits

Author SHA1 Message Date
chyyran 0eac766685 capi: expose deferred API and make order consistent.
gotta get all these ABI breaks done before release.
2023-02-11 15:30:20 -05:00
chyyran fa6cd87c60 vk/11/12: allow gpu-deferred creation of filter chains 2023-02-11 02:44:07 -05:00
chyyran 800b6e7b4b d3d11: cleanup todo 2023-02-11 01:18:04 -05:00
chyyran 3c15a3a523 rt: fix history framebuffer requirements and unify framebuffer initialization logic 2023-02-11 00:20:35 -05:00
chyyran 0cb6f6a346 d3d11: be agnostic about deferred contexts
This brings the D3D11 API more in line with the D3D12 and Vulkan runtimes. To get the old behaviour with immediate contexts, just pass a NULL context.
2023-02-10 18:08:13 -05:00
chyyran 2b250db353 capi: make _opt* structs more forwards compatible
yay another abi break 🙃
hopefully for the last time
2023-02-09 23:44:39 -05:00
chyyran 121209da10 fmt: clean up warnings 2023-02-09 21:06:58 -05:00
chyyran 55e800b67e d3d12: fix mipmaps again 2023-02-09 19:44:01 -05:00
chyyran 336094cad9 d3d11: properly clear history framebuffers 2023-02-09 00:42:46 -05:00
chyyran cc3e50611e chore: Release 2023-02-08 21:22:33 -05:00
chyyran 771a0896d7 chore: Release 2023-02-08 18:55:46 -05:00
chyyran 5ebc248078 chore: Release 2023-02-08 18:49:11 -05:00
chyyran 9847e5e603 chore: Release 2023-02-08 18:47:36 -05:00
chyyran 07d9869f85 chore: Release 2023-02-08 18:44:40 -05:00
chyyran c02416314e preprocess: fix dev dependency 2023-02-08 18:44:30 -05:00
chyyran ccc2539e2f chore: Release 2023-02-08 03:09:03 -05:00
chyyran 59e0b5da86 rt: unify render target logic 2023-02-07 23:14:39 -05:00
chyyran 06161b5aad rt: make scale framebuffers a lot nicer to use 2023-02-07 22:02:08 -05:00
chyyran 45dbdc6157 chore: Release 2023-02-07 20:05:12 -05:00
chyyran 07b20fecdc d3d11: fall back to singlethreaded shader compile if device was single threaded 2023-02-07 17:27:44 -05:00
chyyran d9a97de131 rt: doc FilterPassMeta 2023-02-07 02:55:15 -05:00
chyyran d6e1f2ca16 chore: Release 2023-02-07 02:32:55 -05:00
chyyran 6d75dc5100 fmt: general format and clean up 2023-02-07 02:31:08 -05:00
chyyran c8a1d4d196 rt: abstract framebuffer scaling into common code 2023-02-07 02:12:47 -05:00
chyyran 5ffcf005a0 d3d11: set and restore blend state between passes and disable unneeded CPU access write 2023-02-07 00:51:35 -05:00
chyyran c5b2b50d16 d3d11: make default cpu access none 2023-02-06 23:34:32 -05:00
chyyran d6b492c614 doc: Vulkan runtime is not limited to 1.3 anymore 2023-02-06 22:05:29 -05:00
chyyran 3eae38f815 fmt: cargo fmt 2023-02-06 21:56:30 -05:00
chyyran cb4dc418cd chore: Release 2023-02-06 19:23:06 -05:00
chyyran 3ad67d9539 dep: upgrade to spirv-to-dxil 0.3 2023-02-06 19:22:53 -05:00
chyyran 8588021a6e chore: Release 2023-02-06 02:48:40 -05:00
chyyran 37cb3493ca chore: Release 2023-02-06 02:21:19 -05:00
chyyran 3cdf3aa105 doc(d3d12): clean up docs for d3d12 2023-02-06 01:25:06 -05:00
chyyran d32ad8e3b2 options: fix frame-direction docs 2023-02-06 00:26:27 -05:00
chyyran 3db89e5351 vk/11/12: bind VBO only once per frame to save on draw calls. 2023-02-06 00:23:37 -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 7d8c137083 rt: abstract reusable bindingmeta ops 2023-02-05 16:19:22 -05:00
chyyran c28e5195c2 d3d12: texture infrastructure 2023-02-01 02:08:50 -05:00
chyyran 17203692f0 d3d12: make framebuffer 2023-02-01 02:08:50 -05:00
chyyran c2bef7f985 d3d12: upload shaders 2023-02-01 02:08:50 -05:00
chyyran 82ad516db0 d3d11/vk: render intermediate passes with identity matrix 2023-01-31 00:53:55 -05:00
chyyran b996d60e9b test(d3d11): make args test harness 2023-01-30 19:48:54 -05:00
chyyran 18e1f758cd rt: apply filter settings before drawing frame 2023-01-30 19:30:23 -05:00
chyyran b7a44f25f3 chore: Release 2023-01-29 22:49:26 -05:00
chyyran abcd3bdc24 d3d11: set the proper sampler for each pass input 2023-01-29 22:19:08 -05:00
chyyran 964da2874c fmt: format pass 2023-01-29 21:31:38 -05:00
chyyran 92caad292c runtime: scale output framebuffers according to the previous inputs rather than original size. 2023-01-29 21:26:11 -05:00
chyyran 3c13dc8277 test(d3d11): allow hello_triangle to take image as input 2023-01-29 21:19:18 -05:00
chyyran 2d6a967c7f d3d11: generate mipmaps for inputs if requested 2023-01-29 19:04:34 -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 b0dde6eda2 d3d11/vk: fix default mvp 2023-01-28 13:11:14 -05:00
chyyran 43b7d6fb53 preprocess: support latin-1 encoding 2023-01-28 11:58:59 -05:00
chyyran 3db4c332eb chore: Release 2023-01-28 01:50:33 -05:00
chyyran 1e99c169db d3d11: rebind vertices each pass 2023-01-27 01:22:53 -05:00
chyyran cc97be6a0c d3d11: default to -O3 for compiling shaders 2023-01-27 00:27:06 -05:00
chyyran 3d0bdd0eac test: update slang-shaders repo 2023-01-27 00:07:12 -05:00
chyyran cdf94cee1f capi(d3d11): Don't drop passed in COM pointers 2023-01-26 23:12:56 -05:00
chyyran e415e46200 chore: Release 2023-01-21 02:33:50 -05:00
chyyran 341d8825c6 build: switch to custom fork of spirv_cross temporarily 2023-01-21 02:33:09 -05:00
chyyran 9cdf646681 build: only build d3d11 stuff for windows 2023-01-21 01:54:06 -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 acca9ce6f6 d3d11: update to windows-rs 0.44 2023-01-16 18:45:02 -05:00
chyyran fceda0e99d chore: Release 2023-01-15 20:06:59 -05:00
chyyran 40e4ce908f preprocess: store parameters in FxHashMap 2023-01-15 14:06:38 -05:00
chyyran 19e8da7d85 chore: general cleanup 2023-01-15 11:08:13 -05:00
chyyran 6c593dda79 chore: Release 2023-01-15 03:20:59 -05:00
chyyran 05ec73a11c fmt: run cargo fmt 2023-01-15 03:06:09 -05:00
chyyran 3691f6579c chore: Release 2023-01-15 03:01:50 -05:00
chyyran c3a532d729 rt: unify semantics binding logic 2023-01-15 03:01:23 -05:00
chyyran 474cf37e68 pass: remove (extremely rare) stderr debug logs 2023-01-15 00:30:15 -05:00
chyyran 173ffc53e4 chore: Release 2023-01-14 20:13:33 -05:00
chyyran 831ba3d357 docs: more surgically avoid linux linking to windows symbols 2023-01-14 20:13:15 -05:00
chyyran 87a08a83f2 chore: Release 2023-01-14 19:06:14 -05:00
chyyran 45e5de0f21 docs: define windows targets 2023-01-14 19:05:15 -05:00
chyyran e320e093e2 build: fix missing symbols on linux 2023-01-14 18:56:31 -05:00
chyyran c85565a8f7 chore: Release 2023-01-14 17:23:06 -05:00
chyyran e6f1361199 doc: document image handles 2023-01-14 15:10:40 -05:00
chyyran 2e2713a21b capi: expose FilterChainParameters to capi 2023-01-14 09:36:26 -05:00
chyyran 92dd105c43 chore: Release 2023-01-14 02:57:23 -05:00
chyyran ba24181450 test: fix tests 2023-01-14 01:58:22 -05:00
chyyran 54150e9bea chore: Release 2023-01-13 19:35:05 -05:00
chyyran 3e628093ae capi: finish capi for vulkan 2023-01-13 18:10:20 -05:00
chyyran 45d03fbfb8 capi: resolve name conflicts due to conflicting struct names in each module 2023-01-13 18:10:20 -05:00
chyyran 60f2ae6da8 chore: Release 2023-01-13 03:20:13 -05:00
chyyran 589538d8b2 doc: completely doc librashader crate 2023-01-13 03:19:58 -05:00
chyyran e2ac7a1bfa common: unify viewport types 2023-01-13 02:54:16 -05:00
chyyran abaebe56cc api: remove FilterChain trait 2023-01-13 02:32:21 -05:00
chyyran 43bd53a92b chore: general clean up and format 2023-01-13 01:48:04 -05:00
chyyran 455b56ce8e lib: remove print statements 2023-01-13 00:07:18 -05:00
chyyran 98bfb77232 d3d11: fix unsoundness in hello triangle 2023-01-12 23:02:38 -05:00
chyyran 5545f89f28 fmt: run cargo fmt 2023-01-12 21:29:42 -05:00
chyyran 23458917f3 gl: kind of fix mipmap handling needs to check next frame 2023-01-11 19:09:15 -05:00