marc0246
baf863ce33
Resolve restrictions of BufferContents
, add support for allocating all types of buffers, and rework vulkano-shaders ( #2132 )
...
* 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
2023-03-05 19:56:35 +01:00
Andrew
58fe067033
remove extraneous comma in shader entry point generation ( #2136 )
2023-02-15 14:43:02 +01:00
Rua
41a37735d1
Automatically derive Pod
and Zeroable
for structs generated by vulkano-shaders ( #2117 )
2022-12-30 03:18:25 -06:00
Rua
f08e8767a9
Document features of each crate ( #2115 )
2022-12-30 03:14:43 -06:00
Rua
0b0c4662e9
Add more support for cgmath and nalgebra types ( #2107 )
2022-12-21 07:50:56 -06:00
Rua
6eb526322b
Fix clippy warnings from Rust 1.66 ( #2105 )
2022-12-18 10:23:40 -06:00
Rua
79c39ecb06
Add synchronization tracking for render pass operations ( #2101 )
2022-12-13 07:46:48 -06:00
Rua
4d95604e1a
Update Ash to 0.37.1 ( #2096 )
...
* Update Ash to 0.37.1
* typo
* Add support for new shader/pipeline stages and access flags
* Small change
* Fixes
* Use ^ for version
2022-12-02 10:17:45 -06:00
Rua
4ccfc925fa
Refactor DescriptorRequirements
( #2081 )
2022-11-09 03:35:50 -06:00
Rua
a984a925c4
Use actual integer bitflags for Vulkan bitflag types ( #2073 )
...
* 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
2022-11-05 00:02:28 -05:00
marc0246
b8d7cc3241
The deed ( #2016 )
2022-10-04 10:50:58 +02:00
marc0246
7e3515e6eb
Replace generics with impl Trait
( #2017 )
2022-10-04 10:06:36 +02:00
marc0246
1c2d195dab
Improvements to caches and switch to ahash
( #2019 )
...
* Add `OnceCache`
* Switch to `ahash`
2022-10-04 10:04:52 +02:00
Rua
f78e06fc6e
#2007 fixes ( #2008 )
2022-10-01 21:19:25 -05:00
Rua
9a50d6ca56
Fix handling of runtime sized arrays in shaders ( #1992 )
...
* Fix handling of runtime sized arrays in shaders
* Small fix
2022-09-22 02:11:30 -05:00
Rua
b06b29afd2
Better validation and errors ( #1966 )
...
* Better validation and errors
* Small fix
2022-09-09 22:41:52 -05:00
Rua
2705984c77
Macrofy all Vulkan bitflag and enum types, check for device support ( #1964 )
2022-09-05 15:16:40 -05:00
Rua
f0e6e4c6b7
Fix or allow all Clippy errors, re-enable dead code and unused variable warnings ( #1953 )
2022-08-12 05:18:35 -05:00
Rua
69b72362ea
Vulkano-shaders struct generation refactor ( #1945 )
2022-08-07 05:54:38 -05:00
Austin Johnson
c0c9c21ce4
remove unnecessary question mark operator and unsafe block ( #1940 )
2022-08-01 10:43:45 +02:00
Rua
d3217d2531
Update dependencies ( #1904 )
...
* Update dependencies
* MacOS fix
2022-05-29 19:27:47 +02:00
atilo
31a203303e
Raytracing shaders with vulkano-shaders ( #1888 )
...
* Support for compiling ray shaders (still broken)
* Remove debug print and fix unimplemented panic
2022-05-02 13:21:00 +02:00
Austin Johnson
2e562b5773
convert fnv types into std ( #1847 )
2022-02-27 08:47:22 +01:00
Rua
db51e15e5e
Vulkan 1.3 support, updated dependencies ( #1836 )
2022-02-25 16:58:09 -06:00
Rua
786683c2a9
Add DescriptorSetLayoutCreateInfo
and PipelineLayoutCreateInfo
( #1834 )
...
* Add `DescriptorSetLayoutCreateInfo` and `PipelineLayoutCreateInfo`
* DescriptorType non_exhaustive
2022-02-25 16:52:44 -06:00
Eemeli Lehtonen
3054690ed7
fix shader macro for geometry stages ( #1823 )
2022-02-10 22:41:43 +01:00
Rua
e3146aac0e
Sampler ycbcr conversion ( #1807 )
...
* Better validation of image view creation, descriptor set updates, draw-time resources and others
* Add sampler YCbCr conversion
* Add shader validation
* Minor fixes
* Add YCbCr example
* Typo
2022-01-30 08:52:57 +07:00
Rua
0c06394e6c
Better validation of image view creation, descriptor set updates, draw-time resources and others ( #1806 )
2022-01-30 03:53:33 +07:00
Rua
07c1ec1dc1
Update dependencies ( #1793 )
2022-01-18 19:49:24 +07:00
Rua
16171c51ac
Improve shader analysis, add and refine DescriptorRequirements fields ( #1786 )
...
* Improve shader analysis, add and refine DescriptorRequirements fields
* Simplify a bit
2022-01-11 09:06:22 +07:00
Rua
906877421f
Always generate shader requirements for the exact entrypoint interface ( #1778 )
2021-12-19 17:44:58 +07:00
Rua
f069fdc35f
Upgrade to Rust 2021, update dependencies ( #1772 )
...
* Upgrade to Rust 2021, update dependencies
* Missed one
* Fix raw_window_handle breaking changes
2021-12-16 15:46:44 +07:00
Rua
0ebf05f35d
Bring vertex input in line with other pipeline state, reorganise modules ( #1758 )
...
* Bring vertex input in line with other pipeline state, reorganise modules
* Documentation improvement
* Use ShaderInterfaceEntryType in shader interface instead of format
* Example fix
2021-12-06 03:30:56 +07:00
Ilya Lakhin
29dcd28dc4
Fixes a bug when using vulkan-shaders macro with multiple shaders in release mode ( #1765 )
2021-11-24 22:53:43 +07:00
Rua
66d545c4cf
Add shaderc-debug feature to Vulkano-shaders ( #1754 )
2021-11-24 20:51:55 +07:00
Will Song
9041858430
Shader improvements ( #1753 )
...
* add Eq, PartialEq to ShaderExecution and thus GeometryShaderExecution
* use (String, ExecutionModel) to describe each entry point instead
* update tests
* Revert "update tests"
This reverts commit 2bd07d1ef4
.
* keep old entry_point interface but introduce new entry_point_with_execution for fine grained selection
* update tests
* move traits to autogen
* oops
2021-11-24 20:03:10 +07:00
Rua
c6959aa961
Move shader analysis to Vulkano crate, make available for runtime shaders ( #1747 )
...
* Move shader parsing and information extraction to Vulkano, make available for runtime shaders
* Small change
* Add new pipeline stages to match shader stages
* Fix review issues
2021-11-13 22:06:16 +07:00
Rua
5a326db546
Add DescriptorRequirements
( #1729 )
...
* Add DescriptorRequirements
* Doc fix
2021-10-26 00:16:54 +07:00
Rua
17820738d8
Replace Iterator
parameters with IntoIterator
where possible, replace various iterator types with impl Iterator
( #1719 )
2021-09-29 01:15:39 -05:00
Rua
8d321430cb
Add auto-generated SPIR-V parsing ( #1701 )
...
* Add auto-generated SPIR-V parsing
* Add further reflection utilities for decorations, names and members, clean up Vulkano-shaders
2021-09-13 19:39:17 +07:00
Ilya Lakhin
ddbde190ff
Sharing generated Rust types between shaders ( #1694 )
...
* Vulkano-shader mutual compilation mode
* Tests fixes
* Shared constants option for multi-shader
* Cargo fmt
* Fix doc typos
2021-09-06 02:18:04 +07:00
Rua
cd8302328f
Update dependencies ( #1689 )
2021-09-03 23:21:15 -05:00
Rua
ebf3ace481
Add support for immutable samplers, some small changes ( #1688 )
2021-09-03 23:20:05 -05:00
Rua
7a50bd5cb5
Add generation of Format
to autogen ( #1687 )
...
* Add generation of `Format` to autogen
* Better documentation
2021-09-02 04:05:23 -05:00
Austin Johnson
0a3791c303
Support for Runtime Descriptor Arrays ( #1674 )
2021-09-02 03:29:27 -05:00
Rua
aa1c6eb607
Move command buffer binding and state-setting into their own commands ( #1684 )
...
* Move binding and state-setting into their own commands
* Fix test failing on documentation
2021-08-27 01:24:16 -05:00
Rua
b6b423c3d3
Refactoring of DescriptorDesc and related changes ( #1680 )
...
* Various changes to DescriptorSetDesc
* More changes to DescriptorSetDesc
* Small comment fix
2021-08-24 04:16:09 -05:00
Rua
010d7fe551
Better SPIR-V Capability checks ( #1664 )
...
* Restructure DeviceRequirement in shaderc
* Add missing SPIR-V capabilities
* Avoid generating a check for every instruction in the file XD
2021-08-17 01:12:43 +07:00
Will Song
4f4580e749
update push constant ranges to match the spec. overlapping ranges are OK but intersecting stage flags are not ( #1659 )
...
* update push constant ranges to match the spec. overlapping ranges are OK but intersecting stage flags are not
* add a check for push constant ranges
2021-08-09 22:19:54 +07:00
Robin Heinemann
f331bf9c77
Add 8bit uniform and storage support ( #1647 )
2021-07-28 03:53:56 -05:00