Commit graph

53 commits

Author SHA1 Message Date
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 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 3c15a3a523 rt: fix history framebuffer requirements and unify framebuffer initialization logic 2023-02-11 00:20:35 -05:00
chyyran 009e740610 vk: use gpu-allocator for memory allocations 2023-02-09 18:14:55 -05:00
chyyran 5e99ddf73c vk/d3d12: recompile pipelines on incompatible output format.
This also involves changes to the C API, since we're breaking API anyways
might as well unify some type names. No breakages for D3D11.
2023-02-08 21:21:40 -05:00
chyyran 59e0b5da86 rt: unify render target logic 2023-02-07 23:14:39 -05:00
chyyran c8a1d4d196 rt: abstract framebuffer scaling into common code 2023-02-07 02:12:47 -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 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 82ad516db0 d3d11/vk: render intermediate passes with identity matrix 2023-01-31 00:53:55 -05:00
chyyran da2fb7adca vk: make choice of render pass format dependent on the shader 2023-01-30 01:31:14 -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
chyyran fb827b7c24 vk: reallow usage of render passes for environments where dynamic rendering is not available
This implementation is greatly simplified compared to the older implementation where framebuffers were attached to output targets. Instead, the graphics pipeline object will create new framebuffers on the fly. The suggestion is still to use dynamic rendering for best performance.
2023-01-25 23:45:10 -05:00
chyyran e887b7cf35 docs: add crate docs to helper crates 2023-01-16 23:09:07 -05:00
chyyran e947271f9a vk: write uniforms directly to host-visible mapped memory 2023-01-16 00:22:23 -05:00
chyyran 3b89c065fa fmt: run cargo fmt 2023-01-15 12:17:27 -05:00
chyyran 19e8da7d85 chore: general cleanup 2023-01-15 11:08:13 -05:00
chyyran 05ec73a11c fmt: run cargo fmt 2023-01-15 03:06:09 -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 f85e44a3b9 vk: fix double free of image views in intermediates 2023-01-13 14:54:08 -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 dc6e8f9a2c vk: clean up docs 2023-01-13 02:10:07 -05:00
chyyran 43bd53a92b chore: general clean up and format 2023-01-13 01:48:04 -05:00
chyyran 40b9f08234 vk: do own queue selection and fix error type 2023-01-13 01:19:41 -05:00
chyyran e39d8e9a65 vk: fix lifetime of array references after building vulkan info struct 2023-01-13 00:07:03 -05:00
chyyran 5545f89f28 fmt: run cargo fmt 2023-01-12 21:29:42 -05:00
chyyran d435b43a52 vk: implement history 2023-01-12 00:00:45 -05:00
chyyran dd16dbd5d2 vk: remove renderpass stuff 2023-01-11 18:04:35 -05:00
chyyran ace6774a15 vk: accept output viewport 2023-01-11 02:36:37 -05:00
chyyran 18a96d5e5e vk: initial binding of previous pass outputs 2023-01-10 19:36:07 -05:00
chyyran 48321d997b fmt: run cargo fmt 2023-01-09 22:54:54 -05:00
chyyran 47b5625095 vk: fix hello triangle to use render to texture then blit 2023-01-09 22:53:28 -05:00
chyyran 1ffdefd4e8 vk: start to redo hello_triangle to be simpler 2023-01-03 00:55:35 -05:00
chyyran 3d57be2754 vk: work on hooking 2022-12-29 00:50:48 -05:00
chyyran 88db9220c4 vk: use ubo ring 2022-12-25 01:28:49 -05:00
chyyran 9dbe031ce8 vk: implement vbo 2022-12-25 01:18:11 -05:00
chyyran 2038da787e vk: some work on texture binding 2022-12-22 01:30:14 -05:00
chyyran abd38b9076 vk: create sampler set 2022-12-21 22:03:38 -05:00
chyyran 8fca2954b0 fmt: run cargo fmt 2022-12-21 21:39:31 -05:00
chyyran fe573618f8 vk: implement load luts 2022-12-21 21:13:35 -05:00
chyyran e428e02dfe vk: create raii buffer abstraction 2022-12-11 01:06:28 -05:00
chyyran 6ce7af12e1 vk: create vulkan state for each shader 2022-12-10 01:25:36 -05:00
chyyran 0c072dbc91 vk: make fbos 2022-12-07 02:05:10 -05:00