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
|
f2357f9ab1
|
d3d12: add proper fallback for output textures that need mipmapping
|
2023-02-12 23:30:32 -05:00 |
|
chyyran
|
d6bbdb43fd
|
d3d12: no need to build hlsl if not needed
|
2023-02-12 22:49:23 -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
|
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
|
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
|
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
|
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
|
48a1b28665
|
presets: greatly improve path resolution logic and parsing of invalid constructs
|
2023-02-08 03:06:25 -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
|
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
|
3eae38f815
|
fmt: cargo fmt
|
2023-02-06 21:56:30 -05:00 |
|
chyyran
|
7ba2b26baa
|
d3d12: optimize barriers
|
2023-02-06 21:56:24 -05:00 |
|
chyyran
|
f14f918068
|
d3d12: use HV 2016 when compiling HLSL pipelines
|
2023-02-06 21:24:55 -05:00 |
|
chyyran
|
3ad67d9539
|
dep: upgrade to spirv-to-dxil 0.3
|
2023-02-06 19:22:53 -05:00 |
|
chyyran
|
4dcbdadb4f
|
capi: publish d3d12
|
2023-02-06 02:17:30 -05:00 |
|
chyyran
|
3cdf3aa105
|
doc(d3d12): clean up docs for d3d12
|
2023-02-06 01:25:06 -05:00 |
|
chyyran
|
ec619ec5e2
|
d3d12: clean up API for d3d12
|
2023-02-06 01:05:19 -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
|
d4525ee23e
|
dx12: render identity MVP in intermediate passes
|
2023-02-05 23:26:14 -05:00 |
|
chyyran
|
99954f011f
|
dx12: fix mipmapping
|
2023-02-05 23:20:01 -05:00 |
|
chyyran
|
1fe4b47981
|
dx12: use versionedrootsignature
|
2023-02-05 22:31:34 -05:00 |
|
chyyran
|
fd48d88fdd
|
dx12: use persistently bound buffers
|
2023-02-05 22:24:58 -05:00 |
|
chyyran
|
f077f86bad
|
dx12: cleanup and micro-opts
|
2023-02-05 21:49:55 -05:00 |
|
chyyran
|
621d1da3c2
|
dx12: reduce initializations of dxc
|
2023-02-05 21:17:16 -05:00 |
|
chyyran
|
227cae6405
|
fmt: clean up d3d12
|
2023-02-05 20:05:22 -05:00 |
|
chyyran
|
34b334fd7f
|
d3d12: enable parallel shader compilation
Turns out the weird errors were because of mipmapping
|
2023-02-05 20:03:59 -05:00 |
|
chyyran
|
a3589cc794
|
d3d12: make panic free
|
2023-02-05 19:58:51 -05:00 |
|
chyyran
|
b81b2b1d25
|
fmt: run clippy
|
2023-02-05 18:34:30 -05:00 |
|
chyyran
|
0506733dad
|
d3d12: implement mipmaps
|
2023-02-05 18:25:59 -05:00 |
|
chyyran
|
271788b9c6
|
d3d12: implement history
|
2023-02-05 18:03:38 -05:00 |
|
chyyran
|
6a1138f0dc
|
d3d12: allow force hlsl
|
2023-02-05 17:30:55 -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
|
66a4b1a648
|
doc: document d3d12 differences
|
2023-02-05 02:22:28 -05:00 |
|
chyyran
|
72c9548c7a
|
d3d12: use hlsl as a fallback pipeline
|
2023-02-05 01:54:56 -05:00 |
|
chyyran
|
f677666900
|
d3d12: initial implementation of spirv-to-dxil
|
2023-02-05 01:05:42 -05:00 |
|
chyyran
|
e66c2a628f
|
d3d12: run final pass
|
2023-02-01 18:09:34 -05:00 |
|
chyyran
|
dada615a0a
|
d3d12: use default mvp for intermediates for now
|
2023-02-01 02:08:50 -05:00 |
|
chyyran
|
c29cc51ed5
|
d3d12: render to intermediate buffers
|
2023-02-01 02:08:50 -05:00 |
|
chyyran
|
cbe087fa6c
|
d3d12: fix texture resource loads
|
2023-02-01 02:08:50 -05:00 |
|
chyyran
|
03b4a7574e
|
d3d12: filter chain pass
|
2023-02-01 02:08:50 -05:00 |
|
chyyran
|
e1154ac52a
|
d3d12: make hello_triangle copy fb
|
2023-02-01 02:08:50 -05:00 |
|
chyyran
|
10cd240868
|
d3d12: bind logic
|
2023-02-01 02:08:50 -05:00 |
|
chyyran
|
3506e1a3da
|
d3d12: allocate work heaps for each pass
|
2023-02-01 02:08:50 -05:00 |
|
chyyran
|
624a749098
|
d3d12: allocate framebuffers
|
2023-02-01 02:08:50 -05:00 |
|
chyyran
|
c28e5195c2
|
d3d12: texture infrastructure
|
2023-02-01 02:08:50 -05:00 |
|
chyyran
|
17203692f0
|
d3d12: make framebuffer
|
2023-02-01 02:08:50 -05:00 |
|
chyyran
|
22599285d3
|
d3d12: load vertex buffers
|
2023-02-01 02:08:50 -05:00 |
|
chyyran
|
c2bef7f985
|
d3d12: upload shaders
|
2023-02-01 02:08:50 -05:00 |
|
chyyran
|
53e3732a93
|
d3d12: complete mipmapper
|
2023-02-01 02:08:50 -05:00 |
|
chyyran
|
48e5a8a149
|
d3d12: build mipmapper shader
|
2023-02-01 02:08:50 -05:00 |
|
chyyran
|
d7da5c175f
|
dx12: mipmap stuff
|
2023-02-01 02:08:50 -05:00 |
|
chyyran
|
8bb02d31e9
|
d3d12: sketch out mipmap gen
|
2023-02-01 02:08:50 -05:00 |
|
chyyran
|
56538dbfbf
|
d3d12: load lut texture data
|
2023-02-01 02:08:50 -05:00 |
|
chyyran
|
9a3ce029d7
|
d3d12: partially implement lut texture
|
2023-02-01 02:08:50 -05:00 |
|
chyyran
|
2f82c5f430
|
d3d12: implement sampler palette
|
2023-02-01 02:08:50 -05:00 |
|
chyyran
|
4dc34fceb2
|
d3d12: try to do desc heaps
|
2023-02-01 02:08:50 -05:00 |
|
chyyran
|
92c9836985
|
d3d12: try to do desc heaps
|
2023-02-01 02:08:50 -05:00 |
|
chyyran
|
0ceb70d799
|
d3d12: take hello triangle from windows-rs
|
2023-02-01 02:08:50 -05:00 |
|