Commit graph

124 commits

Author SHA1 Message Date
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
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
e947271f9a vk: write uniforms directly to host-visible mapped memory 2023-01-16 00:22:23 -05:00
chyyran
c059e7c566 fmt: run cargo fmt 2023-01-15 18:21:17 -05:00
chyyran
e133290293 vk: fix hello triangle build 2023-01-15 17:59:57 -05:00
chyyran
ae2fc6b745 vk: initialize scaled framebuffers to SHADER_READ_ONLY_OPTIMAL 2023-01-15 17:57:19 -05:00
chyyran
d9d75d760c vk: use explicit tranisition for hello triangle 2023-01-15 17:21:10 -05:00
chyyran
40e4ce908f preprocess: store parameters in FxHashMap 2023-01-15 14:06:38 -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
fdb5bb0e51 vk/gl: properly handling mipmap settings 2023-01-15 03:20:38 -05:00
chyyran
05ec73a11c fmt: run cargo fmt 2023-01-15 03:06:09 -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
c1669916d4 ld: expose runtime params api to loader 2023-01-14 17:14:37 -05:00
chyyran
e6f1361199 doc: document image handles 2023-01-14 15:10:40 -05:00
chyyran
e652f0bb1d vk: avoid cloning the whole ash::Device object by using an Arc 2023-01-14 15:06:43 -05:00
chyyran
2e2713a21b capi: expose FilterChainParameters to capi 2023-01-14 09:36:26 -05:00
chyyran
403ed5ed13 reflect: rename SpirV to SPIRV 2023-01-13 23:59:16 -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
6782f08820 capi: remove potential panics 2023-01-13 18:10:20 -05:00
chyyran
9b7d6fc014 capi: remove potential panics 2023-01-13 16:10:54 -05:00
chyyran
946fe11c69 vk: rename intermediates to residuals 2023-01-13 14:55:40 -05:00
chyyran
f85e44a3b9 vk: fix double free of image views in intermediates 2023-01-13 14:54:08 -05:00
chyyran
e9a1518c5d vk: experiment with internally handling frame residuals 2023-01-13 04:37:13 -05:00
chyyran
98e5070d81 vk: make frames in flight configurable 2023-01-13 04:13:16 -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
a4a7dca208 vk: enable frames in flight 2023-01-12 22:10:25 -05:00
chyyran
5545f89f28 fmt: run cargo fmt 2023-01-12 21:29:42 -05:00
chyyran
d55b057e44 vk: fix frame_count logic 2023-01-12 21:11:44 -05:00
chyyran
5acf70e362 vk: try to fix feedback (but its not working..) 2023-01-12 01:20:13 -05:00
chyyran
d435b43a52 vk: implement history 2023-01-12 00:00:45 -05:00
chyyran
857e994570 vk: implement feedback framebuffers 2023-01-11 23:05:08 -05:00
chyyran
a34bdccc06 vk: implement framebuffer operations (gen_mips/copy/clear) 2023-01-11 19:44:13 -05:00
chyyran
dd16dbd5d2 vk: remove renderpass stuff 2023-01-11 18:04:35 -05:00
chyyran
b8cfeda08a vk: port to use dynamic rendering 2023-01-11 17:53:43 -05:00
chyyran
02b3b8baff vk: fix image format conversions 2023-01-11 17:28:09 -05:00
chyyran
ace6774a15 vk: accept output viewport 2023-01-11 02:36:37 -05:00
chyyran
9dd656d49f vk: fix some bugs in the format 2023-01-10 22:22:42 -05:00
chyyran
18a96d5e5e vk: initial binding of previous pass outputs 2023-01-10 19:36:07 -05:00
chyyran
5154ff620a vk: fix validation errors for hello triangle 2023-01-10 19:35:36 -05:00
chyyran
f8ba964b01 vk: log commands to renderpass 2023-01-10 00:45:48 -05:00
chyyran
4595a5ccc3 vk: get closer to having shaders render 2023-01-10 00:11:05 -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
c8bcc34fc6 vk: redo the hello_triangle 2023-01-09 19:17:13 -05:00
chyyran
1d07c66239 vk: hello triangle swapchain 2023-01-04 00:49:42 -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
12da07a1cf vk: fix validation errors 2022-12-21 22:02:57 -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
chyyran
2baeae494d vk: pipeline layout stuff
also ringbuffer fixes
2022-12-06 01:38:21 -05:00
chyyran
e7351207cf rt: take ringbuffer out for reuse 2022-12-06 01:01:21 -05:00
chyyran
a8840829aa vk: begin infra for vk runtime 2022-12-05 21:01:15 -05:00