What's Changed
- Refactor some swapchain operations by @Rua in #2361
- Partial validation of queue commands by @Rua in #2373
- Fix licenses by @marc0246 in #2378
- Fix multiplication overflow in
StandardDescriptorSetAllocator
by @marc0246 in #2379 - Improve the examples' directory structure by @marc0246 in #2375
- Fix Cargo manifests by @marc0246 in #2377
- Add timeline semaphores by @Rua in #2380
- Fix vulkano-util depending on the now-deprecated vulkano-win by @marc0246 in #2382
- Workspace dependencies by @marc0246 in #2381
- Avoid double-compilation of our packages in CI by @marc0246 in #2388
- Remove superfluous dev-dependencies by @marc0246 in #2389
- Update dependencies by @marc0246 in #2385
- Unify workspaces by @marc0246 in #2391
- Remove useless cyclic dependency by @marc0246 in #2387
- Fix flipped assert condition in pipeline layout by @Rua in #2392
- Update proc-macro-crate by @marc0246 in #2394
- Prevent examples from being tested/benchmarked/documented by @marc0246 in #2396
- [Showcase] Add krnl to Projects using Vulkano by @charles-r-earp in #2395
- Skip
evaluate_spec_constant_op
result type assertion when converting types. by @charles-r-earp in #2399 - Remove license notices from source files by @marc0246 in #2401
- Fix #2398 by @Rua in #2402
- Descriptor set allocator API 2.0 by @marc0246 in #2400
- Descriptor set revamp by @marc0246 in #2404
- Command buffer allocator API 2.0 by @marc0246 in #2403
- Fix #2398 Reflect push constant requirements by variable usage. by @charles-r-earp in #2405
- Use concrete types from Ash for foreign handles by @Rua in #2406
- Remove Vulkano 0.31 deprecated items by @Rua in #2407
- Add vulkano macros feature to examples that needs it by @ilyas-taouaou in #2408
- Fix validation for
surface_capabilities
regarding full-screen exclusive by @Rua in #2410 - Fix bug introduced by #2410 by @Rua in #2411
- Some shader parse refactoring and additions by @Rua in #2414
- Improve validation for vertex input, add dynamic state by @Rua in #2417
- Properly validate shader interfaces between stages by @Rua in #2418
- Remove the command buffer traits by @marc0246 in #2419
- Validate the fragment output against color blend state by @Rua in #2420
- Rename command buffer types by @marc0246 in #2421
- Allow executing raw secondary command buffers by @marc0246 in #2422
- Fix StandardCommandBufferAllocator deallocation in release mode by @lanquemar in #2424
- Support creating buffers and images that are not backed by vulkano-managed memory by @yshui in #2413
- Improve clarity of
MemoryTypeFilter
docs by @marc0246 in #2428 - Merge
PrimaryAutoCommandBuffer
andSecondaryAutoCommandBuffer
intoCommandBuffer
by @marc0246 in #2425 - Document shader safety requirements, make draw/dispatch unsafe by @Rua in #2429
- Add Vera to the list of projects by @Coddeus in #2431
- Add support for the
khr_draw_indirect_count
extension by @Rua in #2432 - Add support for the
ext_mesh_shader
extension by @Rua in #2433 - More robust extension and feature dependency checks by @Rua in #2434
- Fix warnings for Rust 1.75 by @Rua in #2436
- Update Surface documentation by @ilyas-taouaou in #2412
- Make
QueryType
a regular Vulkan enum by @Rua in #2438 - Add missing tickmarks by @Rua in #2440
- Mesh shading example by @Firestar99 in #2437
- Check formatting in CI by @marc0246 in #2442
- Run clippy in CI by @marc0246 in #2443
- Enforce a consistent comment width by @marc0246 in #2444
- Format code in doc comment code blocks by @marc0246 in #2447
- Minor reorganization of shader validation code by @Rua in #2445
- vulkan-utils -> vulkan-tools README fix by @HadrienG2 in #2448
- Cache dependencies in CI by @marc0246 in #2449
- Add Minimal Offscreen Rendering Example by @0xcaff in #2451
- Fix wrong comparison in push constant size validation check by @daigennki in #2452
- Use hard-coded vertices in eligible examples by @marc0246 in #2454
- Fix link to vulkano book in README by @YouSafe in #2459
- Fix Rust 1.76 clippy warnings by @Rua in #2462
- Use
vkGetDeviceQueue2
on Vulkan 1.1 and above by @Rua in #2466 - Up vk version in shader compilation by @maratik123 in #2467
- Remove windows specific dnd disable by @hakolao in #2474
- Fix unnecessarily strict validation for DRM format modifiers by @Rua in #2469
- Add support for querying memory requirements directly from the device by @Rua in #2470
- Make image_index and final_views accessible, and add new example. by @coolcatcoder in #2473
- Replace cgmath with glam in the examples by @stefnotch in #2475
- Fix alignment checks when allocating buffers by @marc0246 in #2476
- Add
DepthState::reverse
helper method by @jmi2k in #2483 - General shader improvements, specifically targeting rust-gpu by @Firestar99 in #2482
- shader struct name replacing by @Firestar99 in #2484
- added shader!
generate_structs
arg duplication error by @Firestar99 in #2485 - Add runtime SPIR-V validation by @Rua in #2460
- Rename
Features
,Properties
toDeviceFeatures
,DeviceProperties
by @Rua in #2481 - Nom nom by @stefnotch in #2480
- Add support for the
ext_host_query_reset
extension by @Rua in #2486 - Rewrite
VertexDefinition
by @Rua in #2487 - Bump mio from 0.8.10 to 0.8.11 by @dependabot in #2488
- add null-check for empty arrays in debug trampoline by @Fuzzyzilla in #2490
- Fix using
is_some
when checking forNone
in render subpass valida… by @grego in #2489 - Refactor some braindead code in
FreeListAllocator
by @marc0246 in #2492 - Replace
host::PoolAllocator
withslabbin::SlabAllocator
by @marc0246 in #2493 - Reorganize the
suballocator
module by @marc0246 in #2498 - PhysicalDevice::surface_present_modes should return Vec result by @maratik123 in #2496
- Code cleanup by @maratik123 in #2497
- Add
Suballocator::suballocations
by @marc0246 in #2499 - Support event loops with other user event types by @michaelwu in #2500
- Add
GenericMemoryAllocator::pools
for allocation introspection by @marc0246 in #2501 - Simplify
VertexInputState::default()
by @maratik123 in #2502 - Pass timeout to acquire by @hakolao in #2503
- Use workspace lints by @Rua in #2505
- Add details for error messages in validate_pipeline_descriptor_sets by @ComfyFluffy in #2509
- support for
ext_conservative_rasterization
by @LukeP0WERS in #2508 - Handle more depends values in vk.xml by @0xcaff in #2511
- Handle arrays in autogen by @0xcaff in #2512
- Upgrade to
ash 0.38
by @MarijnS95 in #2510 - Enable and fix pointer cast lints by @Rua in #2507
- Integrate latest vk.xml changes by @0xcaff in #2513
- fix null handling of array fields in autogen properties by @0xcaff in #2518
- Set MSRV to 1.72.0 by @Rua in #2516
- Add
ResourceMemory::from_device_memory_unchecked
by @marc0246 in #2519 - add memoryMapPlaced and memoryMapRangePlaced features of VK_EXT_map_memory_placed extension by @0xcaff in #2514
- Allow memory interface blocks to have offset decorations on first member by @chaynabors in #2535
- Fix typos and introduce a workflow by @szepeviktor in #2537
- vulkano-util: do not pull the default winit features by @grego in #2533
- Bindless Descriptor fixes and optimizations by @Firestar99 in #2515
- Task graph [1/10]: resource synchronization state tracking by @marc0246 in #2540
- Task graph [2/10]: the task graph data structure by @marc0246 in #2545
- Task graph [3/10]: execution by @marc0246 in #2548
- Add steel to projects using vulkano. by @SSSxCCC in #2551
- fix non-default image view usage being ignored by @Firestar99 in #2552
- Add
#[inline]
and#[track_caller]
attributes toValidated
methods by @interacsion in #2555 - Add device feature requirement to
RecordingCommandBuffer::begin_rendering
documentation by @interacsion in #2557 - Fix off-by-one error in
SubpassDescription::validate
by @interacsion in #2556 - Task graph [4/10]: compilation by @marc0246 in #2560
- Add
PhysicalDevice::presentation_support
by @marc0246 in #2562 - See if 0 (but not None) timeout would solve crash by @hakolao in #2543
- macOS/iOS: Use
raw-window-metal
to get aCAMetalLayer
fromraw-window-handle
by @madsmtm in #2561 - Use the now-stabilized
pointer_bytes_offsets
instead of what is technically UB and clean up theBufferContents
derive macro expansion by @marc0246 in #2563 - Mark generated files by @szepeviktor in #2542
- Task graph [5/10]: the new command buffer by @marc0246 in #2567
- Use Ash builders for Vulkan struct construction + refactor by @Rua in #2525
- Update dependencies by @marc0246 in #2571
- Fix UB in
GenericMemoryAllocator::deallocate
by @marc0246 in #2572 - Add a transfer queue to
VulkanoContext
by @Rua in #2573 - Fix UB in
impl VertexBufferCollection for Vec<Subbuffer<T>>
by @marc0246 in #2577 - Fix broken doc links by @marc0246 in #2578
- Fix panic when using
FullScreenExclusive::ApplicationControlled
by @marc0246 in #2579 - Fix SPIR-V validation of image ops with offsets by @LDeakin in #2575
- fix
vkCmdDrawMeshIndirect()
validation using wrong type by @Firestar99 in #2581 - Revert #2425 by @marc0246 in #2576
- Add partial support for
khr_fragment_shading_rate
by @LDeakin in #2574 - Revert #2421, rename
Raw[Recording]CommandBufer
again and move them by @marc0246 in #2582 - Fix 2583. by @coolcatcoder in #2584
- Add
Suballocation[Node]::as[_usize]_range
by @marc0246 in #2586 - Replace
Suballocator::cleanup
withSuballocator::reset
by @marc0246 in #2585 - Fix panic in
BufferContents
derive expansion and wrong safety docs by @marc0246 in #2587 - Clean up
BufferContents
derive macro expansion further by @marc0246 in #2588 - Fix the multi-window example handling every key event by @marc0246 in #2589
- Ignore
vk.xml
andspirv.core.grammar.json
from editor search results by @marc0246 in #2590 - Minimise
unsafe
block size, in examples by @Rua in #2591 - Allow binding raw descriptor sets by @marc0246 in #2423
- Disable
validate_global_variables
check for now by @Rua in #2593 - Minimise unsafe block size, in library by @Rua in #2592
- Fix UB in
AllocationHandle::as_index
by @marc0246 in #2596 - Revert making
Raw{Buffer,Image}::bind_memory
unsafe by @marc0246 in #2595 - Add KHR to possible format suffixes by @Rua in #2597
- Some doc fixes by @Rua in #2598
- Improve
DeviceLayout
convenience by @marc0246 in #2599 - Revert #2419 by @marc0246 in #2600
- Fix deadlock after failed task graph execution by @marc0246 in #2603
- Fix incorrect buffer in acceleration structure check by @Rua in #2610
- Update SPIR-V grammar JSON by @marc0246 in #2613
- Try the absolute library path as a last resort on macOS by @marc0246 in #2614
- Fix
shader!
usingbytes
not getting recompiled when the file changes by @marc0246 in #2616 - Replace ahash with foldhash by @marc0246 in #2615
- Ray Tracing Pipeline (KHR) by @ComfyFluffy in #2564
- fix instruction_chain of InBoundsAccessChain by @White-Green in #2620
- Fix
OpReadClockKHR
Validation by @ComfyFluffy in #2621 - Ray Tracing Pipeline: SBT fixes & refactor examples by @ComfyFluffy in #2617
- Ray tracing fixes by @marc0246 in #2625
- Fix
CommandBufferUsage
being unused in thevkBeginCommandBuffer
call by @marc0246 in #2626 - Add sparse binding support by @Rua in #2609
- Task graph [6/10]: render passes by @marc0246 in #2627
- Release Vulkano 0.35.0 by @Rua in #2629
- Fix async-update example not clearing the swapchain image by @marc0246 in #2632
- Fix borked secondary command buffer test by @marc0246 in #2633
- Fix borked required subgroup size test by @marc0246 in #2634
- Fix borked memory map placed cfgs by @marc0246 in #2635
- Remove outdated maintainer references in the readme by @marc0246 in #2637
- Remove the top-level dinosaurs by @marc0246 in #2638
- Remove the project showcase by @marc0246 in #2639
- Enable and fix
unsafe_op_in_unsafe_fn
lint by @Rua in #2630 - Enable and fix
rust_2024_incompatible_pat
lint by @Rua in #2631
New Contributors
- @ilyas-taouaou made their first contribution in #2408
- @lanquemar made their first contribution in #2424
- @yshui made their first contribution in #2413
- @Coddeus made their first contribution in #2431
- @0xcaff made their first contribution in #2451
- @YouSafe made their first contribution in #2459
- @coolcatcoder made their first contribution in #2473
- @stefnotch made their first contribution in #2475
- @dependabot made their first contribution in #2488
- @grego made their first contribution in #2489
- @ComfyFluffy made their first contribution in #2509
- @LukeP0WERS made their first contribution in #2508
- @MarijnS95 made their first contribution in #2510
- @chaynabors made their first contribution in #2535
- @szepeviktor made their first contribution in #2537
- @SSSxCCC made their first contribution in #2551
- @interacsion made their first contribution in #2555
- @madsmtm made their first contribution in #2561
- @LDeakin made their first contribution in #2575
Full Changelog: v0.34.0...v0.35.0