Commit graph

137 commits

Author SHA1 Message Date
chyyran 1aedb1bea7 rt: auto-impl parameters 2024-02-14 03:08:09 -05:00
chyyran aca5b5420c rt(gl): use struct for draw_quad 2024-02-13 02:01:20 -05:00
chyyran c121087348 rt(vk, wgpu): use structs for quad data 2024-02-13 02:01:20 -05:00
chyyran daf30c83c0 rt: add Rotation, TotalSubFrames, CurrentSubFrame uniform semantics 2024-02-12 01:58:05 -05:00
chyyran 3c3f024ef8 preset: add original scaletype
As defined in https://github.com/libretro/RetroArch/pull/15937
2024-02-12 01:58:05 -05:00
chyyran d0a5224c10 dep: upgrade librashader-spirv-cross 2024-02-11 15:48:01 -05:00
chyyran e1f62fc984 reflect: remove ShaderOutputCompiler and just delegate to FromCompilation 2024-02-11 15:48:01 -05:00
chyyran b98d86a940 reflect: allow specifying output toolchain 2024-02-11 15:48:01 -05:00
chyyran 252f685967 reflect: abstract away output compiler into its own trait 2024-02-11 15:48:01 -05:00
chyyran a7ca391ef6 reflect: abstract away input compiler from compilation 2024-02-11 15:48:01 -05:00
chyyran 2fbc7f92da capi: add preset_ctx C API 2024-02-09 02:49:31 -05:00
chyyran 4da6c98655 rt: add driver context + path context for FilterChain::load_with_path 2024-02-09 02:02:13 -05:00
chyyran 3d74f27d77 rt(vk): fix double free in RawVulkanBuffer 2024-02-08 18:16:10 -05:00
chyyran 2450217c29 fmt: cargo fmt 2024-02-06 19:04:28 -05:00
chyyran 2b995539f2 rt(wgpu): add structure to wgpu backend 2024-02-06 19:04:28 -05:00
chyyran 4e052159e7 rt(wgpu): create pipeline bind group layouts 2024-02-06 19:04:28 -05:00
chyyran 96f937586c build: clean unused features 2024-02-03 03:01:16 -05:00
chyyran 80325fda9e fmt: cargo fmt 2024-02-03 02:42:52 -05:00
chyyran f5da7d8421 fmt: cargo fmt 2023-07-20 02:40:13 -04:00
chyyran 59cc3deb09 rt: fix TAIT usages 2023-07-20 02:40:13 -04:00
chyyran af6f58981e vk: move internal frame count to common 2023-02-16 21:16:42 -05:00
chyyran 8ed244f6fa rt: clean up sampler sets 2023-02-16 18:19:38 -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 b81f415917 vk: fix lifetime issues with ash
Using `build` everywhere was causing miscompilations because of lifetimes leaking.
2023-02-15 22:57:20 -05:00
chyyran 2ca6aecfe4 cache: clean up cache api 2023-02-15 18:08:47 -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 4978e1f24f vk: don't unwrap create_graphics_pipelines 2023-02-14 19:24:42 -05:00
chyyran 07fac4d1e9 rt: load luts with multiple threads 2023-02-14 02:56:06 -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 45314a61c5 vk: make internal frame count wrap 2023-02-11 00:35:13 -05:00
chyyran 3c15a3a523 rt: fix history framebuffer requirements and unify framebuffer initialization logic 2023-02-11 00:20:35 -05:00
chyyran 512a4c0050 rt: make runtimes thread safe and document thread safety guarantees 2023-02-10 03:20:59 -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 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 06161b5aad rt: make scale framebuffers a lot nicer to use 2023-02-07 22:02:08 -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 3eae38f815 fmt: cargo fmt 2023-02-06 21:56:30 -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 fd48d88fdd dx12: use persistently bound buffers 2023-02-05 22:24:58 -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