vulkanalia_sys/
macros.rs

1// SPDX-License-Identifier: Apache-2.0
2
3// DO NOT EDIT.
4//
5// This file has been generated by the Kotlin project in the `generator`
6// directory from a Vulkan API registry.
7
8#![allow(
9    non_camel_case_types,
10    non_snake_case,
11    clippy::bad_bit_mask,
12    clippy::let_unit_value,
13    clippy::missing_safety_doc,
14    clippy::missing_transmute_annotations,
15    clippy::too_many_arguments,
16    clippy::type_complexity,
17    clippy::unnecessary_cast,
18    clippy::upper_case_acronyms,
19    clippy::useless_transmute
20)]
21
22/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VK_MAKE_VERSION.html>
23#[inline]
24pub const fn make_version(major: u32, minor: u32, patch: u32) -> u32 {
25    (major << 22) | (minor << 12) | patch
26}
27
28/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VK_VERSION_MAJOR.html>
29#[inline]
30pub const fn version_major(version: u32) -> u32 {
31    version >> 22
32}
33
34/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VK_VERSION_MINOR.html>
35#[inline]
36pub const fn version_minor(version: u32) -> u32 {
37    (version >> 12) & 0x3FF
38}
39
40/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VK_VERSION_PATCH.html>
41#[inline]
42pub const fn version_patch(version: u32) -> u32 {
43    version & 0xFFF
44}