Commit graph

907 commits

Author SHA1 Message Date
Steve Wooster 5d5fc57746 Simplify example surface format selection
According to specs for vkGetPhysicalDeviceSurfaceFormatsKHR(), at least
one surface format must be returned, and returned formats must not be
VK_FORMAT_UNDEFINED.
2020-10-14 16:58:55 -07:00
Sebastian Aaltonen 64d1705730
Optimized example fences. Waited immediately. Now waits before reuse (next frame) (#327)
* Optimized example fences. Waited immediately. Now waits before reuse (next frame).

* rust fmt + clippy warning silenced

* Add comments for record_submit_commandbuffer

Co-authored-by: Sebastian Aaltonen <sebastian.aaltonen@unity3d.com>
Co-authored-by: Maik Klein <maikklein@googlemail.com>
2020-10-03 00:08:42 +02:00
Marijn Suijten 6f488cd3db
Expose header version and extension spec version constants (#322)
* Generate constants for value defines

* Expose versioning constants containing macros

* Expose extension SPEC_VERSION constant
2020-09-10 20:46:42 +02:00
Adrien Bennadji df504f8121 Update example to use ash-window 2020-09-04 14:05:16 -07:00
Marijn Suijten 00c7eea860 ash-winow: Fix clippy::single-match 2020-09-02 17:08:20 -07:00
Marijn Suijten 5cb696beb0 tests: Fix clippy::single-component-path-imports 2020-09-02 17:08:20 -07:00
Marijn Suijten 8a46286005 CI: Test/check/lint all targets in all workspaces 2020-09-02 17:08:20 -07:00
Marijn Suijten 2ae160cfc4 generator: Switch #[macro_use] to use and exclude nom::dbg
This avoids an obnoxious error when attemting to use `dbg!()` while
debugging the generator.

Unfortunately there seems to be no way to import * except `dbg`, or
shadow `dbg` (using eg. `use nom::{dbg as _nom_dbg, *};`).
2020-09-02 17:08:20 -07:00
RustyNixieTube b9ac0c3892
Fix syntax highlighting on crates.io
Co-authored-by: RustyNixieTube <RustyNixieTube@users.noreply.github.com>
2020-08-14 13:40:06 -07:00
MarijnS95 c6d5d66142
entry_libloading: Provide Vulkan library loader from custom path (#319)
It is in some cases necessary to load a specific Vulkan dll/so with a
different name and/or from a different location.

Instead of copying this function to a downstream project (and making the
LoadingError constructor public to retain the same interface), split
Entry::new() such that downstream projects can easily specify and use an
alternate Vulkan implementation.
2020-08-03 11:19:42 +02:00
Apoorva Joshi 31bd928c4b
Deprecate the DebugMarker and DebugReport extension modules (#317)
* Deprecate the DebugMarker and DebugReport extension modules

* Allow deprecated modules only in mod.rs, to suppress clippy warning

Co-authored-by: Apoorva Joshi <apoorva.ramesh.joshi@gmail.com>
2020-07-24 16:21:40 +02:00
zedrian b6d9a40b0b
Added VK_KHR_pipeline_executable_properties extension support. (#313)
* Added `VK_KHR_pipeline_executable_properties` extension support.

* Unused import removed.

* Cargo-fmt requirements satisfied.

* Specification requirements satisfied.

* Cargo-fmt requirements satisfied.

* Recommended fixes applied.
2020-07-20 21:48:53 +02: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
zedrian ac4d046d4b
Added VK_EXT_tooling_info extension support (#310)
* Added `VK_EXT_tooling_info` extension support.

* Formatting applied.

* cargo-clippy suggestions satisfied.

* cargo-clippy suggestions satisfied.
2020-07-02 12:10:05 +02:00
Maik Klein 8d7dfee763 Release 0.31.0 2020-05-10 21:14:01 +02:00
Steven Le Rouzic ce1d3a1195
Make libloading an optional dependency (#296)
* Make libloading an optional dependency

* Move all libloading stuff to a specific module
2020-05-10 13:55:19 +02:00
Maik Klein 4d6bb3949d
Fix clippy lints for 1.43 (#298) 2020-05-10 13:42:07 +02:00
Martin Krošlák e378a85c78 Update vk-parse to 0.5.0 2020-05-08 10:45:14 -07:00
Friz64 37a701ad3f
Move lib creation out of EntryCustom::new_custom (#292)
* Update libloading to `0.6.1`

* Update Error type

* Make `LoadingError` a newtype

* Move lib creation out of `new_custom`
2020-05-07 18:14:24 +02:00
Brian Merchant 93238e093b Use DebugUtils instead of DebugReport in example. 2020-04-29 12:20:54 -07:00
Friz64 3eeb78f214 Initialize MemoryRequirements with Default 2020-04-21 11:36:23 -07:00
Friz64 da5de66ba4
Switch to VK_LAYER_KHRONOS_validation (#290) 2020-04-19 19:12:43 +02:00
aloucks bd6515ced8
Split vk.rs into multiple files (#286)
* Allow the generator to be run from project root dir

* Split vk.rs into multiple files

* Breakup and remove generated vk/prelude.rs

Generator changes:

- No longer convert current dir to a string when checking if the
  path ends with 'generator'
- Pass the 'ash/src' dir instead of the 'vk.rs' path

Generated and generated output changes:

- The majority of prelude.rs has been moved to macros.rs
- The pointer chain and Handle are now included in vk.rs
- Platform types has been moved to its own file.
2020-04-19 19:12:17 +02:00
msiglreith bb720dd726
Add metal surface extension (#288) 2020-04-15 22:35:48 +02:00
TheEdward162 a5e5e375b1 add const qualifier to as_raw and from_raw fns on enums 2020-04-11 11:39:22 -07:00
Gabriel Dube 1f7dd9114d
Implement VK_KHR_draw_indirect_count 2020-04-11 12:19:22 +02:00
Maik Klein e575b233e5
Remove incorrect device params (#284)
* Remove incorrect device params

* Fmt
2020-04-11 12:18:31 +02:00
Maik Klein a480c57152
typo 2020-03-24 12:22:14 +01:00
Aaron Loucks 3c62d50ea0 Link to the individual man page instead of vkspec.html 2020-03-22 20:10:32 -07:00
Maik Klein c45112b5c8 Bump version to 0.30.0 2020-03-22 20:28:03 +01:00
Maik Klein 80f03ef00a Add changelog for 0.30.0 2020-03-22 20:27:37 +01:00
Maik Klein bcff1b7868
Remove tokei from the readme 2020-03-22 16:12:18 +01:00
zedrian e84c1c4e2d
Add VK_KHR_timeline_semaphore extension support (#276)
* TimelineSemaphore struct added presenting `VK_KHR_timeline_semaphore` extension.

* Unused import removed.

* Empty newline added.

* TimelineSemaphore extension object now provides functions for work with timeline semaphores.

* Function pointers removed from TimelineSemaphore as no longer needed.
*_khr postfix removed from TimelineSemaphore functions to follow the same code style as in other extensions.

* Tiny code reformatting to fit Rustfmt requirements.

* Another attempt to fit Rustfmt requirements.
2020-03-22 16:06:56 +01:00
Jasper Bekkers 6bdc403330
[WIP] Khr Ray Tracing (#278)
* Fix incorrect generation of commands with aliases

* Use alias name instead of the actual cmd name

* Generate vulkan ray-tracing bindings

* Add ray-tracing khr

* High level ray tracing support

* Re-enable nv ray tracing extension (this will break the build)

* Generate aliases for extension enums

* Add missing alias because the parser doesn't provide alias information here

* Fix 'unreachable pattern' warnings

* Fix clippy warning

Co-authored-by: Maik Klein <maikklein@googlemail.com>
2020-03-22 16:05:30 +01:00
Maik Klein af6acb93e5
Fix incorrect generation of commands with aliases (#279)
* Fix incorrect generation of commands with aliases

* Use alias name instead of the actual cmd name
2020-03-22 13:56:01 +01:00
Maik Klein c32f0dd739 Clippy lints for 1.42 2020-03-15 00:55:26 +01:00
Maik Klein de05ff6702
Switch to libloading (#275) 2020-03-15 00:48:24 +01:00
aloucks 25628402f9
Adjust doc link rendering (#273) 2020-03-15 00:47:58 +01:00
Friz64 7789163507 Switch to libloading 2020-03-14 01:10:03 +01:00
Joshua Suskalo 39a6a8552a
Add a Safety section to the documentation of create_instance and create_device (#272)
* Add a Safety section to the documentation of `create_instance` and `create_device`

* Change doc links back to original format
2020-02-29 21:24:39 +01:00
IntrepidPig 98def0a4e3
Add VK_KHR_external_memory_fd extension support (#270) 2020-02-18 22:58:36 +01:00
Benjamin Saunders 651462a342
Fix XCB types (#267) 2020-02-02 10:42:59 +01:00
Maik Klein 8e78a2cc0d Add 1.2 support to README 2020-01-26 09:38:58 +01:00
Jonathan Plotner c105d2842c fix build errors for examples on osx (#260) 2020-01-26 09:29:52 +01:00
Friz64 594b184c38 Add high level wrappers for Vulkan 1.2 (#265)
* Update doc links

* Added `EntryV1_1` impl and notice about compatibility

* Add missing `InstanceV1_1::get_physical_device_features2` function

* Add Vulkan 1.2 wrapper for `Entry`

* Add Vulkan 1.2 wrapper for `Instance`

* Add Vulkan 1.2 wrapper for `Device`

* Mark `enumerate_instance_version` as deprecated
2020-01-26 09:27:26 +01:00
Alexander Ekdahl 00f52cc5ad Vulkan 1.2 Support (#264)
* Updated vk-parse and Vulkan-Headers to Vulkan 1.2

* First pass at generating vk.rs

* Support double

* Generate from EnumSpec::Value

* Remove println

* Fix mutable pointer bug

* cargo fmt

* Update document link

* Remove mention of Vulkan 1.2 support for now

* Add clippy::wrong_self_convention
2020-01-19 09:56:12 +01:00
Maik Klein 17edc8c13c Disable missing_safety_doc 2020-01-18 14:32:56 +01:00
aloucks 31d14486e5 Use the individual man page doc links for the push_descriptor extension (#255)
The `vkspec.html` page is rather large and slow to load and navigate.
This change is consistent with all other doc links.
2019-12-04 23:48:05 +01:00