Commit Graph

3900 Commits

Author SHA1 Message Date
Lachlan Deakin
123eda1a3b
Fix SPIR-V validation of image ops with offsets (#2575)
* Fix SPIR-V validation of image op functions with offsets

Shader instructions like `textureLodOffset` would always fail validation.

* Rename signed `get_constant_*` functions
2024-10-18 08:16:05 +02:00
marc0246
8c08a85a18
Fix panic when using FullScreenExclusive::ApplicationControlled (#2579) 2024-10-16 19:53:15 +02:00
marc0246
52fc88abef
Fix broken doc links (#2578) 2024-10-16 19:52:35 +02:00
Rua
d62fbf35fe
#2577 changelog 2024-10-16 19:51:42 +02:00
marc0246
d1a9314c28
Fix UB in impl VertexBufferCollection for Vec<Subbuffer<T>> (#2577) 2024-10-16 19:50:54 +02:00
marc0246
1da590f6a1
Remove the gl-interop example from the workspace 2024-10-16 03:28:49 +02:00
marc0246
dc871fb0f7
#2573 changelog 2024-10-15 20:43:11 +02:00
Rua
9c358806be
Add a transfer queue to VulkanoContext (#2573)
* Add a transfer queue to `VulkanoContext`

* Might as well
2024-10-15 20:42:15 +02:00
marc0246
a270468960
Neither regex nor nom are public dependencies... 2024-10-10 16:08:12 +02:00
marc0246
229d69dcbb
#2572 changelog 2024-10-10 16:07:10 +02:00
marc0246
9196fa6eb2
#2571 changelog 2024-10-10 16:03:47 +02:00
marc0246
3189169a38
Fix UB in GenericMemoryAllocator::deallocate (#2572)
* Fix UB in `GenericMemoryAllocator::deallocate`

* Use the slab allocator
2024-10-10 12:21:59 +02:00
marc0246
f6bc05df94
Update dependencies (#2571)
* Update dependencies

* fmt
2024-10-10 12:16:14 +02:00
Rua
9033311653
Use Ash builders for Vulkan struct construction + refactor (#2525)
* Use Ash builders for Vulkan struct construction + refactor

* Use pointer for `from_qnx_screen`

* Workaround for Ash bug

* Fix vulkano-taskgraph

---------

Co-authored-by: marc0246 <40955683+marc0246@users.noreply.github.com>
2024-10-02 15:15:08 +02:00
marc0246
bad11eef71
Task graph [5/10]: the new command buffer (#2567) 2024-09-20 13:30:36 +02:00
Viktor Szépe
d89e5cf608
Mark generated files (#2542) 2024-09-12 10:45:11 +02:00
Rua
4197d15fd0
#2563 changelog 2024-09-12 10:27:27 +02:00
marc0246
f508cab5da
Use the now-stabilized pointer_bytes_offsets instead of what is technically UB and clean up the BufferContents derive macro expansion (#2563)
* Clean up `BufferContents` derive expansion

* Use the now-stabilized `pointer_bytes_offsets` instead of technical UB
2024-09-12 10:27:00 +02:00
marc0246
a0b909fd8b
#2561 changelog 2024-09-11 18:08:00 +02:00
Mads Marquart
0af3fb3cb3
Use raw-window-metal to get a CAMetalLayer from raw-window-handle (#2561)
The way `raw-window-metal` works is by creating a layer, and inserting
that as a sublayer, just like we did on iOS before. The bounds are then
kept in-sync with an observer, ensuring smooth resizing.

This also fixes compilation errors on iOS, and adds preliminary support
for tvOS.

The implementation now solely uses `VK_EXT_metal_surface`, which was
added in 2018, instead of `VK_MVK_ios_surface` / `VK_MVK_macos_surface`,
which are deprecated, and only available a year and a half earlier
anyhow.

Note that apart from the above, there is a slight behavioral change on
macOS: we no longer set `edgeAntialiasingMask` on the layer, as it's not
really required, and allows us to avoid depending on `objc2` directly.
It was introduced without motivation in 40e0b24, so I doubt anyone uses
it, and if they do, they can change it on the layer themselves.
2024-09-11 18:03:54 +02:00
Okko Hakola
db4657d0f0
See if 0 (but not None) timeout would solve crash (#2543)
* See if 0 (but not None) timeout would solve crash

* Try 1 sec timeout
2024-09-11 17:23:13 +02:00
Rua
38b9aff8a8
#2560, #2562 changelog 2024-09-11 17:03:39 +02:00
marc0246
e8ddaef0e3
Add PhysicalDevice::presentation_support (#2562) 2024-09-11 17:02:27 +02:00
marc0246
79c30fd1a8
Task graph [4/10]: compilation (#2560) 2024-09-11 15:59:18 +02:00
marc0246
cd4603b3cc
Fix rust-analyzer choking on &&[u32] in shader macro expansion 2024-08-26 20:34:19 +02:00
marc0246
b2a93d391d
#2556 changelog 2024-08-15 08:05:41 +02:00
Mai
817b52cee5
Fix off-by-one error in SubpassDescription::validate (#2556)
* fix: off-by-one error in `SubpassDescription::validate`

* use `view_count` instead of `highest_view_index`
2024-08-14 07:16:10 +02:00
Mai
d02165a28c
doc: add device feature requirement to RecordingCommandBuffer::begin_rendering (#2557) 2024-08-13 20:03:21 +02:00
Mai
2aafcf9a3d
add attributes to Validated methods (#2555) 2024-08-08 15:00:57 +02:00
Rua
45ff753e77
#2552 changelog 2024-08-03 19:24:41 +02:00
Firestar99
795b573e3f
fix non-default image view usage being ignored (#2552)
Co-authored-by: Firestar99 <4696087-firestar99@users.noreply.gitlab.com>
2024-08-03 19:23:19 +02:00
SSSxCCC
c8fb6a16c2
Add steel to projects using vulkano. (#2551)
* Add steel to projects using vulkano.

* Add steel to projects using vulkano.
2024-07-28 12:47:40 +02:00
marc0246
5782c1a2a6
Task graph [3/10]: execution (#2548) 2024-07-28 11:35:58 +02:00
marc0246
ad62bf233c
Fix latest clippy warnings 2024-07-25 20:39:57 +02:00
Rua
8ca2bf7868
#2545 changelog 2024-07-21 13:15:47 +02:00
marc0246
e6e4bc6a26
Task graph [2/10]: the task graph data structure (#2545) 2024-07-21 13:14:55 +02:00
Rua
48566ae108
#2540 changelog 2024-07-09 12:41:20 +02:00
marc0246
796cb35acd
Task graph [1/10]: resource synchronization state tracking (#2540) 2024-07-09 12:40:15 +02:00
Rua
5b466bf143
#2515 changelog 2024-07-02 18:31:15 +02:00
Firestar99
7841628003
Bindless Descriptor fixes and optimizations (#2515)
* more SmallVec use in DescriptorPool, to improve variable descriptor count allocation

* descriptor updates with no writes or copies return early

* add DescriptorSet::invalidate()

* make InvalidateDescriptorSet pub

* allow descriptor bindings with update_after_bind or partially_bound to be unbound on recording a draw/dispatch command

---------

Co-authored-by: Firestar99 <4696087-firestar99@users.noreply.gitlab.com>
2024-07-02 18:29:46 +02:00
grego
252329cbf3
vulkano-util: do not pull the default winit features (#2533)
This allows a downstream user to set which winit features to use, possibly
sparing a lot of dependencies from being pulled and compiled.

Co-authored-by: Rua <ruawhitepaw@gmail.com>
2024-06-30 15:23:19 +02:00
Viktor Szépe
07736487d6
Fix typos and introduce a workflow (#2537)
* Fix typos and introduce a workflow

* Revert vk.xml

* Update .typos.toml

* fix typos config
2024-06-30 13:19:35 +02:00
Chay Nabors
e949e35f91
Allow memory interface blocks to have offset decorations on first member (#2535) 2024-06-30 11:57:46 +02:00
marc0246
582a2466f3
Fix latest clippy warnings 2024-06-20 20:27:18 +02:00
Rua
b9f3e89300
#2514 changelog, group additions 2024-06-07 12:08:06 +02:00
Martin Charles
64f3b1e7bc
add memoryMapPlaced and memoryMapRangePlaced features of VK_EXT_map_memory_placed extension (#2514)
* add partial support for VK_EXT_map_memory_placed extension

implements the memoryMapPlaced and memoryMapRangePlaced features

* fix clippy lint

* add tests

I don't love these tests, they probably fail silently in CI

* fix conflicting requirement

* update test

* fmt

* fix memory selection in test

intersects does not do what I thought it does

* remove incorrect assertion

I don't think this is correct. The offset and size are both DeviceSize or u64. They are added together as positive numbers.

* remove unused

* put back non-range test

* only run test on unix

* wrap stuff to 100 cols

this is actually really nice for reading

* clippy

* tweak impl

* scope

* remove unused

* use NonNull

* fmt

* add flags field

* update position

* PLACED_EXT -> PLACED

* removed unnecessary validation

* Update vulkano/src/memory/device_memory.rs

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

* Update vulkano/src/memory/device_memory.rs

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

* Update vulkano/src/memory/device_memory.rs

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

* Update vulkano/src/memory/device_memory.rs

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

* Update vulkano/src/memory/device_memory.rs

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

* remove more

* typo

* Update vulkano/src/memory/device_memory.rs

Co-authored-by: Rua <ruawhitepaw@gmail.com>

* add validate_device call

* Update vulkano/src/memory/device_memory.rs

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

* Update vulkano/src/memory/device_memory.rs

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

* Update vulkano/src/memory/device_memory.rs

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

* fix links

* remove extra branch

* use WHOLE_SIZE

* use getter

* fix boolean condition

* Update vulkano/src/memory/device_memory.rs

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

* add specific changes marc asked for

i've concluded that this choice is roughly semantically equivalent and this comes down to opinion. I can't be bothered to have an opinion here, imo this is a bikeshed.

also it is temporary. until the docs are updated and the impls are updated. also i don't even really care about the ranged version of this feature, implemented it mostly for completeness than anything else

* Incorporate latest spec updates

---------

Co-authored-by: marc0246 <40955683+marc0246@users.noreply.github.com>
Co-authored-by: Rua <ruawhitepaw@gmail.com>
2024-06-07 12:00:16 +02:00
marc0246
978c922e1b
Fix latest clippy warning 2024-06-01 15:42:17 +02:00
marc0246
42e4d0b7c3
Fix shaderc dependency version
See
https://github.com/vulkano-rs/vulkano/pull/2467#issuecomment-2094935117
2024-05-05 22:17:47 +02:00
Rua
c03e2b926c
#2519 changelog 2024-04-19 13:55:23 +02:00
marc0246
bb622ea4ba
Add ResourceMemory::from_device_memory_unchecked (#2519) 2024-04-19 13:54:50 +02:00