Commit Graph

91 Commits

Author SHA1 Message Date
Ashley
872e06257f
Clean up recreate_swapchain and some other things in the ash runner (#514)
* Remove an unused command buffer and fence in the ash runner

* Don't recreate command buffer when recreating the swapchain

* Don't recreate the render pass
2021-03-22 14:05:45 +01:00
XAMPPRocky
52ae430ec1
Update dependencies (#506) 2021-03-22 09:27:34 +01:00
Ashley Hauck
4bd0dcaf3f
Update wgpu 0.6->0.7 (#509)
* Update wgpu 0.6->0.7

* Allow zlib license in dependencies
2021-03-19 13:59:29 +00:00
Erin Power
144a447f30 Add prefer-dynamic to cargo config 2021-03-17 12:33:50 +01:00
Erin Power
c18f9e170e Disable testing on the example CPU runner 2021-03-17 11:53:50 +01:00
Eduard-Mihai Burtescu
a0b4de4cf6 Bump rust-toolchain to nightly-2021-03-17, unlocking for i in 0..n loops! 2021-03-17 03:31:11 +02:00
XAMPPRocky
6b33db07e6
Update to 0.4.0-alpha.0 (#497)
* Release 0.4.0-alpha.0

compute-shader@0.4.0-alpha.0
rustc_codegen_spirv@0.4.0-alpha.0
spirv-builder@0.4.0-alpha.0
spirv-std@0.4.0-alpha.0
spirv-std-macros@0.4.0-alpha.0

Generated by cargo-workspaces

* Update Cargo.lock, remove unused one

* Update lockfile

* update lockfile
2021-03-16 15:14:53 +01:00
XAMPPRocky
6e8453f386
Decouple glam from spirv-std (#476) 2021-03-16 09:59:08 +01:00
Henno
eebb2d3b32
Require local size x dimension and remove gl_ (#495)
* Require local size and remove gl_

Removes the gl_ prefix from the compute shader attribute, shortens the thread dimension declaration to threads(x, y, z), requires the x size dimensions be specified, trailing ones may be elided for the y or z dimensions.

* Implement review suggestions
2021-03-16 09:12:21 +01:00
Johan Andersson
a990ed5696
Use Embark standard lints v0.2 (#475) 2021-03-08 10:37:43 +01:00
Erin Power
499bf4cede Version bump to 0.3.0 2021-03-04 17:50:40 +01:00
XAMPPRocky
5cfaa0055b
Update to the latest nightly (#467)
* Update to the latest nightly

* Update to fix clippy lints

* ignore test for now
2021-03-04 14:12:00 +01:00
Eduard-Mihai Burtescu
6571f45a29 attr: mark #[spirv(...)] attributes as used and remove #[allow(unused_attributes)]. 2021-03-02 08:54:28 +02:00
AidanConnelly
df89d273f2
Remove unused dead code in example-runner-ash/main.rs (#449) 2021-02-26 12:58:52 +01:00
XAMPPRocky
2c02c59c1f
Fixes issues related to upgrading to the latest nightly (#447) 2021-02-26 08:19:35 +00:00
Eduard-Mihai Burtescu
47cf841209 spirv_std: deprecate load/store/then methods on storage_class::* types. 2021-02-22 12:58:40 +02:00
Erin Power
77fd6ee4a9 Release 0.3.0-alpha.0
compute-shader@0.3.0-alpha.0
rustc_codegen_spirv@0.3.0-alpha.0
spirv-builder@0.3.0-alpha.0
spirv-std@0.3.0-alpha.0
spirv-std-macros@0.3.0-alpha.0

Generated by cargo-workspaces
2021-02-16 16:19:46 +01:00
Henno
45f7a36d66
Fix wgpu-runner validation errors on minimize (#424)
Vulkan swap chains must have non-zero dimensions, this adds a check for that during swap chain resizing and does not create one if it would be invalid.
2021-02-15 15:48:29 +01:00
Ashley Hauck
f9c2bdc766
Update minifb to released version (#395) 2021-01-26 11:17:43 +00:00
Ashley Hauck
1454fe38a3
Update Cargo.lock (#381) 2021-01-18 14:35:12 +00:00
Viktor Zoutman
9b7d49dc29
Removed ark shaders (#375) 2021-01-14 14:52:44 +00:00
XAMPPRocky
38f2ec12c9
Update bimap->0.6, pipe->0.4, strum->0.20, websys->0.3.46 (#365) 2021-01-11 09:08:02 +00:00
XAMPPRocky
9e7b9de28f
Add autolinks to silence rustdoc warnings (#363) 2021-01-05 12:14:34 +00:00
Frank Murphy
8acde75c13
Add dummy binding for compute shader example (#328)
* Add dummy binding for compute shader example

* Linter fixes
2021-01-04 16:00:34 +00:00
Johan Andersson
d883b6cbb3
Upgrade winit v0.23 -> v0.24 (#353)
Fixes building for aarch64-apple-darwin
2020-12-20 00:22:17 +01:00
Henno
bc4c07e54f
Ash runner: fix crash on resize/minimize and add shader hot reloading (#299)
* window resizing and hot reloading

* remove windows paths and fix viewport creation

* readd spirv tools features

* re-remove features

* and add them again

* CI fix

* proper-resizing-and-validation-fixes

* linux validation fix

* fix zero height halting rendering

rendering wasn't getting unpaused after being set to zero height and then made larger again

* fix wgpu crash on laptops with both dedi and integrated GPUs

This fix still requires the user to set their default GPU to their dedicated one.

* METAL or VULKAN backend bit

* rebuild pipelines after updating shaders

* use spirv-builder, resolve merge conflict

* fmt
2020-12-16 17:41:48 +00:00
Viktor Zoutman
a2a2e3917e
Renamed spirv-attrib to spirv-std-macros (#347) 2020-12-15 15:16:57 +00:00
Eduard-Mihai Burtescu
aed5204f4a
Mouse support for the wgpu runner, and a shader to demonstrate it. (#341) 2020-12-15 11:33:24 +00:00
Viktor Zoutman
1bcb994d59
Compile examples and spirv-std on stable (#340)
* Compile examples and spirv-std on stable

* new line

* weid space
2020-12-14 09:50:45 +00:00
DGriffin91
57b49d932a
Update shared to use shorter glam vec functions for consistency (#333)
Co-authored-by: DGriffin91 <git@dgdigital.net>
2020-12-10 00:25:06 -07:00
DGriffin91
a942b6c425
Updated shaders to use glam functions for making vecs (#331)
Co-authored-by: DGriffin91 <git@dgdigital.net>
2020-12-09 09:19:12 +00:00
Eduard-Mihai Burtescu
adebc90070
Remove #[spirv(push_constant)] from function parameters. (#296) 2020-12-01 15:14:54 +00:00
Eduard-Mihai Burtescu
ae42a911a1
#[spirv(block)] for Block decorations on structs. (#295) 2020-12-01 14:28:49 +00:00
Ashley Hauck
0801e48ae0
Update glam to include latest changes (#291)
* Update glam to include latest changes

* Try workaround on CI...
2020-12-01 12:47:37 +00:00
Jasper Bekkers
244cb5a126
Ark shaders (#286) 2020-12-01 05:29:08 +00:00
XAMPPRocky
16c380a71b
Refactor and document storage classes (#280)
* Refactor storage classes macro and organisation

* Update storage_class.rs
2020-11-27 15:20:44 +00:00
XAMPPRocky
59869ec58b
Move lang_items into spirv-std (#275) 2020-11-26 09:12:18 +00:00
Gray Olson
353fa96af6
Rename pow to powf, remove saturate from MathExt, and update to latest glam (#248)
* remove saturate from spirv_std MathExt and rename pow to powf

* update to latest glam

* update glam again and add `std` feature to `spirv-std` to support cpu runner

* re-remove spirv-tools-sys submodule

* fixup! Merge branch 'main' into powf-saturate

* Use libm instead of MathExt

* Fix lint for unused import when compiling with std

Co-authored-by: khyperia <github@khyperia.com>
2020-11-24 09:28:58 +00:00
Eduard-Mihai Burtescu
0581f8580e
Use a demangled symbol name for OpName. (#266)
* Use a demangled symbol name for OpName.

* Rename my_smoothstep back to smoothstep.

* Update SPIR-V tests to look for the absolute fn
path.
2020-11-20 13:54:26 +00:00
Viktor Zoutman
2dd8dba3b0
Moved some functions to a shared crate (#255)
* Moved some functions to a shared crate

* fmt!

* fixed the cpu
2020-11-18 14:27:32 +00:00
XAMPPRocky
c1c72517c8
Update ash-molten to compile on macOS (#252) 2020-11-18 10:33:10 +00:00
Viktor Zoutman
ec89ddf446
Sky shader Improvements. (#245)
* Added some constants to the shader

* did something for a certain video i forgot to revert

* removed unused function

* cleanup

* cpu runner now works

* explicit naming

* removed paranthesis

* clippy

* CLIPPY
2020-11-16 15:17:09 +00:00
Viktor Zoutman
2d75e0473f
Merged wgpu runners (#241)
* Added clap to switch between shaders

* Merged wgpu runners

* tested something related to async which i forgot to udno

* clippy

* xamprocky suggestion
2020-11-16 11:21:33 +00:00
Viktor Zoutman
0f78bd3e6b
Added clap to switch between shaders (#240) 2020-11-13 18:37:30 +00:00
XAMPPRocky
45f2312947
Put shader modules at the top of the example runners (#229) 2020-11-13 11:19:23 +00:00
Marijn Suijten
e8aef14347
Add Android support to wgpu example (#215)
* examples/wgpu: Handle escape to exit (same as ash example)

* examples/wgpu: Set up for use on Android

* examples/wgpu: Convert #[cfg] blocks to cfg_if

* examples/wgpu: Wait for events instead of busy-looping

The image currently does not change and the OS will notify us when to
redraw (ie. after window resizes). This is going to save power
especially on mobile devices.

As soon as interactive or animating visuals are introduced to this
example redraws can be requested with `window.request_redraw()`.

* examples/wgpu: Create swapchain in ::Resume on Android

* docs: Add Android to supported operating systems

* ci: Build test cross-compilation for Android

* HACK: ci: Create Android symlink without spaces

* ci: Set legacy ANDROID_HOME because ndk-build prefers deprecated var
2020-11-11 16:32:02 +01:00
XAMPPRocky
c2ccdbe6ef
Update glam and re-export glam from spirv_std (#220) 2020-11-11 08:13:37 +00:00
Ashley Hauck
bfa0f50f9b
Update ash-molten to use version 0.7 (#218)
The moltenvk-1.1.0 branch no longer exists
2020-11-10 09:29:50 +00:00
XAMPPRocky
cf52d51199
Add changes to compile rust-gpu on the latest nightly (#212)
* Update DILocation and update trait impls for nightly

* rustc_codegen_spirv: Update mir Scalar handling to nightly 2020-11-04

3a7970848c
df4d717d0b

* More changes to compile on the latest nightly

* Remove unused import warnings

Co-authored-by: Marijn Suijten <marijns95@gmail.com>
2020-11-10 08:16:25 +00:00
charles-r-earp
32c2ea58bc
Compute Shaders + ExecutionMode's (#195)
* Created examples/ wgpu-example-compute-runner + wgpu-example-compute-shader.

* Working compute example, can compile and run, set local_size. Validated changes do not break rendering example.

* Added complete list of ExecutionMode's to be specified underneath ExecutionModel. Replaced SpirvAttribute::Entry ExecutionModel with an Entry struct, which includes a Vec of ExecutionMode, ExecutionModeExtra to be submitted in entry.rs. Compute example runs. Passes all tests.

* Changed Cargo license info for compute examples. Simplified compute runner to be more similar to other wgpu example. Split of entry logic in symbol.rs to separate function. Fixed issue in builder/mod.rs.

* Pulled in reorganization changes to crates + examples. In symbols.rs moved really_unsafe_ignore_bitcasts to its own Symbol match. In entry.rs, entry stubs now return the fn_id, so that entry_stub() can add the execution modes in one place. Passed all tests.

* cargo fmt

* Removed duplicate examples. Fixed cargo fmt bug in compute runner.
2020-11-10 08:10:21 +00:00