Commit graph

97 commits

Author SHA1 Message Date
chyyran
f0a7970b44 rt: add viewport extent separate from output texture dimensions 2024-09-22 02:06:47 -04:00
chyyran
e7e6ed8fb8 capi: remove _internal_alloc from libra_preset_param_list_t 2024-09-22 02:06:47 -04:00
chyyran
61fdaeea14 capi(gl): update to take opengl context in constructor 2024-09-22 02:06:47 -04:00
chyyran
2552d4321b capi(gl): set output in libra_output_image_gl_t, not viewport 2024-09-22 02:06:47 -04:00
chyyran
eaf939c861 capi(vk): set output in libra_output_image_vk_t, not viewport 2024-09-22 02:06:47 -04:00
chyyran
14abb0362b capi(d3d12): set output in libra_output_image_d3d12_t, not viewport 2024-09-22 02:06:47 -04:00
chyyran
e064f8d0be capi(d3d12): remove ignored fields from libra_source_image_d3d12_t 2024-09-22 02:06:47 -04:00
chyyran
f18c22a95a capi(d3d11): take ManuallyDrop<ID3D11ShaderResourceView> directly in libra_d3d11_filter_chain_t 2024-09-22 02:06:47 -04:00
chyyran
e6d23f1d8f doc: update opengl example 2024-09-22 02:06:47 -04:00
chyyran
72a98272f3 doc(capi): document all C API members 2024-09-21 01:50:05 -04:00
chyyran
4ba5aefafc capi: don't export wrap_ok macro
This was done by accident, so will be made exempt from Rust versioning guarantees.
2024-09-18 00:55:05 -04:00
chyyran
f49e3b58d8 doc(capi): fix rotation integer docs 2024-09-17 19:06:57 -04:00
jcm
1f4f1b6c12 capi: Fix Metal error message, function header 2024-09-17 18:27:43 -04:00
chyyran
e930f90a9c capi: allow building on stable by gating #[doc] comments 2024-09-15 03:10:45 -04:00
chyyran
c291d9d85f capi: remove dependency on try_blocks
Uses an IIFE + return type changes to remove the need for try blocks
2024-09-14 21:26:19 -04:00
chyyran
98d8d91c66 capi: undo const qualification of chain in _filter_chain_get_param and _filter_chain_get_active_pass_count
This should be done over an ABI bump, even if the headers weren't updated.
2024-09-13 17:21:03 -04:00
chyyran
090e268c4a doc: improve docs 2024-09-06 22:45:07 -04:00
chyyran
ec3add1616 rt(params): rename get_parameter -> parameter_value 2024-09-06 22:45:07 -04:00
chyyran
40a56bf165 reflect/preprocess/presets: use SmallString where it makes sense
Most use cases are internal so at least for the runtime consumers there's no API change, but preset parsing
and reflection items are public API so might as well put this as part of 0.4.0
2024-09-06 22:45:07 -04:00
chyyran
c447e40583 rt: redesign parameters to be thread-safe across FFI using arcswap and atomicusize
This should allow C FFI consumers to modify frame parameters from a different thread without it being UB.
2024-09-06 22:45:07 -04:00
chyyran
321e30a0f1 capi: extend config_struct macro to handle overrides 2024-08-19 18:33:30 -04:00
chyyran
ac66b1b6f6 style: fix warnings 2024-08-09 00:56:44 -04:00
chyyran
3cda5b706d rt(d3d12): get rid of size in inputview 2024-08-02 00:16:52 -04:00
chyyran
4d6793d305 rt(d3d11): get rid of input/output view wrappers 2024-08-02 00:16:52 -04:00
chyyran
b5d523e9f3 rt(mtl): move icrate definitions to objc2-metal 2024-07-29 00:40:59 -04:00
chyyran
5e9ce1207c Revert "ci: temporarily remove deny-deprecated on ctypes to unblock ares"
This reverts commit a8d2d1d2ada8fd7e18ee55c53ce5115ef19d6154.
2024-07-29 00:40:59 -04:00
chyyran
fff80df5a0 ci: temporarily remove deny-deprecated on ctypes to unblock ares 2024-06-14 18:17:36 -04:00
chyyran
8c8e386a6c capi(d3d9): expose d3d9 in capi 2024-03-07 21:09:15 -05:00
chyyran
d3d8e85461 capi: replace unstable library features with polyfills 2024-02-16 01:19:52 -05:00
chyyran
6fbc4b3075 fmt: cargo fmt 2024-02-14 20:50:17 -05:00
chyyran
4247e64336 docs: update capi docs 2024-02-14 20:50:17 -05:00
chyyran
76aa5ce4c6 capi(mtl): implement capi for metal 2024-02-14 03:08:09 -05:00
chyyran
ab31abb3d7 capi(mtl): prep metal capi 2024-02-14 03:08:09 -05:00
chyyran
363657deef rt(vk): make render passes the default, and dynamic rendering not.
This is technically a breaking change for the C API, but it doesn't break ABI.
If someone complains there is a migration guide anyways...
2024-02-14 03:08:09 -05:00
chyyran
daf30c83c0 rt: add Rotation, TotalSubFrames, CurrentSubFrame uniform semantics 2024-02-12 01:58:05 -05:00
chyyran
4762055dc1 reflect(msl): naga msl implementation 2024-02-11 15:48:01 -05:00
chyyran
528dd1b53c reflect: fix some refs 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
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
chyyran
f5da7d8421 fmt: cargo fmt 2023-07-20 02:40:13 -04:00
chyyran
24f28bb605 capi: better clarify story around panic safety
- catches panics for all functions now except frame for performance reasons
2023-04-23 02:09:04 -04:00
chyyran
916cd1a681 doc: fix doc typos 2023-04-23 01:44:28 -04: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
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
83422de1f7 capi: expose disable_cache option to capi 2023-02-15 18:08:47 -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