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
chyyran
512a4c0050
rt: make runtimes thread safe and document thread safety guarantees
2023-02-10 03:20:59 -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
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
3eae38f815
fmt: cargo fmt
2023-02-06 21:56:30 -05:00
chyyran
4dcbdadb4f
capi: publish d3d12
2023-02-06 02:17:30 -05:00
chyyran
8b6481abc1
fmt: run clippy and rustfmt
2023-01-29 02:30:58 -05:00
chyyran
7900f8538e
capi: swap width and height back
2023-01-27 18:17:35 -05:00
chyyran
07944f9c29
doc(capi): fix d3d11 param docs
2023-01-27 00:40:48 -05:00
chyyran
cdf94cee1f
capi(d3d11): Don't drop passed in COM pointers
2023-01-26 23:12:56 -05:00
chyyran
8e67c637a5
capi: fix pointer type bindings for D3D11
2023-01-26 19:05:48 -05:00
chyyran
9cdf646681
build: only build d3d11 stuff for windows
2023-01-21 01:54:06 -05:00
chyyran
7f01c9aad3
capi: fix height/width order
2023-01-21 00:33:44 -05:00