* 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
* 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
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.
* 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
* 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>
* 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
* Added clap to switch between shaders
* Merged wgpu runners
* tested something related to async which i forgot to udno
* clippy
* xamprocky suggestion
* 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
* Update DILocation and update trait impls for nightly
* rustc_codegen_spirv: Update mir Scalar handling to nightly 2020-11-04
3a7970848cdf4d717d0b
* More changes to compile on the latest nightly
* Remove unused import warnings
Co-authored-by: Marijn Suijten <marijns95@gmail.com>
* 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.