Commit Graph

38 Commits

Author SHA1 Message Date
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
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
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
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
marc0246
796cb35acd
Task graph [1/10]: resource synchronization state tracking (#2540) 2024-07-09 12:40:15 +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
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
87993aa3d7
Set MSRV to 1.72.0 (#2516)
* Set MSRV to 1.72.0

* Use workspace inheritance for some package fields

* Authors seem to differ, so don't inherit that

* Consistency
2024-04-19 12:27:26 +02:00
Rua
fe74e0aac8
Enable and fix pointer cast lints (#2507)
* Enable and fix pointer cast lints

* Fix for #2508

* Use coercion instead of `ptr::from_ref`

* Search-and-replace fail

* Replace `addr_of!` + `cast`
2024-04-08 20:02:56 +02:00
Marijn Suijten
77abaff2f0
Upgrade to ash 0.38 (#2510)
* Upgrade to `ash 0.38`

https://github.com/ash-rs/ash/releases/tag/0.38.0

* Clean up subpass shading -> shader pipeline stage name
2024-04-07 12:16:30 +02:00
Rua
e9c650c966
Use workspace lints (#2505)
* Use workspace lints

* Use underscores for the lints, since they are canonically written that way

* Put lints after features
2024-03-28 11:58:43 +01:00
marc0246
64be09e290
Replace host::PoolAllocator with slabbin::SlabAllocator (#2493) 2024-03-12 19:26:16 +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
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
fd352ec0f1
Cache dependencies in CI (#2449)
* Clean up CI config

* Cache Cargo home in CI

* Add `Cargo.lock`

* Use rust-cache

* Don't fail fast

* Disable the cache action for self-hosted runners
2024-01-10 02:26:35 -06:00
marc0246
7d1c606b10
Formatting 2023-11-15 18:08:43 +01:00
Rua
b5b8ea828a
Use concrete types from Ash for foreign handles (#2406)
* Use concrete types from Ash for foreign handles

* Fixes

* Update vulkano/src/swapchain/mod.rs

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

* Foxes

* Get CI to build vulkano-win

* Weirdness

* Faxes

* F*xes

* Re-disable vulkano-win

---------

Co-authored-by: marc0246 <40955683+marc0246@users.noreply.github.com>
2023-11-15 18:07:20 +01:00
marc0246
3afa8d48f8
Update proc-macro-crate (#2394) 2023-11-01 20:59:57 +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
3664c079f7
Remove superfluous dev-dependencies (#2389) 2023-10-31 10:44:46 +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
b3dbca4001
Rust 1.72 fixes (#2302) 2023-08-25 03:01:45 +02:00
marc0246
096d3bc660
Publish vulkano-macros (#2175)
* Publish vulkano-macros

* Document `vulkano-macros`

* Make macros dependency optional

* Document `macros` feature

* Fix outdated docs

* Derp
2023-04-02 23:33:01 -05:00
marc0246
140da613e3
Remove long-gone www crate from the exclude-list (#2141) 2023-02-15 14:41:30 +01:00
Okko Hakola
18f68337a5
Vulkano util proposal (#1918)
* Init vulkano util library

* Add window & renderer structs

* Update fractal to use vulkano utils

* Add general purpose image view generation to storage image

* Add some missing functionality

* Fix game of life

* Rename error

* Fix tests

* Update documentation texts

* Modify license comment

* Add to changelog

* Improve docs

* Allow option to wait on the future

* Update doc text

* Add filter fn

* Modify queue selection

* Fix import error

* Remove non working tests

* Rename start and finish frame to acquire and present

* Allow pub creation of window renderer

* Ensure config members are pub and it has send + sync

* Remove send syncs
2022-06-24 17:27:33 +02:00
gurchetansingh
f186ef80a5
Goodbye vk-sys (#1601)
You are gone, but not forgotten.
2021-09-04 00:08:06 -05:00
Rua
71191bd24d
Auto-generate extensions and features, check requirements (#1599)
* Migrate to using Ash as a base

* Small change to test, to make it applicable to Vulkan 1.1

* Auto-generate extensions, check extension requirements

* Add documentation to extensions, use vk.xml from Ash 0.32.1

* Remove `RawDeviceExtensions` and `RawInstanceExtensions`

* Add extension conflict checking

* Small fix

* Add auto-generated features, more requirements checks

* Features documentation

* Macrofy required_if_supported_extensions

* Include vulkano-gen tool

* Move autogen imports to macros

* Change autogen into a build script

* Delete leftover file
2021-06-08 00:45:41 +07:00
Lucas Kent
23709fb011
Remove vulkano-shader-derive (#1085) 2018-10-26 13:49:36 +11:00
Nicholas Lordello
b507034df7 Use shaderc instead of glsl-to-spirv for shader compilation (#947)
* Use shaderc instead of glsl-to-spirv for shader compilation
* added some setup notes
2018-09-21 00:24:24 +10:00
Pierre Krieger
fba5c95250 Some work on the website 2017-06-27 18:18:42 +02:00
Pierre Krieger
f932187778 Add a small crate to allow inlining shader source codes 2017-01-21 16:17:06 +01:00
Pierre Krieger
28b489b31f Add Cargo workspace file 2016-08-07 14:31:07 +02:00
Pierre Krieger
fbeac0d827 Remove obsolete files 2016-01-31 13:20:32 +01:00
Pierre Krieger
d2552a8d65 Initial commit 2015-07-06 10:54:29 +02:00