chyyran
3d9139b4e0
rt(d3d11): replace let_chains
with stable alternatives
2024-09-14 02:11:18 -04:00
chyyran
4d6793d305
rt(d3d11): get rid of input/output view wrappers
2024-08-02 00:16:52 -04:00
chyyran
af3ea252ba
rt(d3d11): split luts out to own module
2024-03-07 21:09:15 -05:00
chyyran
1aedb1bea7
rt: auto-impl parameters
2024-02-14 03:08:09 -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
f42328280a
tests: split tests into their own crates
2023-02-16 00:39:36 -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
07fac4d1e9
rt: load luts with multiple threads
2023-02-14 02:56:06 -05:00
chyyran
abadfb3ee1
d3d12: use dxc to compile mipmap shader
...
removes fxc dependency completely.
Also slim down windows-rs features where only needed for testing.
2023-02-12 13:03:31 -05:00
chyyran
fa6cd87c60
vk/11/12: allow gpu-deferred creation of filter chains
2023-02-11 02:44:07 -05:00
chyyran
3c15a3a523
rt: fix history framebuffer requirements and unify framebuffer initialization logic
2023-02-11 00:20:35 -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
121209da10
fmt: clean up warnings
2023-02-09 21:06:58 -05:00
chyyran
55e800b67e
d3d12: fix mipmaps again
2023-02-09 19:44:01 -05:00
chyyran
336094cad9
d3d11: properly clear history framebuffers
2023-02-09 00:42:46 -05:00
chyyran
59e0b5da86
rt: unify render target logic
2023-02-07 23:14:39 -05:00
chyyran
d9a97de131
rt: doc FilterPassMeta
2023-02-07 02:55:15 -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
5ffcf005a0
d3d11: set and restore blend state between passes and disable unneeded CPU access write
2023-02-07 00:51:35 -05:00
chyyran
d6b492c614
doc: Vulkan runtime is not limited to 1.3 anymore
2023-02-06 22:05:29 -05:00
chyyran
3eae38f815
fmt: cargo fmt
2023-02-06 21:56:30 -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
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
2d2ed22e9a
fmt: run cargo fmt
2023-02-05 16:19:22 -05:00
chyyran
c28e5195c2
d3d12: texture infrastructure
2023-02-01 02:08:50 -05:00
chyyran
b996d60e9b
test(d3d11): make args test harness
2023-01-30 19:48:54 -05:00
chyyran
964da2874c
fmt: format pass
2023-01-29 21:31:38 -05:00
chyyran
3c13dc8277
test(d3d11): allow hello_triangle to take image as input
2023-01-29 21:19:18 -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
Ronny Chan
dffea95370
reflect: allow binding uniform names to both UBO and Push Constants ( #4 )
2023-01-29 01:57:09 -05:00
chyyran
43b7d6fb53
preprocess: support latin-1 encoding
2023-01-28 11:58:59 -05:00
chyyran
3d0bdd0eac
test: update slang-shaders repo
2023-01-27 00:07:12 -05:00
chyyran
9cdf646681
build: only build d3d11 stuff for windows
2023-01-21 01:54:06 -05:00
chyyran
e887b7cf35
docs: add crate docs to helper crates
2023-01-16 23:09:07 -05:00
chyyran
831ba3d357
docs: more surgically avoid linux linking to windows symbols
2023-01-14 20:13:15 -05:00
chyyran
e320e093e2
build: fix missing symbols on linux
2023-01-14 18:56:31 -05:00
chyyran
45d03fbfb8
capi: resolve name conflicts due to conflicting struct names in each module
2023-01-13 18:10:20 -05:00
chyyran
e2ac7a1bfa
common: unify viewport types
2023-01-13 02:54:16 -05:00
chyyran
abaebe56cc
api: remove FilterChain
trait
2023-01-13 02:32:21 -05:00
chyyran
43bd53a92b
chore: general clean up and format
2023-01-13 01:48:04 -05:00
chyyran
98bfb77232
d3d11: fix unsoundness in hello triangle
2023-01-12 23:02:38 -05:00
chyyran
5545f89f28
fmt: run cargo fmt
2023-01-12 21:29:42 -05:00
chyyran
8047bf80c8
gl/d3d11: add option to force mipmap generation off
2023-01-11 18:25:31 -05:00
chyyran
1ffdefd4e8
vk: start to redo hello_triangle to be simpler
2023-01-03 00:55:35 -05:00
chyyran
8fca2954b0
fmt: run cargo fmt
2022-12-21 21:39:31 -05:00
chyyran
b569de1522
capi: basic capi for presets and gl
2022-12-03 18:33:01 -05:00
chyyran
1665770615
rt: move image into runtime
2022-12-01 17:11:42 -05:00