Commit graph

48 commits

Author SHA1 Message Date
chyyran 7b375658c5 dep: update cargo.lock 2024-08-02 01:04:56 -04:00
chyyran b7071958bd rt(d3d9): add a runtime for direct3d 9 2024-03-07 21:09:15 -05:00
chyyran 2550bf7ed5 test: update shaders_slang 2024-03-05 19:03:54 -05:00
chyyran ed7216990a test: update slang_shaders 2024-03-03 13:19:55 -05:00
chyyran d3d8e85461 capi: replace unstable library features with polyfills 2024-02-16 01:19:52 -05:00
chyyran cbac011969 reflect(wgsl): only analyze active ubo members 2024-02-15 21:43:02 -05:00
chyyran dca93a1310 test(mtl): add objc example 2024-02-14 03:08:09 -05:00
chyyran d0a5224c10 dep: upgrade librashader-spirv-cross 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 b2d8d084be test: update shaders_slang 2024-02-09 02:02:13 -05:00
chyyran 4dfcdf2725 reflect(wgsl): wgsl compile backend 2024-02-06 19:04:28 -05:00
chyyran 797625903a build(obs): add openbuildservice 2024-02-04 13:16:48 -05:00
chyyran 8cff5a47a8 test: fix some paths to test shaders 2023-02-16 21:32:05 -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 0bbf124b54 ci: move slang-shaders submodule to shaders_slang 2023-02-14 17:57:48 -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 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 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 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 55e800b67e d3d12: fix mipmaps again 2023-02-09 19:44:01 -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 79ed9c222a doc: clarify build dependencies 2023-02-07 20:05:03 -05:00
chyyran 07b20fecdc d3d11: fall back to singlethreaded shader compile if device was single threaded 2023-02-07 17:27:44 -05:00
chyyran 4dcbdadb4f capi: publish d3d12 2023-02-06 02:17:30 -05:00
chyyran b996d60e9b test(d3d11): make args test harness 2023-01-30 19:48:54 -05:00
chyyran abcd3bdc24 d3d11: set the proper sampler for each pass input 2023-01-29 22:19:08 -05:00
chyyran 2d6a967c7f d3d11: generate mipmaps for inputs if requested 2023-01-29 19:04:34 -05:00
chyyran b5ce7ce30d tests: add imgui example for dx11
Currently only dx11 is available for testing but plan is to verify correctness of bindings with others.
2023-01-28 03:07:56 -05:00
chyyran 7900f8538e capi: swap width and height back 2023-01-27 18:17:35 -05:00
chyyran 1e99c169db d3d11: rebind vertices each pass 2023-01-27 01:22:53 -05:00
chyyran 3d0bdd0eac test: update slang-shaders repo 2023-01-27 00:07:12 -05:00
chyyran 51d112fb7d examples: add another d3d11 c++ example 2023-01-26 23:47:27 -05:00
chyyran 4aa0e4450f examples: add d3d11 c++ examples 2023-01-26 23:18:10 -05:00
chyyran e320e093e2 build: fix missing symbols on linux 2023-01-14 18:56:31 -05:00
chyyran c1669916d4 ld: expose runtime params api to loader 2023-01-14 17:14:37 -05:00
chyyran da4f61fcc4 ld: finish librashader_ld 2023-01-14 01:38:59 -05:00
chyyran 7e34b991e5 ld: start writing librashader_ld 2023-01-13 18:30:16 -05:00
chyyran 3e628093ae capi: finish capi for vulkan 2023-01-13 18:10:20 -05:00
chyyran f25693815b capi: use extern_ffi where possible 2023-01-13 16:05:13 -05:00
chyyran 45913c32bf capi: docs 2022-12-04 22:37:03 -05:00
chyyran a00c4e1d88 capi: get rid of Box and use NonNull pointers 2022-12-03 19:55:27 -05:00
chyyran 4946bfc0dd gl: catch panic if gl not intialized 2022-12-03 19:07:15 -05:00
chyyran b799c1c6ef gl: initialize history and feedback fbos before drawing 2022-11-21 02:36:37 -05:00
chyyran f1280202e5 hlsl: implement hlsl reflection 2022-11-07 00:25:11 -05:00
chyyran 073921b9fb reflect: implement shader reflection 2022-10-27 02:22:44 -04:00
chyyran 6ab3775b23 reflect: some cursed experiments 2022-10-25 01:47:41 -04:00
chyyran 36a885e55a reflect: partially implement reflection 2022-10-23 23:22:26 -04:00
chyyran 731c27a4be repo: move slang-shaders to root/test 2022-10-21 00:09:38 -04:00