Commit Graph

3683 Commits

Author SHA1 Message Date
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
Rua
2f7c4e94e2
#2151 changelog 2023-03-02 22:15:50 +01:00
Marvin
2781d898fd
render pass macros now allow trailing commas (#2151) 2023-03-02 22:15:25 +01:00
Sebastian Conybeare
6994ce613e
Make surface capabilities queries conform to VUID-vkGetPhysicalDeviceSurfaceCapabilities2KHR-pNext-02671 (#2144) 2023-02-16 13:09:43 +01:00
marc0246
9b7bb8a1a5
Fix inconcistently named macros crate (#2140) 2023-02-15 14:44:33 +01:00
Rua
486cec3c62
#2136 changelog 2023-02-15 14:44:18 +01:00
Andrew
58fe067033
remove extraneous comma in shader entry point generation (#2136) 2023-02-15 14:43:02 +01:00
marc0246
a2d3d80ce1
Fix outdated SubbufferAllocatorCreateInfo docs (#2137) 2023-02-15 14:42:42 +01:00
marc0246
c2652fb66c
Add missing licence notice to the cache module (#2138) 2023-02-15 14:42:27 +01:00
marc0246
a16c3bdc0f
Re-add device-local buffer docs (#2139) 2023-02-15 14:42:09 +01:00
marc0246
140da613e3
Remove long-gone www crate from the exclude-list (#2141) 2023-02-15 14:41:30 +01:00
Austin Johnson
85e9d1c24e
#2133 Changelog 2023-01-22 01:54:48 -06:00
Rua
758151b087
Document data layout in shaders (#2133)
* 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
2023-01-22 01:54:44 -06:00
Austin Johnson
1594b24495
Switch Windows actions to self-hosted runner (#2134)
* Switch Windows actions to self-hosted runner

* Trigger Build?

* fix runs-on
2023-01-22 01:47:27 -06:00
marc0246
0329b1c542
Fix a unit test that was not implementation-agnostic (#2135) 2023-01-21 03:38:11 -06:00
Rua
88d9d38f94
#2131 changelog 2023-01-15 15:38:51 +01:00
marc0246
046af69be5
Fix #2130 (#2131) 2023-01-15 15:37:40 +01:00
Rua
f3205183ed
Oops 2023-01-12 14:06:25 +01:00
Rua
4b2f71319f
#2127 changelog 2023-01-12 13:58:05 +01:00
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