Commit graph

759 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 4978e1f24f vk: don't unwrap create_graphics_pipelines 2023-02-14 19:24:42 -05:00
chyyran 0bbf124b54 ci: move slang-shaders submodule to shaders_slang 2023-02-14 17:57:48 -05:00
chyyran 07fac4d1e9 rt: load luts with multiple threads 2023-02-14 02:56:06 -05:00
chyyran e2e6357cfb presets: parse depth first to allow for proper override behaviour 2023-02-14 02:48:42 -05:00
chyyran b1a6952020 presets: allow presets to end with a comment 2023-02-14 00:59:43 -05:00
Ronny Chan 58ed82e245
doc: reword thread safety guarantees 2023-02-13 02:32:29 -05:00
chyyran 893c58c53d chore: Release 2023-02-13 00:41:53 -05:00
chyyran f2357f9ab1 d3d12: add proper fallback for output textures that need mipmapping 2023-02-12 23:30:32 -05:00
chyyran d6bbdb43fd d3d12: no need to build hlsl if not needed 2023-02-12 22:49:23 -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 29a1fa05d8 ci: upload profile path build artifacts 2023-02-11 18:37:35 -05:00
chyyran 4745401795 ci: build "debug" profile 2023-02-11 18:30:28 -05:00
chyyran bc45729a51 build: replace cargo post with custom buildscript 2023-02-11 18:12:14 -05:00
chyyran cff4f650c9 ld: add a flag to check if the instance is loaded
Also explicitly create function pointers to NULL, otherwise
null instance is technically unsound to call.

Practically if the create function is unloaded, so will the frame
function, but we should be consistent with the safety model.
2023-02-11 16:40:33 -05:00
chyyran d925dc95c6 capi: expose helpers to ensure ABI version compatibility 2023-02-11 15:37:21 -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 800b6e7b4b d3d11: cleanup todo 2023-02-11 01:18:04 -05:00
chyyran f73cce83d5 doc(readme): nit: retroarch has drivers, not runtimes 2023-02-11 01:09:25 -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 115382d8f0 gl: rename capi Framebuffer handle to 'fbo' to make it more clear. 2023-02-11 00:19:53 -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 512a4c0050 rt: make runtimes thread safe and document thread safety guarantees 2023-02-10 03:20:59 -05:00
chyyran 7f17569b58 doc(vk): correct render pass docs 2023-02-10 01:09:43 -05:00
chyyran a19ea7cf7d gl: remove support for POT textures 2023-02-10 00:59:22 -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 55e800b67e d3d12: fix mipmaps again 2023-02-09 19:44:01 -05:00
chyyran 8cfe59c7aa doc(readme): spacing 2023-02-09 18:39:02 -05:00
chyyran 009e740610 vk: use gpu-allocator for memory allocations 2023-02-09 18:14:55 -05:00
chyyran 336094cad9 d3d11: properly clear history framebuffers 2023-02-09 00:42:46 -05:00
chyyran 2adb23c01f gl: remove unused prints 2023-02-08 21:32:09 -05:00
chyyran cc3e50611e chore: Release 2023-02-08 21:22:33 -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 771a0896d7 chore: Release 2023-02-08 18:55:46 -05:00
chyyran 5ebc248078 chore: Release 2023-02-08 18:49:11 -05:00
chyyran 3e334536c3 preprocess: stick presets on beta 16 i guess 2023-02-08 18:48:58 -05:00
chyyran 9847e5e603 chore: Release 2023-02-08 18:47:36 -05:00
chyyran c475a4cd9d reflect: fix feature flag for dxil 2023-02-08 18:47:22 -05:00
chyyran 07d9869f85 chore: Release 2023-02-08 18:44:40 -05:00
chyyran c02416314e preprocess: fix dev dependency 2023-02-08 18:44:30 -05:00
chyyran b2a915eb7a preprocess: fix dev dependency 2023-02-08 18:41:50 -05:00
chyyran beef0960f3 doc: doc rendertarget 2023-02-08 03:41:44 -05:00
chyyran 44b2a797b4 test: add test for shader preprocess 2023-02-08 03:37:21 -05:00
chyyran 2128945c06 test: add test for shader preprocess 2023-02-08 03:28:27 -05:00
chyyran 85497e47c1 build: untangle spirv-to-dxil from non-d3d12 paths 2023-02-08 03:21:28 -05:00
chyyran ccc2539e2f chore: Release 2023-02-08 03:09:03 -05:00