chyyran
8ed244f6fa
rt: clean up sampler sets
2023-02-16 18:19:38 -05:00
chyyran
912099f00a
test: fix unsafe changes
2023-02-16 17:38:00 -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
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
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
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
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
07fac4d1e9
rt: load luts with multiple threads
2023-02-14 02:56:06 -05:00
chyyran
893c58c53d
chore: Release
2023-02-13 00:41:53 -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
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
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
121209da10
fmt: clean up warnings
2023-02-09 21:06:58 -05:00
chyyran
009e740610
vk: use gpu-allocator for memory allocations
2023-02-09 18:14:55 -05:00
chyyran
cc3e50611e
chore: Release
2023-02-08 21:22:33 -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
771a0896d7
chore: Release
2023-02-08 18:55:46 -05:00
chyyran
5ebc248078
chore: Release
2023-02-08 18:49:11 -05:00
chyyran
9847e5e603
chore: Release
2023-02-08 18:47:36 -05:00
chyyran
07d9869f85
chore: Release
2023-02-08 18:44:40 -05:00
chyyran
c02416314e
preprocess: fix dev dependency
2023-02-08 18:44:30 -05:00
chyyran
ccc2539e2f
chore: Release
2023-02-08 03:09:03 -05:00
chyyran
59e0b5da86
rt: unify render target logic
2023-02-07 23:14:39 -05:00
chyyran
06161b5aad
rt: make scale framebuffers a lot nicer to use
2023-02-07 22:02:08 -05:00
chyyran
45dbdc6157
chore: Release
2023-02-07 20:05:12 -05:00
chyyran
d9a97de131
rt: doc FilterPassMeta
2023-02-07 02:55:15 -05:00
chyyran
d6e1f2ca16
chore: Release
2023-02-07 02:32:55 -05:00
chyyran
6d75dc5100
fmt: general format and clean up
2023-02-07 02:31:08 -05:00
chyyran
c8a1d4d196
rt: abstract framebuffer scaling into common code
2023-02-07 02:12:47 -05:00
chyyran
3eae38f815
fmt: cargo fmt
2023-02-06 21:56:30 -05:00
chyyran
cb4dc418cd
chore: Release
2023-02-06 19:23:06 -05:00
chyyran
8588021a6e
chore: Release
2023-02-06 02:48:40 -05:00
chyyran
37cb3493ca
chore: Release
2023-02-06 02:21:19 -05:00
chyyran
3cdf3aa105
doc(d3d12): clean up docs for d3d12
2023-02-06 01:25:06 -05:00
chyyran
d32ad8e3b2
options: fix frame-direction docs
2023-02-06 00:26:27 -05:00
chyyran
3db89e5351
vk/11/12: bind VBO only once per frame to save on draw calls.
2023-02-06 00:23:37 -05:00
chyyran
fd48d88fdd
dx12: use persistently bound buffers
2023-02-05 22:24:58 -05:00
chyyran
f5fe3e37ef
rt(d3d11/vk): allow for parallel shader compilation
...
OpenGL is for obvious reasons incompatible, and for DX12 the graphics pipeline creation has to be on the main thread so there isn't that much gain to be had.
2023-02-05 19:53:45 -05:00
chyyran
b81b2b1d25
fmt: run clippy
2023-02-05 18:34:30 -05:00
chyyran
2d2ed22e9a
fmt: run cargo fmt
2023-02-05 16:19:22 -05:00
chyyran
7d8c137083
rt: abstract reusable bindingmeta ops
2023-02-05 16:19:22 -05:00
chyyran
c28e5195c2
d3d12: texture infrastructure
2023-02-01 02:08:50 -05:00
chyyran
599c21e06a
vk: fix bad imports
2023-01-31 01:27:37 -05:00
chyyran
82ad516db0
d3d11/vk: render intermediate passes with identity matrix
2023-01-31 00:53:55 -05:00
chyyran
18e1f758cd
rt: apply filter settings before drawing frame
2023-01-30 19:30:23 -05:00
chyyran
da2fb7adca
vk: make choice of render pass format dependent on the shader
2023-01-30 01:31:14 -05:00
chyyran
b7a44f25f3
chore: Release
2023-01-29 22:49:26 -05:00
chyyran
92caad292c
runtime: scale output framebuffers according to the previous inputs rather than original size.
2023-01-29 21:26:11 -05:00
chyyran
2d6a967c7f
d3d11: generate mipmaps for inputs if requested
2023-01-29 19:04:34 -05:00
chyyran
8b6481abc1
fmt: run clippy and rustfmt
2023-01-29 02:30:58 -05:00
chyyran
c3aecd336b
vk: remove debug from hello triangle example
2023-01-29 01:25:22 -05:00
chyyran
b0dde6eda2
d3d11/vk: fix default mvp
2023-01-28 13:11:14 -05:00
chyyran
3db4c332eb
chore: Release
2023-01-28 01:50:33 -05:00
chyyran
fb827b7c24
vk: reallow usage of render passes for environments where dynamic rendering is not available
...
This implementation is greatly simplified compared to the older implementation where framebuffers were attached to output targets. Instead, the graphics pipeline object will create new framebuffers on the fly. The suggestion is still to use dynamic rendering for best performance.
2023-01-25 23:45:10 -05:00
chyyran
e415e46200
chore: Release
2023-01-21 02:33:50 -05:00
chyyran
341d8825c6
build: switch to custom fork of spirv_cross temporarily
2023-01-21 02:33:09 -05:00
chyyran
ef8b72b220
reflect: use a marker trait to remove need for macro when spelling out compilation artifact opaque type
2023-01-19 18:44:08 -05:00
chyyran
261710d639
reflect: move GlslangCompilation up a level and remove intermediate modules in reflect::front
2023-01-19 01:06:17 -05:00
chyyran
b3dd378b5b
reflect: simplify shaderpassmeta type declarations with a macro
2023-01-19 00:37:37 -05:00
chyyran
fc54c7f65c
reflect: move compile_preset_passes from librashader-runtime into librashader-reflect
2023-01-18 21:58:13 -05:00
chyyran
4e51704e35
reflect: abstract away preset compilation
2023-01-18 20:56:08 -05:00
chyyran
e887b7cf35
docs: add crate docs to helper crates
2023-01-16 23:09:07 -05:00
chyyran
e947271f9a
vk: write uniforms directly to host-visible mapped memory
2023-01-16 00:22:23 -05:00
chyyran
fceda0e99d
chore: Release
2023-01-15 20:06:59 -05:00
chyyran
c059e7c566
fmt: run cargo fmt
2023-01-15 18:21:17 -05:00
chyyran
e133290293
vk: fix hello triangle build
2023-01-15 17:59:57 -05:00
chyyran
ae2fc6b745
vk: initialize scaled framebuffers to SHADER_READ_ONLY_OPTIMAL
2023-01-15 17:57:19 -05:00
chyyran
d9d75d760c
vk: use explicit tranisition for hello triangle
2023-01-15 17:21:10 -05:00
chyyran
40e4ce908f
preprocess: store parameters in FxHashMap
2023-01-15 14:06:38 -05:00
chyyran
3b89c065fa
fmt: run cargo fmt
2023-01-15 12:17:27 -05:00
chyyran
19e8da7d85
chore: general cleanup
2023-01-15 11:08:13 -05:00
chyyran
6c593dda79
chore: Release
2023-01-15 03:20:59 -05:00
chyyran
fdb5bb0e51
vk/gl: properly handling mipmap settings
2023-01-15 03:20:38 -05:00
chyyran
05ec73a11c
fmt: run cargo fmt
2023-01-15 03:06:09 -05:00
chyyran
3691f6579c
chore: Release
2023-01-15 03:01:50 -05:00
chyyran
c3a532d729
rt: unify semantics binding logic
2023-01-15 03:01:23 -05:00
chyyran
474cf37e68
pass: remove (extremely rare) stderr debug logs
2023-01-15 00:30:15 -05:00
chyyran
173ffc53e4
chore: Release
2023-01-14 20:13:33 -05:00
chyyran
831ba3d357
docs: more surgically avoid linux linking to windows symbols
2023-01-14 20:13:15 -05:00
chyyran
87a08a83f2
chore: Release
2023-01-14 19:06:14 -05:00
chyyran
45e5de0f21
docs: define windows targets
2023-01-14 19:05:15 -05:00
chyyran
c85565a8f7
chore: Release
2023-01-14 17:23:06 -05:00
chyyran
c1669916d4
ld: expose runtime params api to loader
2023-01-14 17:14:37 -05:00
chyyran
e6f1361199
doc: document image handles
2023-01-14 15:10:40 -05:00
chyyran
e652f0bb1d
vk: avoid cloning the whole ash::Device object by using an Arc
2023-01-14 15:06:43 -05:00
chyyran
2e2713a21b
capi: expose FilterChainParameters to capi
2023-01-14 09:36:26 -05:00
chyyran
92dd105c43
chore: Release
2023-01-14 02:57:23 -05:00
chyyran
403ed5ed13
reflect: rename SpirV to SPIRV
2023-01-13 23:59:16 -05:00
chyyran
54150e9bea
chore: Release
2023-01-13 19:35:05 -05:00
chyyran
3e628093ae
capi: finish capi for vulkan
2023-01-13 18:10:20 -05:00