* 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
* Fix subbuffer alignment to the non-coherent atom size limitation
* Fix incorrect range in the buffer guards
* Document the new behavior
* Simplify range aligning
* Document data layout in shaders
* Marc fix
* Some rewriting, separate SPIR-V/GLSL layout from alignment rules
* Small change
* Explicitly mention the SPIR-V decorations
* Marc fix 2
* More small wording changes
* Implement VertexDefinition for VertexBufferInfo, change Vertex signature to return VertexInfo and implement VertexInput-trait helper for Vertex to construct VertexBufferInfo objects from Vertex types. Updated teapot example to show usage.
* Reimplement BuffersDefinition leveraging VertexBufferInfo
* Reduce the amount of types required, remove VertexInfo, expose VertexBufferInfo methods on Vertex and use std HashMap transparently instead.
* Fix teapot example
* Fix outdated docs and use full path to Vertex trait to avoid issues
* Fix formatting of imports
* Remove clone and directly instantiate VertexInputBindingDescription.
* Rename VertexBufferInfo to VertexBufferDescription and being update of examples to use it
* Run cargo clippy fix to cleanup imports in examples
* Remove obsolete comment
* cargo fmt
* Refactor Vertex trait to not rely on ShaderInterfaceEntryType::to_format and instead rely on Format provided by VertexMember trait.
* Add test for impl_vertex macro, remove tuple implementations as they do not implement Pod, minor cleanups to impl_vertex macro.
* #[derive(Vertex)] proc-macro implementation with support for format and name attributes. Tests are implemented for both attributes and inferral matching impl_vertex macro
* Rename num_elements into num_locations to make purpose clear, add helper function to calculate num_components and check them properly in BufferDefinition's VertexDefinition implementation.
* Rename num_locations back to num_elements to make distinction to locations clear. Updated VertexDefinition implementation for BuffersDefinition to support double precision formats exceeding a single location.
* Add additional validation for vertex attributes with formats exceeding their location.
* Collect unnecessary, using iterator in loop to avoid unnecessary allocations.
* Use field type directly and avoid any form of unsafe blocks.
* Match shader scalar type directly in GraphicsPipelineBuilder
* Rename impl_vertex test to fit macro name
* Add VertexMember implementatinos for nalgebra and cgmath (incl matrices).
* Add missing copyright headers to new files in proc macro crate
* Document derive vertex with field-attribute options on the Vertex trait
* Add example for vertex derive approach.
* Do not publish internal macros crate as it is re-exported by vulkano itself
* Deprecate impl_vertex and VertexMember and update documentation for Vertex accordingly
* Make format field-level attribute mandatory for derive vertex
* Update all examples to derive Vertex trait instead of impl_vertex macro
* Fix doctests by adding missing imports and re-exporting crate self as vulkano to workaround limitations of distinguishing doctests in proc-macros