Commit Graph

3752 Commits

Author SHA1 Message Date
Rua
b320dd26c3
Add CreateInfo for pipelines, require explicit pipeline layout creation (#2186)
* Add CreateInfo for pipelines, require explicit pipeline layout creation

* Doc fixes

* Add missing unsafe

Co-authored-by: marc0246 <40955683+marc0246@users.noreply.github.com>

* Add PipelineCreateFlags

* Small fixes

* -inline

Co-authored-by: marc0246 <40955683+marc0246@users.noreply.github.com>

* -inline

Co-authored-by: marc0246 <40955683+marc0246@users.noreply.github.com>

---------

Co-authored-by: marc0246 <40955683+marc0246@users.noreply.github.com>
2023-04-22 20:46:22 +02:00
marc0246
b61adb817b
#2183 changelog 2023-04-19 17:47:32 +02:00
Rua
958a72539e
Require explicit VertexInputState creation (#2183) 2023-04-19 17:45:27 +02:00
marc0246
783b1ba7a4
#2181 changelog 2023-04-18 20:56:25 +02:00
Rua
b7679f8bbb
Rewrite shader and specialization handling in pipelines (#2181)
* 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>
2023-04-18 20:53:08 +02:00
marc0246
e29324493b
Oopsie 2023-04-11 11:34:42 +02:00
marc0246
62ff8b45a5
#2180 changelog 2023-04-11 11:32:53 +02:00
Firestar99
9ba796d453
Add root_path_env property to shaders macro (#2180)
* 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>
2023-04-11 11:28:45 +02:00
marc0246
8297cc863f
Fix changelog 2023-04-06 06:31:09 +02:00
marc0246
763555b16e
Clarify SubbufferAllocator docs (#2179) 2023-04-05 11:31:13 +02:00
marc0246
16424efec3
Fix changelog (#2178) 2023-04-04 02:46:05 -05:00
marc0246
a003ae108b
Fix markdown tables (#2177) 2023-04-04 02:45:50 -05:00
marc0246
1f237a6422
Fix Buffer docs (#2176) 2023-04-04 02:45:20 -05:00
marc0246
096d3bc660
Publish vulkano-macros (#2175)
* Publish vulkano-macros

* Document `vulkano-macros`

* Make macros dependency optional

* Document `macros` feature

* Fix outdated docs

* Derp
2023-04-02 23:33:01 -05:00
Rua
1f31e85c5e
Release Vulkano 0.33.0 (#2169)
* Release Vulkano 0.33.0

* Update changelog for recent changes

* Derp
2023-04-02 18:38:06 -05:00
Rua
83557afc1e
#2174 changelog 2023-04-02 15:08:41 +02:00
marc0246
59be815314
Refactor AllocationCreateInfo (#2174)
* Refactor `AllocationCreateInfo`

* `debug_assert` -> `assert`
2023-04-02 15:07:16 +02:00
Rua
02034e87d7
#2173 changelog 2023-04-01 18:53:32 +02:00
marc0246
22d26d6118
Fix bytemuck dependency (#2173) 2023-04-01 18:52:59 +02:00
Rua
043dafd53f
#2172 changelog 2023-04-01 18:52:39 +02:00
marc0246
ad530ed48a
Preemptively rename stuff, mark enums as non-exhaustive (#2172) 2023-04-01 18:51:58 +02:00
marc0246
932d5143a3
Unify type_for_format* macros (#2171) 2023-04-01 13:38:32 +02:00
marc0246
44e6dfc86b
Fix build issues when using the nalgebra feature (#2170) 2023-04-01 12:50:06 +02:00
Rua
a7b91865d2
#2145 additions 2023-04-01 11:42:28 +02:00
Rua
a635d7a411
#2145 changelog 2023-04-01 11:09:31 +02:00
DavidR86
b7ecee345d
Import image from dma_buf following VK_EXT_external_memory_dma_buf (#2145)
* Import image from dma_buf

Implements importing an image into Vulkan from a Linux dma_buf,
according to the following Vulkan extensions:
- https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VK_EXT_external_memory_dma_buf.html
- https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VK_EXT_image_drm_format_modifier.html

* Only compile dmabuf image importing on Linux

Adds conditional compilation checks to functionality for importing
vulkan images from a Linux dmabuf, as doing this only makes sense on Linux.

* Add VUID checking for VkImageCreateInfo

* Avoid Linux-only dependencies on other OSs

* Add missing initializer to StorageImage

* Add more VUID validation

Check for
VUID-vkGetPhysicalDeviceImageFormatProperties-tiling-02248, and VUID-VkPhysicalDeviceImageFormatInfo2-tiling-02249

* Add some more VUIDs

Or explanations of why they cannot yet be added

* Small fix

* Add suggested fixes

Use lowercase for error, replace panic! with todo!, and make some
comments show up in documentation.
2023-04-01 11:08:30 +02:00
marc0246
836b9098ea
Fix #2165 (#2167) 2023-03-30 20:55:53 +02:00
Rua
5a050d85bf
#2161 changelog 2023-03-25 12:56:59 +01:00
marc0246
5dfd1b203e
Deprecate winit_ and raw-window-handle_ features (#2161) 2023-03-25 12:56:36 +01:00
Rua
1f7f5e4ec8
#2162 changelog 2023-03-25 12:56:16 +01:00
marc0246
765bc6ac32
Fix potential panics during panics (#2162)
* Fix potential panics during panics

* Try to leak less

* Cosmetics
2023-03-25 12:55:47 +01:00
marc0246
5ab869156d
Fix inconsistent trailing command in renderpass macro calls (#2163) 2023-03-25 10:25:25 +01:00
marc0246
779ed1023f
Move impl_id_counter to the macros module (#2158) 2023-03-24 14:04:02 +01:00
marc0246
28a98f7a5f
Fix game of life example constructing one memory allocator per window (#2157) 2023-03-24 14:03:49 +01:00
Rua
d7ac988637
#2159 changelog 2023-03-24 14:03:31 +01:00
marc0246
07bb2d3c9d
Retroactively abort FastMemoryAllocator (#2159) 2023-03-24 14:02:54 +01:00
Rua
f18cc0a1cf
#2156 changelog 2023-03-20 17:11:48 +01:00
marc0246
08ba105727
Add create_surface_from_handle_ref (#2156)
* Add `create_surface_from_handle_unowned`

* Rustier name
2023-03-20 17:11:16 +01:00
Matthieu Vachon
ba8c558629
Loosen the regex dependency (#2152)
Forcing usage of 1.7 is not a requierement as far as I can tell (sadly, `regex` release are not documented, at least I did not find the changelog).

By downgarding, we reduce potential conflicts when importing other libraries (`prost` and `slog` where conflicting in my case).
2023-03-15 22:33:40 +01:00
Rua
6980c74994
#2155 changelog 2023-03-15 22:22:38 +01:00
marc0246
127b3eae61
Generate device properties that are alignment as DeviceAlignment (#2155)
* Move `DeviceAlignment`

* Generate alignment-properties with the type `DeviceAlignment`

* Small fix

* Another small fix

* Switch to using `is_aligned` where possible

* Oopsie
2023-03-15 22:21:44 +01:00
Francisco Ayala Le Brun
19acc71be3
Fix gl-interop not compiling (#2154)
Running this results in a segmentation fault in my machine.
2023-03-11 21:14:37 +01:00
Austin Johnson
6f7300f8ca
#2142 Changelog 2023-03-05 20:12:22 -06:00
Rua
41ded32156
Update dependencies, clippy warnings (#2142)
* Update dependencies, clippy warnings

* Remove allowed clippy lint that no longer triggers as of Rust 1.67.1
2023-03-05 20:12:17 -06:00
Rua
f463100d4f
#2132 changelog 2023-03-05 20:00:10 +01:00
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
Rua
4f03fe55ac
#2150 changelog 2023-03-03 10:19:05 +01:00
Amjad Alsharafi
0a8e7526f6
Fix discarding image data when transitioning StorageImage (#2150)
* Fix discarding image data when transitioning StorageImage (#2149)

* Used Relaxed ordering for `StorageImage::layout_initialized` atomic
2023-03-03 10:18:00 +01:00
marc0246
2fff56624d
Fix subbuffer alignment to the non-coherent atom size limitation (#2148)
* Fix subbuffer alignment to the non-coherent atom size limitation

* Fix incorrect range in the buffer guards

* Document the new behavior

* Simplify range aligning
2023-03-03 10:17:33 +01:00
Roy Wellington Ⅳ
52748c64bb
Minor touch-ups to the docs for PrimaryCommandBufferAbstract (#2128)
* Minor touch-ups to the docs for `PrimaryCommandBufferAbstract`

* Rewrite this passage to address the comments in #2129
2023-03-02 22:17:05 +01:00