Commit Graph

3384 Commits

Author SHA1 Message Date
marc0246
abfde840fa
Unify all buffer types (#2127)
* `CpuBufferPool` revamp

* Fix oopsie

* Fix docs

* Add `Subbuffer`

* Move `Buffer` to `buffer` module

* Replace all buffer types with `Subbuffer`

* Add constraints to `Index` and `QueryResultElement` traits

* Fix oopsies

* Fix examples

* Fix doc tests

* Rename `_unsized` to `_slice`

* Rename `CpuBufferAllocator`

* Implement `DeviceOwned` for `SubbufferAllocator`

* Use better generic type params

* Fix requirement message

* Fix docs

* Fix missing buffer alignment for texel buffer usage

* Add more docs to `Subbuffer`

* Add more utility functions to `Subbuffer`

* Remove superfluous `dst_offset`s

* Murder `FillBufferInfo`

* Fix example

* Add `Subbuffer::range`

* Fix wrong atom size alignment check

* Specify all fields in create infos derived from `BufferAllocateInfo`
2023-01-12 13:56:10 +01:00
Rua
fcb46e6f89
impl From<SampleCount> for u32 (#2125) 2023-01-07 20:38:28 -06:00
Austin Johnson
ccc50a6f9c
#2125 Changlog 2023-01-07 20:38:18 -06:00
Rua
4927b2ea62
Make triangle-v1_3 example work with khr_dynamic_rendering too (#2123)
* Make `triangle-v1_3` example work with `khr_dynamic_rendering` too

* Small comment fix
2023-01-07 20:37:21 -06:00
Rua
bad402ef4f
#2119 #2122 changelog 2023-01-03 18:53:26 +01:00
marc0246
82389ae880
Optimize memory layout checks and fix allocation soundness (#2122)
* Add `DeviceLayout`, `DeviceAlignment` and `NonZeroDeviceSize`

* Replace sizes and alignments with `DeviceLayout`

* Add missing allocation type checks

* Add forgotten docs
2023-01-03 18:49:47 +01:00
Nik Voss
834cc1eea5
Better custom vertex buffer layouts support (#2119)
* 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
2023-01-03 18:49:12 +01:00
Austin Johnson
21f850dc99
#2117 Changelog 2022-12-30 03:18:31 -06:00
Rua
41a37735d1
Automatically derive Pod and Zeroable for structs generated by vulkano-shaders (#2117) 2022-12-30 03:18:25 -06:00
Simon Hümmer
daa139dd53
Added Korangar to 'Projects using Vulkano' in README.md (#2116) 2022-12-30 03:16:21 -06:00
Austin Johnson
10fe6e6522
#2115 Changelog 2022-12-30 03:14:47 -06:00
Rua
f08e8767a9
Document features of each crate (#2115) 2022-12-30 03:14:43 -06:00
Austin Johnson
7fec2a6b24
#2108 Changelog 2022-12-30 03:10:40 -06:00
Rua
aabe529080
Fix incorrect aspects in barriers for depth+stencil images (#2108)
* Fix incorrect aspects in barriers for depth+stencil images

* Account for first_use possibly being empty
2022-12-30 03:10:34 -06:00
Rua
622626af80
#[allow(deprecated)] on various things related to impl_vertex (#2118) 2022-12-28 17:31:45 +01:00
Rua
cd3b9d25b3
Oops 2022-12-28 11:26:36 +01:00
Rua
d6a6ff383c
#2106 changelog 2022-12-28 11:26:10 +01:00
Nik Voss
dcc1b58fab
Refactor Vertex trait to allow user-defined formats (#2106)
* 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
2022-12-28 11:23:36 +01:00
Austin Johnson
40fc712e65
#2107 Changelog 2022-12-21 07:51:32 -06:00
Rua
0b0c4662e9
Add more support for cgmath and nalgebra types (#2107) 2022-12-21 07:50:56 -06:00
Austin Johnson
dfdb90e9a6
Remove installation of python with Windows actions (#2109)
* Remove python3 install. Install ninja with pip.

* Run actions on all branches.

* Specify cargo jobs?

* undo last commit
2022-12-21 06:20:33 -06:00
marc0246
8ed82d246e
Optimize host pool allocator (#2112) 2022-12-20 21:51:03 +01:00
marc0246
31aa5d8316
#2110 fix (#2111) 2022-12-20 18:49:54 +01:00
marc0246
8a5dedf6a7
Replicate #2098 on master (#2110) 2022-12-20 17:55:41 +01:00
Rua
6eb526322b
Fix clippy warnings from Rust 1.66 (#2105) 2022-12-18 10:23:40 -06:00
Austin Johnson
9acc2fcda6
#2104 Changelog 2022-12-18 10:22:52 -06:00
Rua
58b6e69170
Fix #2094 (#2104)
* Fix #2094

* Simplify check slightly
2022-12-18 10:22:48 -06:00
Austin Johnson
4045684c17
#2103 Changelog 2022-12-16 04:40:51 -06:00
Rua
3aca5dc190
Fix #1643 (#2103)
* Fix #1643

* Remove old code that was incorrect anyway
2022-12-16 04:40:46 -06:00
Rua
79c39ecb06
Add synchronization tracking for render pass operations (#2101) 2022-12-13 07:46:48 -06:00
Rua
10d7349556
Add basic synchronization tracking to CommandBufferBuilder (#2099) 2022-12-07 04:06:06 -06:00
Austin Johnson
def369dced
0.32.3 Changelog 2022-12-07 03:43:55 -06:00
Austin Johnson
2e3f419d2c
0.32.2 Changelog 2022-12-06 02:31:29 -06:00
Austin Johnson
1f18531901
#2096 Changelog 2022-12-02 10:17:49 -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
Austin Johnson
93b5164b73
Fix runtime_array example (#2095) 2022-12-01 11:56:11 +01:00
Rua
ebcea02c1e
Replace lazy_static with once_cell (#2093) 2022-11-20 19:25:25 -06:00
Austin Johnson
0aae60b010
#2091 Changelog 2022-11-20 04:20:43 -06:00
Rua
4e85ce5b81
Refactor reporting of resources used in command buffers (#2091) 2022-11-20 04:20:38 -06:00
Austin Johnson
89e1c56db4
#2089 Changelog 2022-11-19 04:48:34 -06:00
Rua
1e9374f99f
Add new CommandBufferBuilder, and *CommandBuffer types (#2089) 2022-11-19 04:48:28 -06:00
Rua
fcb726f499
#2090 changelog 2022-11-19 11:32:28 +01:00
Ilya Zlobintsev
f1b9596152
Implement IntoIterator for Features, DeviceExtensions and InstanceExtensions (#2090)
* Add as_arr functions to Features and DeviceExtensions

* make as_arr const

* unit tests for as_arr

* also add test for as_arr on InstanceExtensions

* make return str static

* use IntoIterator instead of as_arr
2022-11-19 11:32:03 +01:00
Rua
708c7799b1
Refactor transfer/image command buffer commands (#2087) 2022-11-15 02:15:46 -06:00
Austin Johnson
916c0ea43d
#2086 Changelog 2022-11-15 02:05:06 -06:00
Rua
9bc69940d0
Split sync module into multiple submodules, other changes to sync (#2086) 2022-11-15 02:05:03 -06:00
Okko Hakola
6de6050764
Remove allocator from window renderer inputs (#2085) 2022-11-12 16:10:40 +01:00
Austin Johnson
7e09f59345
#2081 Changelog 2022-11-09 03:35:55 -06:00
Rua
4ccfc925fa
Refactor DescriptorRequirements (#2081) 2022-11-09 03:35:50 -06:00
Austin Johnson
021540e6b6
0.32.1 Changelog 2022-11-09 02:14:06 -06:00