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
800b6e7b4b
d3d11: cleanup todo
2023-02-11 01:18:04 -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
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
336094cad9
d3d11: properly clear history framebuffers
2023-02-09 00:42:46 -05:00
chyyran
cc3e50611e
chore: Release
2023-02-08 21:22:33 -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
07b20fecdc
d3d11: fall back to singlethreaded shader compile if device was single threaded
2023-02-07 17:27:44 -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
5ffcf005a0
d3d11: set and restore blend state between passes and disable unneeded CPU access write
2023-02-07 00:51:35 -05:00
chyyran
c5b2b50d16
d3d11: make default cpu access none
2023-02-06 23:34:32 -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
cb4dc418cd
chore: Release
2023-02-06 19:23:06 -05:00
chyyran
3ad67d9539
dep: upgrade to spirv-to-dxil 0.3
2023-02-06 19:22:53 -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
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
17203692f0
d3d12: make framebuffer
2023-02-01 02:08:50 -05:00
chyyran
c2bef7f985
d3d12: upload shaders
2023-02-01 02:08:50 -05:00
chyyran
82ad516db0
d3d11/vk: render intermediate passes with identity matrix
2023-01-31 00:53:55 -05:00
chyyran
b996d60e9b
test(d3d11): make args test harness
2023-01-30 19:48:54 -05:00
chyyran
18e1f758cd
rt: apply filter settings before drawing frame
2023-01-30 19:30:23 -05:00
chyyran
b7a44f25f3
chore: Release
2023-01-29 22:49:26 -05:00
chyyran
abcd3bdc24
d3d11: set the proper sampler for each pass input
2023-01-29 22:19:08 -05:00
chyyran
964da2874c
fmt: format pass
2023-01-29 21:31:38 -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
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
b0dde6eda2
d3d11/vk: fix default mvp
2023-01-28 13:11:14 -05:00
chyyran
43b7d6fb53
preprocess: support latin-1 encoding
2023-01-28 11:58:59 -05:00
chyyran
3db4c332eb
chore: Release
2023-01-28 01:50:33 -05:00
chyyran
1e99c169db
d3d11: rebind vertices each pass
2023-01-27 01:22:53 -05:00
chyyran
cc97be6a0c
d3d11: default to -O3 for compiling shaders
2023-01-27 00:27:06 -05:00
chyyran
3d0bdd0eac
test: update slang-shaders repo
2023-01-27 00:07:12 -05:00
chyyran
cdf94cee1f
capi(d3d11): Don't drop passed in COM pointers
2023-01-26 23:12:56 -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
9cdf646681
build: only build d3d11 stuff for windows
2023-01-21 01:54:06 -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
acca9ce6f6
d3d11: update to windows-rs 0.44
2023-01-16 18:45:02 -05:00
chyyran
fceda0e99d
chore: Release
2023-01-15 20:06:59 -05:00
chyyran
40e4ce908f
preprocess: store parameters in FxHashMap
2023-01-15 14:06:38 -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
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
e320e093e2
build: fix missing symbols on linux
2023-01-14 18:56:31 -05:00
chyyran
c85565a8f7
chore: Release
2023-01-14 17:23:06 -05:00
chyyran
e6f1361199
doc: document image handles
2023-01-14 15:10:40 -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
ba24181450
test: fix tests
2023-01-14 01:58:22 -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
chyyran
45d03fbfb8
capi: resolve name conflicts due to conflicting struct names in each module
2023-01-13 18:10:20 -05:00
chyyran
60f2ae6da8
chore: Release
2023-01-13 03:20:13 -05:00
chyyran
589538d8b2
doc: completely doc librashader crate
2023-01-13 03:19:58 -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
455b56ce8e
lib: remove print statements
2023-01-13 00:07:18 -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
23458917f3
gl: kind of fix mipmap handlingneeds to check next frame
2023-01-11 19:09:15 -05:00
chyyran
8047bf80c8
gl/d3d11: add option to force mipmap generation off
2023-01-11 18:25:31 -05:00
chyyran
02b3b8baff
vk: fix image format conversions
2023-01-11 17:28:09 -05:00
chyyran
f08098680a
misc: tweaks
2023-01-03 01:06:42 -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
fe573618f8
vk: implement load luts
2022-12-21 21:13:35 -05:00
chyyran
e8a1e2f165
d3d11: do a full copy of textures
2022-12-10 01:50:54 -05:00
chyyran
e7351207cf
rt: take ringbuffer out for reuse
2022-12-06 01:01:21 -05:00
chyyran
212d5fd7eb
chore: Release
2022-12-05 02:12:18 -05:00
chyyran
30067df4d6
chore: Release
2022-12-05 00:24:16 -05:00
chyyran
6ab03ecc99
capi: more docs
2022-12-04 22:48:57 -05:00
chyyran
8935ab28e9
rt: allow specifying frame_direction
2022-12-04 22:36:14 -05:00
chyyran
8a782da0e8
chore: Release
2022-12-03 21:26:02 -05:00
chyyran
b569de1522
capi: basic capi for presets and gl
2022-12-03 18:33:01 -05:00
chyyran
f92dc5cae6
fmt: run clippy
2022-12-01 19:16:13 -05:00
chyyran
1665770615
rt: move image into runtime
2022-12-01 17:11:42 -05:00
chyyran
ba41055a58
rel(0.1.0-alpha.1): update workspace for alpha
2022-12-01 02:07:21 -05:00
chyyran
e804ffd310
reflect: document and rename some structs
2022-12-01 01:50:16 -05:00
chyyran
5d668a2233
doc: doc preset
2022-12-01 00:24:24 -05:00
chyyran
8fa38c564c
d3d11: fix flickering when using feedback
2022-12-01 00:11:41 -05:00
chyyran
acab02e401
doc: general add docs and clean up
2022-11-30 22:50:57 -05:00
chyyran
a64d0b0a96
d3d11: export runtime in root lib
2022-11-30 19:10:04 -05:00
chyyran
873814b03b
d3d11: cleanup error and api
2022-11-30 19:05:12 -05:00
chyyran
6519a78df2
d3d11: make error unboxed
2022-11-30 17:59:55 -05:00
chyyran
8d940d6f79
d3d11: deferred context experiments
2022-11-30 02:50:15 -05:00
chyyran
bcf64fc0cb
d3d11: fix history bindings
2022-11-30 02:43:03 -05:00
chyyran
f044d0e91b
d3d11: don't copy texture data, just copy the resource
2022-11-30 01:52:08 -05:00
chyyran
5088e1c55b
fmt: run cargo fmt and clippy
2022-11-30 01:38:05 -05:00
chyyran
7acf208f39
d3d11: implement history
2022-11-30 01:35:20 -05:00
chyyran
538672e355
gl: abstract away gl3 and dsa
2022-11-30 00:39:50 -05:00
chyyran
c4f1abd411
d3d11: passoutput
2022-11-30 00:39:50 -05:00
chyyran
812580e0b9
d3d11: unbind resources when done
2022-11-29 02:13:50 -05:00
chyyran
60fd644a2a
d3d11: initialize output buffers
2022-11-29 01:57:04 -05:00
chyyran
816402758a
d3d11: use uniformstorage
2022-11-29 00:39:15 -05:00
chyyran
ae257d8574
runtime: move some runtime commonalities into runtime crate
2022-11-29 00:23:48 -05:00
chyyran
2c953d638f
dx11: get single pass working
2022-11-28 21:00:54 -05:00
chyyran
9265113e9a
gl46: initial dsa hello_triangle
2022-11-28 17:42:29 -05:00
chyyran
9e2c914e57
gl: cleanup and refactor
...
- allow frame and filterchain init to take optional config object by caller
- allow binding MVP as a uniform
2022-11-27 23:27:21 -05:00
chyyran
4e242bf25e
d3d11: sketch out filterpass
2022-11-27 02:21:36 -05:00
chyyran
f0bc2d92af
d3d11: load shaders and buffers
2022-11-26 23:57:22 -05:00
chyyran
f327040729
d3d11: create buffers
...
[ci broken]
2022-11-26 19:35:33 -05:00
chyyran
46bc8a9e70
build: move dx11 -> d3d11
2022-11-26 15:58:26 -05:00