Commit graph

734 commits

Author SHA1 Message Date
chyyran 284e0e2a0f capi: emit delayload link arg for d3d12 for systems that don't have dxcompiler.dll 2023-02-19 11:29:21 -05:00
chyyran 85ea566575 chore: Release 2023-02-18 00:29:01 -05:00
chyyran b8d1d3eb19 doc(readme): clarify ABI 0 2023-02-17 01:52:53 -05:00
chyyran b780ca2a90 chore: Release 2023-02-17 01:13:52 -05:00
chyyran 6caf50fcc1 deps: update dependencies 2023-02-17 01:11:30 -05:00
chyyran 8cff5a47a8 test: fix some paths to test shaders 2023-02-16 21:32:05 -05:00
chyyran af6f58981e vk: move internal frame count to common 2023-02-16 21:16:42 -05:00
chyyran a6b1e0a412 capi: use unwrap_unchecked when we're certain a value is not null. 2023-02-16 18:23:56 -05:00
chyyran 8ed244f6fa rt: clean up sampler sets 2023-02-16 18:19:38 -05:00
chyyran 302ef76a82 doc(readme): update header image 2023-02-16 17:42:01 -05:00
chyyran 912099f00a test: fix unsafe changes 2023-02-16 17:38:00 -05:00
chyyran 63ec875cf4 doc: detail version policy 2023-02-16 17:34:47 -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 f8de1fa2ee docs: fix triangle links 2023-02-16 01:23:01 -05:00
chyyran 7ebc3da94b chore: Release 2023-02-16 01:11:55 -05:00
chyyran 0eb9859cc4 build(docs.rs): try a default-feature based approach 2023-02-16 01:09:43 -05:00
chyyran ceb5a6d6ea build(docs.rs): properly specify no default features 2023-02-16 00:55:47 -05:00
chyyran 284d644f99 cache: make cache opt-in by default so docs.rs can build sqlite properly 2023-02-16 00:54:22 -05:00
chyyran f42328280a tests: split tests into their own crates 2023-02-16 00:39:36 -05:00
chyyran 7d6701aa4e chore: Release 2023-02-15 22:58:34 -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 d9625187ed doc: doc preset parser differences 2023-02-15 18:50:35 -05:00
chyyran 0000fdbdec chore: Release 2023-02-15 18:40:06 -05:00
chyyran 2ca6aecfe4 cache: clean up cache api 2023-02-15 18:08:47 -05:00
chyyran 83422de1f7 capi: expose disable_cache option to capi 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 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