Commit graph

32 commits

Author SHA1 Message Date
chyyran fa8ee5d143 build: fix cbindgen not finding ctypes
* removes capi internal interface from librashader crate
* adds missing noop impls in header
* fix build on rustc < 1.74
2024-02-09 18:02:30 -05:00
chyyran 2fbc7f92da capi: add preset_ctx C API 2024-02-09 02:49:31 -05:00
Luke Usher 7f0f985a14 support building for macOS and non-linux unixes
Also updates build.yml to add macOS runners
2024-02-08 16:31:05 +00:00
chyyran 916cd1a681 doc: fix doc typos 2023-04-23 01:44:28 -04:00
chyyran 83422de1f7 capi: expose disable_cache option to capi 2023-02-15 18:08:47 -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 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 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 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 4dcbdadb4f capi: publish d3d12 2023-02-06 02:17:30 -05:00
chyyran da2fb7adca vk: make choice of render pass format dependent on the shader 2023-01-30 01:31:14 -05:00
chyyran 7900f8538e capi: swap width and height back 2023-01-27 18:17:35 -05:00
chyyran 8e67c637a5 capi: fix pointer type bindings for D3D11 2023-01-26 19:05:48 -05:00
Ronny Chan 62b0d590ad
capi: fix loader PFN type renames 2023-01-26 10:14:21 -05:00
chyyran 7f01c9aad3 capi: fix height/width order 2023-01-21 00:33:44 -05:00
chyyran c20104703b capi: fix type renames 2023-01-21 00:15:09 -05:00
chyyran e1eb0ccb22 capi: fix outdated header definition 2023-01-20 23:43:45 -05:00
chyyran c3a532d729 rt: unify semantics binding logic 2023-01-15 03:01:23 -05:00
chyyran e320e093e2 build: fix missing symbols on linux 2023-01-14 18:56:31 -05:00
chyyran 828e8160e9 doc: copy docs to ld 2023-01-14 17:21:01 -05:00
chyyran c1669916d4 ld: expose runtime params api to loader 2023-01-14 17:14:37 -05:00
chyyran 3592b453e8 capi: expose pass count/param 2023-01-14 15:52:58 -05:00
Ronny Chan ed2681380f
doc: add C API example 2023-01-14 04:15:56 -05:00
chyyran 87e9529726 ld: include windows.h 2023-01-14 03:26:15 -05:00
chyyran 054c365ee1 ld: define out what isn't needed 2023-01-14 01:53:39 -05:00
chyyran da4f61fcc4 ld: finish librashader_ld 2023-01-14 01:38:59 -05:00
chyyran 07eee3724f capi: fix missing vulkan definitions 2023-01-13 19:17:57 -05:00
chyyran 7e34b991e5 ld: start writing librashader_ld 2023-01-13 18:30:16 -05:00