Commit Graph

3884 Commits

Author SHA1 Message Date
maratik123
93b6e9401f
Simplify VertexInputState::default() (#2502) 2024-03-23 15:34:39 +01:00
Rua
efab013e48
#2501 changelog 2024-03-23 15:33:43 +01:00
marc0246
94e4000a69
Add GenericMemoryAllocator::pools for allocation introspection (#2501)
* Add `GenericMemoryAllocator::pools` for allocation introspection

* Suballocator requires `&mut self` now

* Forgor a link
2024-03-23 15:32:41 +01:00
Michael Wu
7cbf3a7f26
Support event loops with custom user events (#2500) 2024-03-18 00:19:44 +01:00
Rua
900166707e
#2499 changelog 2024-03-16 10:55:18 +01:00
marc0246
984cbeb0c3
Add Suballocator::suballocations (#2499)
* Add `Suballocator::suballocations`

* Add missing `Send` and `Sync` impls for `free_list::Suballocations`

* Missed docs

* Strange import, what is rust-analyzer smoking
2024-03-16 10:52:51 +01:00
maratik123
f911996534
Code cleanup (#2497)
* refactoring

* fmt

* Update vulkano/src/command_buffer/commands/query.rs

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

* Update vulkano/src/buffer/subbuffer.rs

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

* Update vulkano/src/buffer/mod.rs

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

* Update vulkano/src/swapchain/mod.rs

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

* Update vulkano/src/sync/fence.rs

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

* Update vulkano/src/sync/semaphore.rs

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

* Update vulkano/src/sync/pipeline.rs

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

* Update vulkano/src/descriptor_set/mod.rs

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

* Update vulkano/src/image/mod.rs

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

* Apply suggestions from code review

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

* review fixes

* post merge fixes

* fmt

---------

Co-authored-by: marc0246 <40955683+marc0246@users.noreply.github.com>
2024-03-13 17:37:28 +01:00
Rua
25a1184c75
#2496 changelog 2024-03-13 17:06:43 +01:00
maratik123
3472daa465
PhysicalDevice::surface_present_modes should return Vec result (#2496)
* PhysicalDevice::surface_present_modes should return Vec result as any other this struct functions for consistency and to eliminate composing result back to Vec in outer usages, such as:
```rust
    let present_mode = physical_device
        .surface_present_modes(surface, SurfaceInfo::default())?
        .collect();
    Ok(SwapChainSupportDetails {
        _capabilities: capabilities,
        formats,
        present_mode,
    })
```

* fmt

* review fix
2024-03-13 17:05:17 +01:00
marc0246
87140ce3d0
Reorganize the suballocator module (#2498) 2024-03-13 11:17:33 +01:00
marc0246
64be09e290
Replace host::PoolAllocator with slabbin::SlabAllocator (#2493) 2024-03-12 19:26:16 +01:00
Rua
e62bf5d486
#2492 changelog 2024-03-08 18:45:26 +01:00
marc0246
7bba8ccca3
Refactor some braindead code in FreeListAllocator (#2492) 2024-03-08 18:44:45 +01:00
marc0246
ee0cabfa65
Fix PR template backticks 2024-03-08 18:38:10 +01:00
grego
7c8d6434d2
Fix using is_some when checking for None in render subpass valida… (#2489)
* Fix using `is_some` when checking for `None` in render subpass validation

* Fix the second occurence
2024-03-07 00:34:31 +01:00
marc0246
a4f9d9db30
#2490 changelog 2024-03-07 00:33:55 +01:00
Aspen
12c3c9dd26
add null-check for empty arrays in debug trampoline (#2490) 2024-03-07 00:32:44 +01:00
dependabot[bot]
b9f1cc3b7c
Bump mio from 0.8.10 to 0.8.11 (#2488)
Bumps [mio](https://github.com/tokio-rs/mio) from 0.8.10 to 0.8.11.
- [Release notes](https://github.com/tokio-rs/mio/releases)
- [Changelog](https://github.com/tokio-rs/mio/blob/master/CHANGELOG.md)
- [Commits](https://github.com/tokio-rs/mio/compare/v0.8.10...v0.8.11)

---
updated-dependencies:
- dependency-name: mio
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-04 23:03:18 +01:00
marc0246
9220ae9f42
#2487 changelog 2024-03-04 23:00:34 +01:00
Rua
b190d6fb1c
Rewrite VertexDefinition (#2487) 2024-03-04 22:58:27 +01:00
marc0246
960e554ca0
#2486 changelog 2024-03-04 20:51:46 +01:00
Rua
7f5d3e6919
Add support for the ext_host_query_reset extension (#2486) 2024-03-04 20:50:25 +01:00
marc0246
19a89f3f42
Ignore the correct file #2451 creates (oops) 2024-03-04 20:37:12 +01:00
marc0246
d7d9b2825d
Ignore the file that #2451 creates 2024-03-04 20:35:11 +01:00
marc0246
0a48a64802
#2480 changelog 2024-03-04 19:57:40 +01:00
stefnotch
b34dbe9e09
Nom nom (#2480)
* Replace formats.rs and features.rs regex with nom

* Fix missing eof in format rs

* Refactor parsing logic in extensions.rs

* Replace regex in mod.rs

* Replace regex in spriv_reqs.rs

* Improve nom usage for parsing get_header_version

* Remove stray dbg

* Remove final usage of regex

* Replace tag("single character") with char(...)

* Remove unused import

* Undo my testing changes to vk.xml
(I shouldn't have committed that)

* Sort cargo toml alphabetically

* Use nom for parse_depends

* Simplify parser again

* Parser cleanup

* Inline parser logic for shorter code

Thanks to marc for suggesting this

* Fix clippy violation

* Remove useless parse prefix
2024-03-04 19:53:07 +01:00
Rua
0375be7924
#2481 changelog 2024-03-04 17:25:17 +01:00
Rua
6a5aed496e
Rename Features, Properties to DeviceFeatures, DeviceProperties (#2481)
* Rename `Features`, `Properties` to `DeviceFeatures`, `DeviceProperties`

* Merge
2024-03-04 17:24:29 +01:00
Austin Johnson
aeb7a3ada5
#2460 Changelog 2024-03-03 16:30:41 -06:00
Rua
4666a9c722
Add runtime SPIR-V validation (#2460)
* Add runtime SPIR-V validation

* Remove copyright message

* fmt

* Up vk version in shader compilation (#2467)

* Up vk version in shader compilation

* Update test in codegen.rs

* cargo +nightly fmt

* Update lib.rs

* clippy + fmt fixes

* simplify changes

* post merge

* #2467 changelog

* Remove windows specific dnd disable (#2474)

* Fix unnecessarily strict validation for DRM format modifiers (#2469)

* #2469 changelog

* Add support for querying memory requirements directly from the device (#2470)

* #2470 changelog

* Make image_index and final_views accessible, and add new example. (#2473)

* Make image_index and final_views accessible, and new example.

The first 2 changes should make creating frame buffers easier.
The new example should make it easier to learn vulkano-util.

* Remove unnecessary imports, and run clippy.

* Run fmt.

* .acquire() no longer returns image_index

* rename final_views() to swapchain_image_views()

The name change makes it more consistent with swapchain_image_view().

Personally I don't understand why the field name is final_views, yet we externally in function names refer to it as swapchain image views and such like.

* Fractal example no longer creates framebuffer every frame.

* Game of life example no longer creates framebuffer every frame.

(Also removed a piece of code I had commented out, but had forgotten to remove from the fractal example.)

* Rename if_recreate_swapchain to on_recreate_swapchain and update acquire() documentation. to on_recreate_swapchain

* on_recreate_swapchain is now impl FnOnce instead of generics based FnMut

Thanks marc0246!

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

* Replace empty comment with an actual comment.

---------

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

* Fix `VulkanoWindowRenderer::swapchain_image_views` return type

I have only noticed this as I was writing the changelog.

@coolcatcoder for future reference, `&Vec<T>` is an anti-pattern. There's nothing more you can do with it than with `&[T]` (because the reference is immutable) and it means that we can't use a different underlying buffer without a breaking change.

* #2473 changelog

* Fix `VulkanoWindowRenderer::acquire` taking `&Vec<T>` as well

* Replace cgmath with glam in the examples (#2475)

* Replace cgmath with glam in the examples

* Implement type_for_format! for glam

* Remove comment where I'm freaking out because of OpenGL flashbacks

* Update Cargo.toml

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

* Update vulkano/autogen/formats.rs

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

* Fix glam type_for_format

* Format the code

---------

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

* #2475 changelog

* Fix alignment checks when allocating buffers (#2476)

* #2476 changelog

* Add `DepthState::reverse` helper method (#2483)

* #2483 changelog

* Add runtime SPIR-V validation

* Remove copyright message

* fmt

---------

Co-authored-by: maratik123 <marat.buharov@gmail.com>
Co-authored-by: Okko Hakola <okkohakola@gmail.com>
Co-authored-by: marc0246 <40955683+marc0246@users.noreply.github.com>
Co-authored-by: Katt <51190960+coolcatcoder@users.noreply.github.com>
Co-authored-by: stefnotch <stefnotch@users.noreply.github.com>
Co-authored-by: José Miguel Sánchez García <soy.jmi2k@gmail.com>
2024-03-03 16:29:54 -06:00
Firestar99
16973acdab
added shader! generate_structs arg duplication error (#2485)
* shader struct name replacing

* added shader! `generate_structs` arg duplication error

* MacroInput.generate_structs is a bool rather than an Option<bool>

---------

Co-authored-by: Firestar99 <4696087-firestar99@users.noreply.gitlab.com>
2024-03-03 16:04:25 +01:00
Firestar99
1b7dfc9814
shader struct name replacing (#2484)
Co-authored-by: Firestar99 <4696087-firestar99@users.noreply.gitlab.com>
2024-03-03 15:47:23 +01:00
Rua
37e6120d3c
#2482 changelog 2024-03-03 15:25:08 +01:00
Firestar99
093b43e98d
General shader improvements, specifically targeting rust-gpu (#2482)
* added tests for codegen reflect()

* added tests for a typical rust-gpu shader

* make idents that are invalid be named UnnamedX instead of panicing

* add generate_structs option to shader! macro, to disable struct generating

* get rid of macro_use extern crate

* disallow specifying a shader type for binary shaders

* fix mesh shaders output interface not being arrayed

* structs in shader interface panic with explanatory message

* fix clippy lints

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

---------

Co-authored-by: Firestar99 <4696087-firestar99@users.noreply.gitlab.com>
Co-authored-by: Rua <ruawhitepaw@gmail.com>
2024-03-03 15:22:39 +01:00
Rua
50d82cdcde
#2483 changelog 2024-03-02 15:31:46 +01:00
José Miguel Sánchez García
eac4faea71
Add DepthState::reverse helper method (#2483) 2024-03-02 15:30:42 +01:00
Rua
1d2dbd27a2
#2476 changelog 2024-02-27 15:00:47 +01:00
marc0246
817436b13c
Fix alignment checks when allocating buffers (#2476) 2024-02-27 14:59:59 +01:00
marc0246
89e75cae2d
#2475 changelog 2024-02-21 09:31:45 +01:00
stefnotch
d60677b59e
Replace cgmath with glam in the examples (#2475)
* Replace cgmath with glam in the examples

* Implement type_for_format! for glam

* Remove comment where I'm freaking out because of OpenGL flashbacks

* Update Cargo.toml

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

* Update vulkano/autogen/formats.rs

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

* Fix glam type_for_format

* Format the code

---------

Co-authored-by: marc0246 <40955683+marc0246@users.noreply.github.com>
2024-02-21 09:30:15 +01:00
marc0246
1b91d4e5a9
Fix VulkanoWindowRenderer::acquire taking &Vec<T> as well 2024-02-21 09:24:50 +01:00
marc0246
4fcb869df2
#2473 changelog 2024-02-21 09:20:02 +01:00
marc0246
89cf5402d0
Fix VulkanoWindowRenderer::swapchain_image_views return type
I have only noticed this as I was writing the changelog.

@coolcatcoder for future reference, `&Vec<T>` is an anti-pattern. There's nothing more you can do with it than with `&[T]` (because the reference is immutable) and it means that we can't use a different underlying buffer without a breaking change.
2024-02-21 09:19:09 +01:00
Katt
9a35fb0221
Make image_index and final_views accessible, and add new example. (#2473)
* Make image_index and final_views accessible, and new example.

The first 2 changes should make creating frame buffers easier.
The new example should make it easier to learn vulkano-util.

* Remove unnecessary imports, and run clippy.

* Run fmt.

* .acquire() no longer returns image_index

* rename final_views() to swapchain_image_views()

The name change makes it more consistent with swapchain_image_view().

Personally I don't understand why the field name is final_views, yet we externally in function names refer to it as swapchain image views and such like.

* Fractal example no longer creates framebuffer every frame.

* Game of life example no longer creates framebuffer every frame.

(Also removed a piece of code I had commented out, but had forgotten to remove from the fractal example.)

* Rename if_recreate_swapchain to on_recreate_swapchain and update acquire() documentation. to on_recreate_swapchain

* on_recreate_swapchain is now impl FnOnce instead of generics based FnMut

Thanks marc0246!

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

* Replace empty comment with an actual comment.

---------

Co-authored-by: marc0246 <40955683+marc0246@users.noreply.github.com>
2024-02-21 09:08:50 +01:00
marc0246
cdcaedc4f8
#2470 changelog 2024-02-20 14:06:32 +01:00
Rua
4074a91869
Add support for querying memory requirements directly from the device (#2470) 2024-02-20 14:06:07 +01:00
marc0246
4349c8e004
#2469 changelog 2024-02-20 14:01:03 +01:00
Rua
4eb8111055
Fix unnecessarily strict validation for DRM format modifiers (#2469) 2024-02-20 14:00:01 +01:00
Okko Hakola
c90c6e87c4
Remove windows specific dnd disable (#2474) 2024-02-20 13:23:30 +01:00
Rua
7b17d590a7
#2467 changelog 2024-02-15 19:56:41 +01:00