Commit graph

63 commits

Author SHA1 Message Date
chyyran 3d9139b4e0 rt(d3d11): replace let_chains with stable alternatives 2024-09-14 02:11:18 -04:00
chyyran 4d6793d305 rt(d3d11): get rid of input/output view wrappers 2024-08-02 00:16:52 -04:00
chyyran af3ea252ba rt(d3d11): split luts out to own module 2024-03-07 21:09:15 -05:00
chyyran 1aedb1bea7 rt: auto-impl parameters 2024-02-14 03:08:09 -05:00
chyyran 0adf3505ec rt: mark frame and create APIs unsafe
This doesn't cause an API break in the C API but we don't actually make an attempt to verify that it's safe to access any of the device contexts.
2023-02-16 17:33:47 -05:00
chyyran f42328280a tests: split tests into their own crates 2023-02-16 00:39:36 -05:00
chyyran e7645a5592 rt: expose cache disable option in filter options 2023-02-15 18:08:47 -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 07fac4d1e9 rt: load luts with multiple threads 2023-02-14 02:56:06 -05:00
chyyran abadfb3ee1 d3d12: use dxc to compile mipmap shader
removes fxc dependency completely.
Also slim down windows-rs features where only needed for testing.
2023-02-12 13:03:31 -05:00
chyyran fa6cd87c60 vk/11/12: allow gpu-deferred creation of filter chains 2023-02-11 02:44:07 -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 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 59e0b5da86 rt: unify render target logic 2023-02-07 23:14:39 -05:00
chyyran d9a97de131 rt: doc FilterPassMeta 2023-02-07 02:55:15 -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 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 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 2d2ed22e9a fmt: run cargo fmt 2023-02-05 16:19:22 -05:00
chyyran c28e5195c2 d3d12: texture infrastructure 2023-02-01 02:08:50 -05:00
chyyran b996d60e9b test(d3d11): make args test harness 2023-01-30 19:48:54 -05:00
chyyran 964da2874c fmt: format pass 2023-01-29 21:31:38 -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 43b7d6fb53 preprocess: support latin-1 encoding 2023-01-28 11:58:59 -05:00
chyyran 3d0bdd0eac test: update slang-shaders repo 2023-01-27 00:07:12 -05:00
chyyran 9cdf646681 build: only build d3d11 stuff for windows 2023-01-21 01:54:06 -05:00
chyyran e887b7cf35 docs: add crate docs to helper crates 2023-01-16 23:09:07 -05:00
chyyran 831ba3d357 docs: more surgically avoid linux linking to windows symbols 2023-01-14 20:13:15 -05:00
chyyran e320e093e2 build: fix missing symbols on linux 2023-01-14 18:56:31 -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 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 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 8047bf80c8 gl/d3d11: add option to force mipmap generation off 2023-01-11 18:25:31 -05:00
chyyran 1ffdefd4e8 vk: start to redo hello_triangle to be simpler 2023-01-03 00:55:35 -05:00
chyyran 8fca2954b0 fmt: run cargo fmt 2022-12-21 21:39:31 -05:00
chyyran b569de1522 capi: basic capi for presets and gl 2022-12-03 18:33:01 -05:00
chyyran 1665770615 rt: move image into runtime 2022-12-01 17:11:42 -05:00