Commit Graph

278 Commits

Author SHA1 Message Date
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
Austin Johnson
137fb9f24b
Release 0.31 (#1990) 2022-09-18 05:46:53 -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
Austin Johnson
6a8ee8d75f
Release 0.30 (#1929) 2022-07-20 03:50:41 -05: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
Rua
de1147589e
Release 0.29 (#1856) 2022-03-11 23:20:11 +07: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
e7acf2aa9b
Release Vulkano 0.28 (#1810)
* Release Vulkano 0.28

* resolve unused ImageCreateFlags import on windows build

Co-authored-by: Austin Johnson <me@austinj.work>
2022-02-02 05:43:34 -06: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
Austin Johnson
619af8239c
Release 0.27.1 (#1777) 2021-12-06 14:12:11 -06:00
Ilya Lakhin
b5034907fa Release 0.27.0 2021-12-06 04:21:17 +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
Austin Johnson
baef23e1f8
0.26 (#1723) 2021-10-03 08:57:22 -05: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
Ilya Lakhin
a6dc452605 Release 0.25.0 2021-08-10 02:36:42 +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
Rua
7bc7d4ddac
Fix storage buffer detection to work for all SPIR-V versions (#1642) 2021-07-26 00:23:57 -05:00
Rua
1771714bc4
Descriptor set/pipeline layout refactoring (#1629)
* Remove DescriptorSetDesc trait, add layout method to DescriptorSet

* Add struct DescriptorSetDesc, forward PipelineLayoutDesc to it, rename is_superset_of to ensure_superset_of, union doesn't take self

* DescriptorSetLayout takes DescriptorSetDesc in constructor

* PipelineLayout takes DescriptorSetLayout in constructor

* EntryPointAbstract takes/returns descriptor set descs and push constant descs separately

* Remove PipelineLayoutDesc

* Remove PipelineLayout::descriptor_set_layout

* Minor changes

* Small additions
2021-07-05 11:35:38 +07:00
Rua
d5fd3d3f0b
Convert Vulkano-shaders to use spirv_headers crate (#1624)
* Convert Vulkano-shaders to use spirv_headers crate

* Fix issue after merge
2021-06-28 15:57:30 +07:00
Rua
d5bcffa902
Rearrange descriptor set modules and types (#1622)
* Move descriptor_set.rs to parent, make descriptor.rs its child

* Rename UnsafeDescriptorSetLayout to DescriptorSetLayout, as there isn't actually anything unsafe about it

* Make fixed_size_pool and persistent modules public, reduce number of re-exports from there

* Split off pool.rs from sys.rs

* Move std_pool module to pool::standard

* Make sys public, remove re-exports

* Move descriptor module and DescriptorSetDesc into layout module

* Move ShaderStages to pipeline::shader

* Make descriptor_set::collection module private

* Documentation
2021-06-28 15:28:09 +07:00
Rua
e5bd8807e4
Move instance/physical_device.rs to device/physical.rs, rewrite and refactor some parts of it (#1617)
* Move instance/physical_device.rs to device/physical.rs, rewrite some of it

* Deprecate supported_by_device_raw as well
2021-06-28 15:04:28 +07:00