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