chyyran
cc93e37701
reflect: get rid of redundant shader compiler argument
2024-02-14 03:08:09 -05:00
chyyran
5554703af7
rt(mtl): fix stride asssignment
2024-02-14 03:08:09 -05:00
chyyran
a7b1682a37
rt(mtl): implement filter pass and filter chain logic
2024-02-14 03:08:09 -05:00
chyyran
aca5b5420c
rt(gl): use struct for draw_quad
2024-02-13 02:01:20 -05:00
chyyran
c121087348
rt(vk, wgpu): use structs for quad data
2024-02-13 02:01:20 -05:00
chyyran
849a749f1a
reflect(cross-glsl): don't unset vertex input attributes
2024-02-13 02:01:20 -05:00
chyyran
daf30c83c0
rt: add Rotation
, TotalSubFrames
, CurrentSubFrame
uniform semantics
2024-02-12 01:58:05 -05:00
chyyran
4762055dc1
reflect(msl): naga msl implementation
2024-02-11 15:48:01 -05:00
chyyran
d0a5224c10
dep: upgrade librashader-spirv-cross
2024-02-11 15:48:01 -05:00
chyyran
528dd1b53c
reflect: fix some refs
2024-02-11 15:48:01 -05:00
chyyran
a495b693a6
reflect(msl): implement spirv-cross msl
2024-02-11 15:48:01 -05:00
chyyran
c67e9f4801
reflect: move folder structure around to be a little better
2024-02-11 15:48:01 -05:00
chyyran
e1f62fc984
reflect: remove ShaderOutputCompiler and just delegate to FromCompilation
2024-02-11 15:48:01 -05:00
chyyran
b98d86a940
reflect: allow specifying output toolchain
2024-02-11 15:48:01 -05:00
chyyran
252f685967
reflect: abstract away output compiler into its own trait
2024-02-11 15:48:01 -05:00
chyyran
a7ca391ef6
reflect: abstract away input compiler from compilation
2024-02-11 15:48:01 -05:00
chyyran
a14b36e05b
presets: initial preset contexts API
2024-02-09 02:02:13 -05:00
chyyran
f9fdb93c0c
dep: update glslang and bitflags
2024-02-08 18:16:10 -05:00
chyyran
2b208f1848
dep: remove shaderc dependency
2024-02-07 23:55:33 -05:00
chyyran
37397ff216
lib: add wgpu to librashader library
2024-02-06 19:04:28 -05:00
chyyran
2450217c29
fmt: cargo fmt
2024-02-06 19:04:28 -05:00
chyyran
121dbc4ed6
reflect(wgsl): properly adjust coordinate space to WGSL-expected
2024-02-06 19:04:28 -05:00
chyyran
555ff6f9fc
rt(wgpu): update to wgpu 0.19
2024-02-06 19:04:28 -05:00
chyyran
4e052159e7
rt(wgpu): create pipeline bind group layouts
2024-02-06 19:04:28 -05:00
chyyran
171c842c97
reflect(wgsl): implement WGSL reflection
2024-02-06 19:04:28 -05:00
chyyran
4dfcdf2725
reflect(wgsl): wgsl compile backend
2024-02-06 19:04:28 -05:00
chyyran
80325fda9e
fmt: cargo fmt
2024-02-03 02:42:52 -05:00
chyyran
f4bdf160ab
build: only build dxil on windows
2023-11-29 03:26:58 -05:00
chyyran
f5da7d8421
fmt: cargo fmt
2023-07-20 02:40:13 -04:00
chyyran
b09a5295ab
reflect: update spirv-to-dxil
2023-07-20 02:40:13 -04:00
chyyran
70aa4091e0
build: fix nightly flag
2023-04-23 00:13:39 -04: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
c475a4cd9d
reflect: fix feature flag for dxil
2023-02-08 18:47:22 -05:00
chyyran
d1771a8b25
api: fix feature flags to allow building a proper subset of librashader
2023-02-07 18:50:33 -05:00
chyyran
3eae38f815
fmt: cargo fmt
2023-02-06 21:56:30 -05:00
chyyran
c818ef13f7
docs(reflect): Update docs to reflect that uniforms can be bound to both UBO and Push Constants
2023-02-06 19:34:01 -05:00
chyyran
3ad67d9539
dep: upgrade to spirv-to-dxil 0.3
2023-02-06 19:22:53 -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
d6ac2c665d
reflect: fix expected runtime config options
2023-02-05 01:14:01 -05:00
chyyran
f677666900
d3d12: initial implementation of spirv-to-dxil
2023-02-05 01:05:42 -05:00
chyyran
aa87e13201
reflect: add API to compile to DXIL
2023-02-04 18:24:56 -05:00
chyyran
5d260e77d5
reflect: expose HLSL SM version
2023-02-01 18:58:21 -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
9397233a0c
reflect: don't need error trait bound
2023-01-21 15:47:52 -05:00
chyyran
341d8825c6
build: switch to custom fork of spirv_cross temporarily
2023-01-21 02:33:09 -05:00
chyyran
08ca2963c5
doc: document reflect module
2023-01-19 18:59:39 -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
479015d223
api: clean up spirv-cross related apis
2023-01-16 19:35:23 -05:00
chyyran
aea440f194
reflect: remove rspirv
...
When naga is more mature (i.e. with support for COMBINED_IMAGE_SAMPLER), `naga::Module` handles everything we need with a more ergonomic API
2023-01-15 20:06:36 -05:00
chyyran
40e4ce908f
preprocess: store parameters in FxHashMap
2023-01-15 14:06:38 -05:00
chyyran
403ed5ed13
reflect: rename SpirV to SPIRV
2023-01-13 23:59:16 -05:00
chyyran
8fca2954b0
fmt: run cargo fmt
2022-12-21 21:39:31 -05:00
chyyran
bf840d02e4
reflect: fix spirv fragment output actually was vertex
2022-12-10 01:25:19 -05:00
chyyran
2baeae494d
vk: pipeline layout stuff
...
also ringbuffer fixes
2022-12-06 01:38:21 -05:00
chyyran
22f87aa7f8
reflect: add FromCompilation<GlslangCompilation>
for SpirV
2022-12-05 23:09:59 -05:00
chyyran
f92dc5cae6
fmt: run clippy
2022-12-01 19:16:13 -05:00
chyyran
e804ffd310
reflect: document and rename some structs
2022-12-01 01:50:16 -05:00
chyyran
acab02e401
doc: general add docs and clean up
2022-11-30 22:50:57 -05:00
chyyran
5088e1c55b
fmt: run cargo fmt and clippy
2022-11-30 01:38:05 -05:00
chyyran
ae257d8574
runtime: move some runtime commonalities into runtime crate
2022-11-29 00:23:48 -05:00
chyyran
515fe12568
reflect: clean up UniformStorage
2022-11-28 22:59:11 -05:00
chyyran
83b7cd38a0
gl/reflect: abstract away common uniform storage buffers
2022-11-28 22:56:20 -05:00
chyyran
43ec5173c1
reflect: seal ast output mutability after compilation
2022-11-27 23:47:41 -05:00
chyyran
9cad2b9128
reflect: make reflect errors non-exhaustive
2022-11-27 23:37:45 -05:00
chyyran
964da02c39
reflect: rename non_uniforms to texture_semantics
2022-11-27 23:11:21 -05:00
chyyran
f0bc2d92af
d3d11: load shaders and buffers
2022-11-26 23:57:22 -05:00
chyyran
2e5c9c835a
reflect: align push constant buffer sizes to 16 bytes
2022-11-26 23:57:01 -05:00
chyyran
cb8af115c7
gl: don't rename inputs/outputs
2022-11-24 02:24:05 -05:00
chyyran
6d11323520
gl: use real texture names when fixing bindings
2022-11-24 02:08:58 -05:00
chyyran
dadfb6ba33
dx11: begin to work on dx11 implementation
2022-11-24 01:37:16 -05:00
chyyran
254875de29
reflect: desugar rpitit into tait to avoid incomplete feature warning
2022-11-21 18:19:43 -05:00
chyyran
1978350d97
fmt: cleanup unused items
2022-11-21 17:47:38 -05:00
chyyran
86ad32ff0a
lib: sort out base library structure
2022-11-21 16:53:36 -05:00
chyyran
38ce621664
reflect: make compilation an associated function
2022-11-21 16:28:28 -05:00
chyyran
1579516d25
fmt: clean up unused items
2022-11-21 16:21:50 -05:00
chyyran
80fa30e54e
preprocess: move ShaderSource to preprocess and rename common def libs
2022-11-21 16:13:37 -05:00
chyyran
10eb2c3106
gl: implement passfeedback and original history
2022-11-21 02:13:10 -05:00
chyyran
090df176c8
gl: fix sampler binding
2022-11-19 22:03:58 -05:00
chyyran
d49fa5307a
gl: clean up uniform binding storage
2022-11-19 18:48:54 -05:00
chyyran
d37fc0ccb5
gl: clean up the huge lib.rs file
2022-11-14 01:49:51 -05:00
chyyran
b1beb0e46f
reflect: get rid of meaningful indices for variable semantics
2022-11-13 02:07:21 -05:00
chyyran
dcbdb382e1
presets: allow comments on the same line as a declaration
2022-11-13 01:57:22 -05:00
chyyran
66d1c872ee
gl: get some more reflection work done
2022-11-12 01:23:49 -05:00
chyyran
bbefc3ced3
gl: expose compiler in gl result
2022-11-11 02:26:57 -05:00
chyyran
f3d0b2acae
fmt: run clippy
2022-11-11 01:53:02 -05:00
chyyran
41f721aa6d
reflect: clean up public reflect API a little
2022-11-11 01:44:41 -05:00
chyyran
993359115e
reflect: hide spirv details from consumer
2022-11-09 01:51:10 -05:00
chyyran
301b8bf209
gl: add name mapping to gl compiler
2022-11-09 01:11:25 -05:00
chyyran
f1280202e5
hlsl: implement hlsl reflection
2022-11-07 00:25:11 -05:00
chyyran
d6f47f83ca
fmt: run clippy
2022-10-31 20:29:25 -04:00
chyyran
5ec604e536
chore: run fmt
2022-10-27 20:39:39 -04:00