Commit Graph

436 Commits

Author SHA1 Message Date
marc0246
82db4298fb
Revert #2419 (#2600) 2024-11-04 11:51:36 +01:00
marc0246
a52e327184
Improve DeviceLayout convenience (#2599) 2024-11-04 11:49:41 +01:00
marc0246
a44a77869a
Revert making Raw{Buffer,Image}::bind_memory unsafe (#2595) 2024-10-30 16:22:55 +01:00
marc0246
dac6871d97
Allow binding raw descriptor sets (#2423) 2024-10-23 16:07:57 +02:00
Rua
6da1f96c73
Minimise unsafe block size, in examples (#2591) 2024-10-23 12:07:00 +02:00
marc0246
43a298e1ab
Fix the multi-window example handling every key event (#2589) 2024-10-22 17:13:02 +02:00
Katt
0815e76659
Fix 2583. (#2584)
* fix triangle-util and viewport extent docs

* fmt

* Revert "fmt"

This reverts commit 516b11b3ee.

* Revert "fix triangle-util and viewport extent docs"

This reverts commit b70ebad5ba.

* Marc's better way.
2024-10-20 07:04:12 +02:00
marc0246
ba8aa2a527
Revert #2421, rename Raw[Recording]CommandBufer again and move them (#2582) 2024-10-19 14:13:15 +02:00
marc0246
5749fef53c
Revert #2425 (#2576) 2024-10-18 20:00:21 +02:00
marc0246
f6bc05df94
Update dependencies (#2571)
* Update dependencies

* fmt
2024-10-10 12:16:14 +02:00
marc0246
bad11eef71
Task graph [5/10]: the new command buffer (#2567) 2024-09-20 13:30:36 +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
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
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
Okko Hakola
15f60f02c9
Pass timeout to acquire (#2503)
* Pass timeout to acquire

* Changelog

* Fix examples

* Switch input order
2024-03-27 22:00:56 +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
b190d6fb1c
Rewrite VertexDefinition (#2487) 2024-03-04 22:58:27 +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
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
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
Rua
8673aea5d0
Fix Rust 1.76 clippy warnings (#2462)
* Fix Rust 1.76 clippy warnings

* Fix doctest error
2024-02-15 16:39:02 +01:00
marc0246
94f50f18bd
Use hard-coded vertices in eligible examples (#2454)
* Use hard-coded vertices in eligible examples

* Remove outdated todos
2024-01-16 19:30:14 +01:00
Martin Charles
9b6e307569
Add Minimal Offscreen Rendering Example (#2451)
* add offscreen example

* cleanup example

* more cleanup

* typo

* fix clippy

* Update examples/offscreen/main.rs

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

* Update examples/offscreen/main.rs

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

* Update examples/offscreen/main.rs

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

* edits

* i'm loosing my marbles

* Update examples/offscreen/main.rs

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

* Update examples/offscreen/main.rs

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

* formatting

* Update examples/offscreen/Cargo.toml

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

* Update examples/offscreen/main.rs

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

* Update examples/offscreen/main.rs

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

* Update examples/offscreen/main.rs

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

* Update examples/offscreen/main.rs

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

* Update examples/offscreen/main.rs

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

* Update examples/offscreen/main.rs

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

* Update examples/offscreen/main.rs

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

* Update examples/offscreen/main.rs

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

* Update examples/offscreen/main.rs

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

* Update examples/offscreen/main.rs

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

* Update examples/offscreen/main.rs

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

* cargo fmt

* more correct description

* import

* Update examples/offscreen/main.rs

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

* Update examples/offscreen/main.rs

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

---------

Co-authored-by: marc0246 <40955683+marc0246@users.noreply.github.com>
2024-01-11 01:37:17 +01:00
marc0246
00b65b1299
Enforce a consistent comment width (#2444)
* Enforce comment width

* `cargo +nightly fmt`

* Finishing touches
2024-01-05 02:14:49 -06:00
marc0246
cf31f4e059
Check formatting in CI (#2442)
* Check formatting in CI

* Fix existing fomatting inconsistencies

* Update PR template
2024-01-03 02:45:14 -06:00
Firestar99
7788847b04
Mesh shading example (#2437)
* mesh-shader-triangle example: copied from instancing example

* mesh-shader-triangle example: move shaders to separate files

* mesh-shader example: rename example

* mesh-shader example: implement mesh shader generating geometry

* mesh-shader example: fix instance data indexing partially, still has struct alignment issues

* mesh-shader example: fixed instance buffer alignment issues

* remove unnecessary things

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

* mesh-shader example: cargo fmt

* mesh-shader example: rename shaders to end in .glsl

* mesh-shader example: added color out variable, docs

* mesh-shader example: rename shader again

* mesh-shader example: reformat shader code

* mesh-shader example: cargo fmt with nightly

---------

Co-authored-by: Firestar99 <4696087-firestar99@users.noreply.gitlab.com>
Co-authored-by: marc0246 <40955683+marc0246@users.noreply.github.com>
2024-01-02 14:46:27 +01:00
Rua
bef7b94aef
Fix warnings for Rust 1.75 (#2436) 2023-12-28 20:32:13 +01:00
Rua
289ec102e0
Document shader safety requirements, make draw/dispatch unsafe (#2429)
* Document shader safety requirements, make draw/dispatch unsafe

* Extra docs

* Doctests

* Max index value

* Small change

* Update vulkano/src/command_buffer/mod.rs

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

* Update vulkano/src/command_buffer/mod.rs

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

---------

Co-authored-by: marc0246 <40955683+marc0246@users.noreply.github.com>
2023-12-25 04:01:16 +01:00
marc0246
00bb62171f
Merge PrimaryAutoCommandBuffer and SecondaryAutoCommandBuffer into CommandBuffer (#2425)
* Merge `PrimaryAutoCommandBuffer` and `SecondaryAutoCommandBuffer`

* Fix docs

* Fix examples

* Move command buffer creation validation to `RawRecordingCommandBuffer`

* Fix `RawRecordingCommandBuffer::end` being safe to call

* Remove unsafe block inside `RawRecordingCommandBuffer::end`
2023-12-20 13:04:01 +01:00
Yuxuan Shui
22276cdb8a
Support creating buffers and images that are not backed by vulkano-managed memory (#2413)
* Support creating images that are not backed by vulkano managed memory

* Support creating buffers that are not backed by vulkano managed memory

* Add a way to create a RawImage that doesn't own the inner image

* Add a way to create a RawBuffer that doesn't own the inner buffer

* Apply suggestions from code review

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

* fixup! Support creating images that are not backed by vulkano managed memory

* fixup! Support creating buffers that are not backed by vulkano managed memory

---------

Co-authored-by: marc0246 <40955683+marc0246@users.noreply.github.com>
2023-12-18 08:09:50 +01:00
marc0246
cee21d3f05
Rename command buffer types (#2421)
* Rename `UnsafeCommandBuffer[Builder]`

* Rename `AutoCommandBufferBuilder`

* `finish` -> `end`

* Clarify docs

* `CommandRecorder` -> `RecordingCommandBuffer`
2023-12-09 12:24:52 +01:00
Rua
fa15e53820
Validate the fragment output against color blend state (#2420)
* Validate the fragment output against color blend state

* Remove old methods from render/subpass that are no longer needed

* Better fix

* Update vulkano/src/macros.rs

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

* Update vulkano/src/pipeline/graphics/mod.rs

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

---------

Co-authored-by: marc0246 <40955683+marc0246@users.noreply.github.com>
2023-12-07 18:13:08 +01:00
marc0246
4cd3b74f14
Remove the command buffer traits (#2419)
* Remove command buffer traits

* Fix docs

* Fix examples
2023-12-06 17:23:24 +01:00
ilyas taouaou
e68eddd5f1
Add vulkano macros feature to examples that needs it (#2408)
* Add vulkano macros feature to example that needs it

* Add Buffer::pair_from_iter to make it one step easier for staging data to the device

* Revert "Add Buffer::pair_from_iter to make it one step easier for staging data to the device"

This reverts commit a30b5c0925.
2023-11-16 17:07:28 +01:00
marc0246
43e2db0dbd
Command buffer allocator API 2.0 (#2403)
* Make `CommandBufferAllocator` object-safe, remove the generics

* Fix tests

* Fix examples

* Remove the panic

* Remove outdated docs

* Document `Send + Sync` impl of `UnsafeCommandBuffer`
2023-11-14 17:57:43 +01:00
marc0246
63a53f1b93
Descriptor set revamp (#2404)
* Descriptor set revamp

* Fix tests

* Fix examples

* Add `DescriptorSet::update_unchecked`

* Fix docs

* Add `Debug` impls

* Add `DescriptorSet::update_by_ref[_unchecked]`

* Rename `UnsafeDescriptorSet` to `RawDescriptorSet`

* Fix outdated docs for `DescriptorPool`
2023-11-12 17:17:37 +01:00
marc0246
bbd1de36ef
Descriptor set allocator API 2.0 (#2400)
* Make `DescriptorSetAllocator` object-safe, remove the generics

* Fix tests

* Fix examples

* Fix docs

* Avoid panics in `deallocate`

* Typo

* Clarify docs

* Clarify safety preconditions of `allocate`

* Remove unnecessary `Arc` clone

* Tidy up a little

* Debug assert
2023-11-12 15:10:22 +01:00
marc0246
34736a675a
Remove license notices from source files (#2401)
* Remove license notices from source files

* Add license notices for rangemap
2023-11-08 13:49:49 +01:00
marc0246
8bb811940a
Prevent examples from being tested/benchmarked/documented (#2396) 2023-11-05 11:24:21 +01:00
marc0246
af57608ac5
Unify workspaces (#2391) 2023-10-31 19:15:03 +01:00
marc0246
4a77d39b85
Update dependencies (#2385)
* Update winit

* Update raw-window-handle

* Update syn

* Remove vulkano-win from the workspace
2023-10-31 18:47:17 +01:00
marc0246
1e9128795f
Workspace dependencies (#2381)
* Use workspace dependencies

* Update CI workflow to account for the two workspaces

* Make the tables in the root workspace a bit nicer to look at

* Use workspace package version

* Remove workspace package version

* Make winit a workspace dependency as well
2023-10-29 22:42:00 -05:00
marc0246
4c515a81cb
Improve the examples' directory structure (#2375)
* Make each example its own workspace member

* Fix runtime-shader example

* Fix shader-include example

* Fix teapot example

* Fix `run_all.sh`

* Fix output files getting saved in cwd

* Fix spelling for examples readme filename

* Remove wrong leftover dependencies for gl-interop

* Fix pipeline-cache example

* Clearer .gitignore

* Help cargo be less useless
2023-10-29 18:46:14 +01:00
Rua
def21843fc
Partial validation of queue commands (#2373)
* Move resource tracking/locking back from Queue to futures

* Add partially validated `submit` command

* Add partially validated `present` command

* More safety docs

* Small doc change

* Add SemaphorePresentInfo

* Put safety docs in the semaphore/fence modules instead

* More fence and semaphore docs

* Re-add missing imports

* Remove state tracking from Fence

* Remove state tracking from Semaphore
2023-10-29 01:40:28 +02:00
marc0246
94f0f8cc80
#2369 fixes (#2371) 2023-10-25 04:01:30 -05:00
marc0246
ac2a83b769
Add a StandardDescriptorSetAllocatorCreateInfo (#2366)
* Add `StandardDescriptorSetAllocatorCreateInfo`

* Fix tests and examples
2023-10-24 16:23:17 +02:00
Rua
444c88dfca
Use separate samplers and sampled images in the examples (#2354)
* Use separate samplers and sampled images in the examples

* Update examples/src/bin/push-descriptors/main.rs

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

---------

Co-authored-by: marc0246 <40955683+marc0246@users.noreply.github.com>
2023-10-08 14:10:19 +02:00
Rua
0fed9bbc7f
Make dynamic state future-proof and more Vulkan-y (#2348)
* Make dynamic state future-proof and more Vulkan-y

* Additional fixes

* Extra docs

* Oops

* Derp!

* Review fixes
2023-10-07 16:46:03 +02:00