* Optimise CI with faster machines
Build on 16 vCPU machine instead of the default 4 vCPU, using GitHub Action's beta of GitHub-hosted larger runner.
* Use Windows runner
* Remove windows custom runner
For Linux and Windows, Mac CI uses latest installed from brew.
Also added comment about how/where to get the download link for next upgrade.
Resolves: #866
Fixes two issues with the configuration:
- @fu5ha wasn't getting review request due to user name rename.
- Our [Embark Open Source Tool project checker](https://github.com/EmbarkStudios/opensource/tree/main/src) that validates our projects have maintainers assigned categorized this as not fully maintained as didn't have a root owner `*`, @eddyb I made this you right now instead of just for `/crates/`. But we can tweak that going forward also. But this will keep our Slack bot happy
* Add sample_bias function
* Update line numbers
* Add gather function
* Update spirv-tools
CI was failing on "Capability SampledRect is not allowed by Vulkan 1.1
specification (or requires extension)", except locally it was fine, and
I have more up to date spirv-tools than CI, so try bumping the CI
version to see if it's just an out-of-date spirv-val
* Fix gather() in vulkan
* Convert compiler valication into marker traits
* Reduce CI times
* Reduce RUSTUP_UNPACK_RAM
* Set RUSTUP_IO_THREADS=1
* Include https://github.com/EmbarkStudios/ash-molten/pull/57 This fixes github API rate limit errors
* Inline test.sh to show timings for each step and generally have a less-jank UI
By default `cargo doc` documents all crates in the graph, including dependencies, which causes it to take a significant amount of time (~12 minutes according to CI)
* Update to the new rust-toolchain format
* Remove unneeded docs
* Update CI for toolchain file
* Update ci.yaml
* Update ci.yaml
* Update deploy_docs.yml
* Update ci.yaml
* Update deploy_docs.yml
* Remove redundant `rustup component add` commands from ci.yaml.
* Shorten "Continuous integration" to "CI" in ci.yaml.
* Add a helpful message above the TOML in rust-toolchain.
* Don't update rustup in ci.yaml, GHA already has the right version.
Co-authored-by: Daniel McNab <36049421+DJMcNab@users.noreply.github.com>
Co-authored-by: Eduard-Mihai Burtescu <eddyb@lyken.rs>
* Make maintainers explicit with CODEOWNERS
Hello!
We're making maintainers explicit. I've guessed the maintainers here, let me know if this is not right. Thanks!
* Update CODEOWNERS
Fix syntax
* Update CODEOWNERS
* Update CODEOWNERS
* 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
* 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
* [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
* 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
* 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