* added tests for codegen reflect()
* added tests for a typical rust-gpu shader
* make idents that are invalid be named UnnamedX instead of panicing
* add generate_structs option to shader! macro, to disable struct generating
* get rid of macro_use extern crate
* disallow specifying a shader type for binary shaders
* fix mesh shaders output interface not being arrayed
* structs in shader interface panic with explanatory message
* fix clippy lints
Co-authored-by: Rua <ruawhitepaw@gmail.com>
---------
Co-authored-by: Firestar99 <4696087-firestar99@users.noreply.gitlab.com>
Co-authored-by: Rua <ruawhitepaw@gmail.com>
* Up vk version in shader compilation
* Update test in codegen.rs
* cargo +nightly fmt
* Update lib.rs
* clippy + fmt fixes
* simplify changes
* post merge
* Add support for the `ext_mesh_shader` extension
* Helper function for queries
* Documentation update
* Add mesh primitives generated query
* Derp
* Support in vulkano-shaders too
* More doc fixes
* Better docs, explicitly saying when the values must be `Some` or `None`.
* Update vulkano/src/pipeline/graphics/mod.rs
Co-authored-by: marc0246 <40955683+marc0246@users.noreply.github.com>
---------
Co-authored-by: marc0246 <40955683+marc0246@users.noreply.github.com>
* Use workspace dependencies
* Update CI workflow to account for the two workspaces
* Make the tables in the root workspace a bit nicer to look at
* Use workspace package version
* Remove workspace package version
* Make winit a workspace dependency as well
* Apply specialization to shader reflection
* Remove redundant method
* Remove all the SpecId decorations too
* Don't unnecessarily collect the instructions
* Replace decoration groups with individual decorations
* Rename with_specialization
* Missed renames
* Remove the Arcs
* Rewrite shader and specialization handling in pipelines
* Make the shader loading in examples a bit cleaner
* Forgot some
* Fix incorrect color blend states in examples
* Nicer fix
* Use mem::discriminant
Co-authored-by: marc0246 <40955683+marc0246@users.noreply.github.com>
---------
Co-authored-by: marc0246 <40955683+marc0246@users.noreply.github.com>
* shaders: minor fix that some Vecs were always allocated with capacity of 0
* shaders: add root_path_env property to allow loading shaders generated by a build script
* shaders: Apply root_path_env suggestions from code review
Co-authored-by: marc0246 <40955683+marc0246@users.noreply.github.com>
* shaders: added root_path_env docs about env vars specified by a build script
---------
Co-authored-by: Firestar99 <4696087-firestar99@users.noreply.gitlab.com>
Co-authored-by: marc0246 <40955683+marc0246@users.noreply.github.com>
* Add `BufferContentsLayout`
* Rework `BufferContents`
* Add `BufferContents` derive macro
* Relax restrictions of shader code generation
* Fix examples
* Add additional invariant to `Subbuffer`
* Shorten paths a bit
* Remove a bit of bloat
* Add `Sized` constraint to element traits
* Fix an oopsie
* Add `Aligned`
* Add support for deriving `BufferContents` for sized types
* Fix alignment and padding issues
* Fix docs and add examples for `BufferContents`
* Adjust shader macro
* Add tests
* Adjust `Vertex` example
* Remove bytemuck re-export
* Update examples
* Workaround bytemuck's array elements that are `AnyBitPattern` limitation
* Add more alignments
* Fix an earlier oopsie
* Rework vulkano-shaders
* Fix examples
* Fix some rogue tabs in examples
* Add `AsRef` and `AsMut` implementation for `Padded`
* Remove useless code duplication
* Make the `BufferContents` derive macro the same for all types
* Add example docs for `Padded`
* Work around trivial bounds
* More example docs
* Minor consistency adjustment
* Add `serde` to the list of cargo features
* Make clippy happy again
* Use actual integer bitflags for Vulkan bitflag types
* Fix doc tests
* Fix Fence and Semaphore on Win32 and Fuchsia
* Add macro for bitflags that have a corresponding enum
* Fix bug