Commit Graph

63 Commits

Author SHA1 Message Date
Erin Power
8e50b61a42 Release 0.3.0
compute-shader@0.3.0
rustc_codegen_spirv@0.3.0
spirv-builder@0.3.0
spirv-std@0.3.0
spirv-std-macros@0.3.0

Generated by cargo-workspaces
2021-02-16 13:55:47 +01:00
Erin Power
5f2f7714a7 Update version to match 0.2.1 2021-02-16 13:04:17 +01:00
Ashley Hauck
8a68551a06 Fix #403 (#407) 2021-02-02 12:20:10 +00:00
XAMPPRocky
69b94bb6f9 Add initial arch module (#394) 2021-01-27 15:54:17 +00:00
Ashley Hauck
f9c2bdc766 Update minifb to released version (#395) 2021-01-26 11:17:43 +00:00
XAMPPRocky
353bb96bd3 Add gpu_only proc macro (#392) 2021-01-25 10:39:47 +00:00
Ashley Hauck
1454fe38a3 Update Cargo.lock (#381) 2021-01-18 14:35:12 +00:00
Ashley Hauck
225d89d7de discard(), update rspirv, better capability computation (#380) 2021-01-18 11:59:27 +00:00
XAMPPRocky
08b75f39c1 Update smallvec (#370) 2021-01-12 09:29:53 +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
b9592e50c5 Update to latest nightly (#358) 2021-01-04 10:25:56 +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
Jake Shadle
a6294e1df4 Update spirv-tools (#351)
* Split android into separate job

* Bump spirv-tools to 0.3.1
2020-12-18 10:44:50 +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
Jake Shadle
95a4cfab41 Update spirv-tools to 0.2.0 (#343)
* Update spirv-tools to 0.2.0

* Rustfmt
2020-12-14 09:43:23 +00:00
XAMPPRocky
c1dc273e70 Update version number (#322)
* Update version number

* Add lockfile
2020-12-04 16:50:19 +00:00
Eduard-Mihai Burtescu
130b457c7b Run Cargo with --locked on CI. (#313)
* Run Cargo with --locked on CI.

* Update Cargo.lock.
2020-12-04 09:45:57 +01:00
Jasper Bekkers
e733f44637 Glam 0.11.1 (#309)
* Switch to glam 0.11.1

* Add lock file
2020-12-03 10:55:29 +00:00
Gray Olson
b41fe70b55 update glam to track bitshifter:master (#307) 2020-12-03 06:28:03 +00:00
Eduard-Mihai Burtescu
e02beade35 New structurizer: now with ∞% more φ! (#287) 2020-12-02 11:05:04 +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
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
Ashley Hauck
bedbc4dc0f asm! (#254) 2020-11-18 12:54:22 +00:00
XAMPPRocky
c1c72517c8 Update ash-molten to compile on macOS (#252) 2020-11-18 10:33:10 +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
Jake Shadle
0f3948dc27 Move out spirv-tools to separate repo (#237)
* Nuke spirv-tools

* Swap to use published spirv-tools crate
2020-11-13 09:57:12 +01: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
Ashley Hauck
86da42f2d7 Synthesize Session for tests, instead of Option<Session> (#228)
Also remove LinkerError and use rustc error reporting directly instead
2020-11-11 13:22:06 +00:00
XAMPPRocky
c2ccdbe6ef Update glam and re-export glam from spirv_std (#220) 2020-11-11 08:13:37 +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
Johan Andersson
8bec12831a Upgrade to latest glam fork rev 2020-10-31 00:38:23 +01:00
Gray Olson
b12a2f3f6a Cleanup pass on example shader and vk example-runner (#109)
* get rid of vertex buffers in example

* get rid of unused attributes in example shader

* use negative viewport height to match wgpu

* remove depth buffer

* use SRGB surface

* improve tonemapping

remove 'gamma correction' in favor of hardware srgb support

* make clippy happy

* move tonemapping out of sky(), rename gl_pos to builtin_pos

* rename shaders and use sky shader in wgpu example runner

* apply srgb OETF and invert clip space for cpu example runner

* restructure example directory structure according to #170

* update winit in wgpu example runner

* fix deny.toml example crate refs

* fix ci example name on maOS

* example-shader -> sky-shader in docs

* update sky shader image

* re-enable clippy and make it happy
2020-10-30 11:38:47 -07:00
Johan Andersson
98eb8d369c Convert to use glam for math types (#149)
* [spirv-std] Remove math types

* Temp implementation of copysign

https://github.com/EmbarkStudios/rust-gpu/issues/148

* Convert shader to use glam

* Rustfmt

* Fix wgpu-example-shader to use glam

* [spirv-std] Disable clippy::use_self

* Upgrade to latest glam branch

* Use latest glam fork

* Remove incorrect assert_uninit

After discussions with @khyperia

* Update lockfile

* Update to latest glam fork with fixes

* Use real copysign intrinsic

* Disable clippy on example-shader for now

Tracked in https://github.com/EmbarkStudios/rust-gpu/issues/186
2020-10-30 14:58:38 +01:00
Jake Shadle
307d0da66b Add spirv-tools and spirv-tools-sys crates to wrap usage of spirv-tools (#179)
* Add spirv-headers and spirv-tools as submodules

* Add simple generator and the generated code needed for compilation

* Add first pass on spirv-tools-sys

* Add first pass on spirv-tools

* Replace invocation of spirv-opt with spirv-tools crate

* Use C++11

* Placate clippy

* Add validation, replacing spirv-val with the spirv-tools crate

* Fix MSVC warning

* Use patched spirv-tools

* Fixup metadata

* Add same compiler flags as "official" build scripts

* Update spirv-tools and generated files

* Fixup

* Add assembler and example

* Use assembler in tests

* Oops, fix macos TARGET_OS

* write -> write_all

* Start splitting spirv-tools into a compiled vs tool feature set

* Checkpointing

* Checkpoint

* Boop

* Get tests to work both with installed and compiled tools

* Cleanup CI config

* Splits steps to clearly show how long each part of a longer (eg test)
step actually takes
* Label all steps

* Explicitly disable submodule checkout

* Rustfmt

* Rename features for consistency and fix clippy warnings

* Split "core" crates from examples

* Add run_clippy bash script

* Add test script

* Remove x flag

* Newline

* Actually print out errors from running val/opt

* Revert drive-by import merging

* Change intro to take the changes this PR has into account

* Actually run tests on Windows

* Fetch only the host target to reduce fetch times

* Add more info when a spirv tool returns a non-zero exit code

* Rustfmt

* Switch tool assembler to use files to see if it fixes windows

* Use files for input and output for now until I can figure out Windows being dumb

* Fix API docs generation

* Compile and use C++ code to check Windows issue

* Return to use installed tools
2020-10-29 23:03:07 +01:00
Jake Shadle
5aa7453b19 Revert "Replace usage of spirv-* binaries with spirv-tools rust crate (#117)"
This reverts commit 0bfe303a64.
2020-10-29 22:34:26 +01:00
Jake Shadle
0bfe303a64 Replace usage of spirv-* binaries with spirv-tools rust crate (#117)
* Add spirv-headers and spirv-tools as submodules

* Add simple generator and the generated code needed for compilation

* Add first pass on spirv-tools-sys

* Add first pass on spirv-tools

* Replace invocation of spirv-opt with spirv-tools crate

* Use C++11

* Add validation, replacing spirv-val with the spirv-tools crate

* Use patched spirv-tools

* Fixup metadata

* Add same compiler flags as "official" build scripts

* Update spirv-tools and generated files

* Add assembler and example

* Use assembler in tests

* Start splitting spirv-tools into a compiled vs tool feature set

* Get tests to work both with installed and compiled tools

* Cleanup CI config

* Splits steps to clearly show how long each part of a longer (eg test)
step actually takes
* Label all steps

* Explicitly disable submodule checkout

* Rename features for consistency and fix clippy warnings

* Split "core" crates from examples

* Add run_clippy bash script

* Add test script

* Change intro to take the changes this PR has into account

* Fetch only the host target to reduce fetch times

* Add more info when a spirv tool returns a non-zero exit code

* Use files for input and output for now until I can figure out Windows being dumb
2020-10-29 21:54:25 +01:00
Ashley
1b99a9ce20 Fix compilation of wgpu runner on wasm (#159) 2020-10-27 14:34:02 +00:00
Ashley Hauck
06fdb85d61 Add dis_fn testing function (#155)
* Add dis_fn testing function

* Update spirv-builder/src/test/mod.rs

Co-authored-by: XAMPPRocky <4464295+XAMPPRocky@users.noreply.github.com>

Co-authored-by: XAMPPRocky <4464295+XAMPPRocky@users.noreply.github.com>
2020-10-27 10:35:53 +00:00
Viktor Zoutman
27df71f492 WGPU example (#92) 2020-10-27 02:39:56 +01:00
Johan Andersson
fe18434bff Add example to evaluate sky shader on CPU (#141) 2020-10-26 15:49:01 +01:00
Ashley Hauck
8681464af7 Add framework for compiler tests (#118) 2020-10-23 18:22:36 +02:00
Ashley Hauck
0710f9d4b5 Include example-shader in the workspace (#87)
* Include example-shader in the workspace

* Fix clippy warnings

* Fix up tests and clippy warnings

* Change clamp_ to saturate

Co-authored-by: Jasper Bekkers <bekkers@gmail.com>
2020-10-22 12:30:17 +02:00
Ashley Hauck
8516dc161d Winit update to v0.23 (#86)
* Extremely hacky winit update

* Only render when redraw is requested

* cargo fmt

* Renamed smoothstep

Co-authored-by: Jasper Bekkers <bekkers@gmail.com>
2020-10-22 12:23:11 +02:00
Johan Andersson
14352a79be [example] Remove unused image crate dependency 2020-10-21 20:43:46 +02:00