Commit graph

22 commits

Author SHA1 Message Date
Marijn Suijten e18e0243ef
ash: Remove unnecessary trivial_casts and trivial_numeric_casts (#564)
While making the code only marginally harder to read such casts can also
introduce subtle bugs when used incorrectly, and are best omitted
whenever unnecessary: Rust already coerces borrows into raw pointers
when the types on both ends are clear, and even then there remain many
casts that are identical to the source type.

In addition these errors show up when using a local crate reference to
`ash` in a workspace that uses "the `.cargo/config.toml` setup" from
[EmbarkStudios/rust-ecosystem#68] to configure linter warnings
project-wide instead of for all crates in that workspace individually.
In our case aforementioned linter warnings are enabled on top of
Embark's configuration, leading to a lot of these warnings in our build
process.

[EmbarkStudios/rust-ecosystem#68]: https://github.com/EmbarkStudios/rust-ecosystem/pull/68
2022-02-18 16:01:46 -08:00
Marijn Suijten a28a667d7c
changelog: Add entries for recent PRs #545, #534, #553, #551, #549 (#555)
And drop the deprecated =/- markdown syntax from our readme: this is
analogous to #/## for a h1/h2 header, instead of defining a title and
(usually smaller font) subtitle or description.
2022-01-17 20:45:10 +01:00
Marijn Suijten 130c150841
ash-window: Require at least raw-window-handle 0.3.4 for 0.4 interop (#553)
`raw-window-handle 0.3.4` was pushed as a "semver-trick-like" patch
release, implementing the `0.3` trait for the `0.4` crate release [74].
This allows `ash-window` as a window-handle "consumer" crate to accept
both `0.3` and `0.4` handles from consumer crates simultaneously.  To
ensure this patch release is available even when users omit regular
`cargo update` or build with `-Z minimal-versions`, set the minimal
patch version in `Cargo.toml` to it.

[74]: https://github.com/rust-windowing/raw-window-handle/pull/74
2022-01-10 12:59:35 -08:00
Marijn Suijten ab36e84bac ash-window: Bump to 0.9.0
This change missed out from 9e7c1bff62.
2021-12-27 23:54:09 +01:00
Marijn Suijten 9e7c1bff62
Release ash 0.35 and ash-window 0.9 without default compile-time linking (#529) 2021-12-27 23:52:23 +01:00
Benjamin Saunders 7cf3b4f09e
Don't link Vulkan by default (#526)
This was found to be unreasonably disruptive to downstream CI
configurations.
2021-12-27 11:49:40 +01:00
Marijn Suijten f99f9cfa90
Prepare release notes for 0.34 (and ash-window 0.8) with Vulkan 1.2.203 (#515) 2021-12-22 02:39:11 +01:00
Benjamin Saunders 6e31d1f229
Disable default features in ash-window -> ash dependency (#524) 2021-12-22 02:31:13 +01:00
Benjamin Saunders aa7b429f4f
Support linking Vulkan directly (#457)
* Mark EntryCustom::new_custom as unsafe

Passing a badly-behaved `load` function can invoke undefined behavior.

* Document required feature for Entry

* Support linking Vulkan directly

This is the preferred pattern in most environments when an application
cannot function without Vulkan, as it saves the libloading dependency,
eliminates an error case, and makes the Vulkan dependency visible to
the OS.

* Rename libloading feature to "loaded"

* Link by default

* Guide users towards linking the loader directly

* Remove unnecessary error type

InstanceError::LoadError was never constructed.

* Unify entry types

Simplifies the interface and allows a bunch of code to become
monomorphic.
2021-09-09 22:50:34 +02:00
Kane Rogers 56bbf839a4
Bump version in README.md (#473) 2021-09-03 10:15:16 +02:00
Marijn Suijten 17149bd791
Update changelog and prepare for ash-0.33 and ash-window-0.7 release (#460)
* changelog: Add all entries for 0.33

* Prepare for ash-0.33 and ash-window-0.7 release
2021-07-30 15:22:29 +02:00
Marijn Suijten de8ff6b5dc
Unify readme between Ash and Ash-window (#455) 2021-07-30 12:32:52 +02:00
Jason Macnak ed351996e5
Adds LICENSE-* files to crate subdirectories (#452)
... so that the license files appear in downloaded crates.
2021-07-09 12:21:15 +02:00
Marijn Suijten d6e049f340 Use intradoc-links and explain the various loading methods 2021-06-07 09:54:11 -07:00
Marijn Suijten 06b4f8ef35
Vulkan 1.2.175: Provisional Video Extensions (#417)
* generator: Add edegecases for broken Video extension enum variants

* Replace deprecated `make_version()` with `make_api_version()`

* generator: Use the same predicate for push_next and its traits

Some structs turn out to be root structs when their name is not in the
`root_structs` set, even when they themselves extend another struct.
This was already taken care of for `push_next` which is emitted in this
situation, but the trait referenced by `push_next`'s `T` bound is still
relying on the `extends` field to not exist in `vk.xml` at all, leading
to it not being generated despite `push_next` needing it.

Fixes: 215511f ("Implement ExtendXXX for multiple root create infos if
there are more than 1")

* Update Vulkan-Headers to 12.175

* generator: Generate low-level structs with bindgen (for vk_video)
2021-06-06 11:00:29 +02:00
Rua f5e7cfe896
Impl trait functions directly on EntryCustom/Instance/Device (#412)
* Implement EntryV1_x, InstanceV1_x, DeviceV1_x functions directly
2021-04-30 17:13:23 +02:00
Marijn Suijten c942328cab changelog: Add missing link for 0.32.1, document changes to ash-window 2021-04-15 11:39:35 +02:00
Maik Klein 9662364c8b Bump version of ash-window 2021-03-07 20:17:48 +01:00
Marijn Suijten 00c7eea860 ash-winow: Fix clippy::single-match 2020-09-02 17:08:20 -07:00
Maik Klein 9aae30ecc2 Add version to ash 2020-07-14 16:54:40 +02:00
Maik Klein 99d81ca90a Bump ash-window to 0.5.0 2020-07-14 16:48:28 +02:00
msiglreith a1a42c067a
Add interoperability functions for raw-window-handle (#308)
* Add ash-window as workspace member

* ash-window: fix repository link

* ash-window: Address CI fmt&clippy issues

* ash-window: Try fix SDL2 CI issues

* ash-window: Remove beryllium example
2020-07-04 15:21:39 +02:00