Commit graph

134 commits

Author SHA1 Message Date
Marijn Suijten 7f6954300b
changelog: Import from and synchronize with 0.37.2 release 2023-01-11 11:40:11 +01:00
Teodor Tanasoaia 043c00c404
extensions/khr/draw_indirect_count: Use the right function pointer for non-indexed draw call (#695) 2023-01-11 11:27:26 +01:00
Marijn Suijten 720eb81048
Update Vulkan-Headers to 1.3.238 (#688)
* Update Vulkan-Headers to 1.3.236

* Update Vulkan-Headers to 1.3.237

* Update Vulkan-Headers to 1.3.238
2022-12-19 19:42:05 +01:00
Marijn Suijten 6bd8276861
changelog: Document removal of "disabled" extension code (#689) 2022-12-12 10:36:06 -08:00
Marijn Suijten 69c56eaa03
changelog: Import from and synchronize with 0.37.1 release 2022-11-23 23:26:20 +01:00
Marijn Suijten 358ba06a54
extensions/ext: Add VK_EXT_descriptor_buffer (#679) 2022-11-22 23:35:10 +01:00
Marijn Suijten 8756155817
extensions/ext: Add VK_EXT_extended_dynamic_state3 (#671) 2022-11-22 23:28:31 +01:00
Marijn Suijten ba37cf3fc2
Update Vulkan-Headers to 1.3.235 (#667)
* Update Vulkan-Headers to 1.3.229

* Update Vulkan-Headers to 1.3.230

* Update Vulkan-Headers to 1.3.231

* Update Vulkan-Headers to 1.3.232

* Update Vulkan-Headers to 1.3.233

* Update Vulkan-Headers to 1.3.235

* README: Document experimental Vulkan Video bindings being semver-exempt
2022-11-22 23:13:09 +01:00
AidoP a4a85318c8
extensions/ext: Add VK_EXT_acquire_drm_display (#668)
Co-authored-by: Aidan Prangnell <aidop@trifuse.xyz>
2022-10-11 17:33:31 +02:00
BeastLe9enD b0a1338532
extensions/ext: Add VK_EXT_mesh_shader (#657) 2022-09-26 00:31:28 +02:00
Marijn Suijten ffd16854c4 extensions/ext: Remove misnamed, deprecated debug_utils_set_object_name() and debug_utils_set_object_tag() entirely
See also #660/#661.
2022-09-24 11:07:35 +02:00
BeastLe9enD f0e636a16d
extensions/ext: Rename debug_utils_set_object_name to set_debug_utils_object_name and debug_utils_set_object_tag to set_debug_utils_object_tag for consistency and deprecate old ones (#661) 2022-09-24 11:01:22 +02:00
David Koloski 5f4b1bbf07
extensions/khr/ray_tracing_pipeline: Set length of capture-replay shader handle buffer after filling (#658) 2022-09-22 00:57:45 +02:00
Marijn Suijten 02a60bd9cb
Update Vulkan-Headers to 1.3.228 (#655)
* Update Vulkan-Headers to 1.3.220
* Update Vulkan-Headers to 1.3.221
* Update Vulkan-Headers to 1.3.222
* Update Vulkan-Headers to 1.3.223
* Update Vulkan-Headers to 1.3.224
* Update Vulkan-Headers to 1.3.225
* Update Vulkan-Headers to 1.3.226
* Update Vulkan-Headers to 1.3.227
* Update Vulkan-Headers to 1.3.228
2022-09-19 22:01:25 +02:00
Marijn Suijten 13fef40d48
ash: Add const STRUCTURE_TYPE to all Vulkan structures for matching with match_struct! macro (#614)
* ash: Add `const STRUCTURE_TYPE` to all Vulkan structures for matching with `match_struct!` macro

In Vulkan layers extracing a structure based on its `s_type` is a common
operation, but comparing against an enum value and subsequently casting
to the right type is verbose and error-prone.

By generating a `const STRUCTURE_TYPE` with the given value for every
Vulkan structure it becomes possible to implement a macro that abstracts
this logic away in a safer way.

* generator: Reuse `HasStructureType::STRUCTURE_TYPE` in `s_type` initializer
2022-09-19 12:39:54 +02:00
Marijn Suijten b093e67515
Release ash-window 0.11.0 2022-07-29 22:29:18 +02:00
Marijn Suijten ce2ee4812c
extensions/ext: Add VK_EXT_image_compression_control device extension (#621) 2022-07-03 22:09:06 +02:00
Marijn Suijten 400d68fc7d
extensions/khr: Add VK_KHR_ray_tracing_maintenance1 device extension (#620) 2022-07-03 22:00:25 +02:00
Marijn Suijten 94fdc70a4c
Update Vulkan-Headers to 1.3.219 (#619)
* Update Vulkan-Headers to 1.3.212

* Update Vulkan-Headers to 1.3.213

* Update Vulkan-Headers to 1.3.214

* Update Vulkan-Headers to 1.3.215

* Update Vulkan-Headers to 1.3.216

* Update Vulkan-Headers to 1.3.217

* Update Vulkan-Headers to 1.3.218

* Update Vulkan-Headers to 1.3.219

* Changelog: reorder entries chronologically based on PR ID
2022-07-03 21:54:17 +02:00
Marijn Suijten 71d45e46f7
extensions/khr: Add VK_KHR_device_group (#631) 2022-07-01 22:19:56 +02:00
Marijn Suijten 1459da47bc
extensions/khr: Implement additional Swapchain functions since Vulkan 1.1 (#629)
* extensions/khr: Reorder `Swapchain` functions to match `KhrSwapchainFn`

* extensions/khr: Implement additional `Swapchain` functions since Vulkan 1.1

These are also made available by `VK_KHR_device_group` when
`VK_KHR_swapchain` (and for certain functions only the underlying
`VK_KHR_surface` extension) is enabled.
2022-06-05 21:47:29 +02:00
Marijn Suijten 965df80cf2
Inline trivial Entry wrapper methods and impl functions (#633) 2022-06-05 20:58:50 +02:00
Marijn Suijten 85fa5425d9
extensions/khr: Add VK_KHR_device_group_creation (#630) 2022-06-05 12:32:26 +02:00
Marijn Suijten 94e750d66e
extensions/nv: Add VK_NV_coverage_reduction_mode (#617) 2022-05-10 20:35:17 +02:00
Marijn Suijten a672094c97
extensions/ext: Add VK_EXT_sample_locations (#616) 2022-05-10 20:28:14 +02:00
i509VCB e76830bdef
extensions/ext: Add VK_EXT_image_drm_format_modifier (#603) 2022-04-29 14:12:27 +02:00
Marijn Suijten 2a9a59e75c
Update Vulkan-Headers to 1.3.211 (#608) 2022-04-05 09:49:23 -07:00
Markus Siglreithmaier 3121816488
Remove experimental AMD extensions. (#607)
The extensions haven't being promoted to actual extensions within a long time frame and don't provide any value in its current state.
2022-04-04 12:36:43 +02:00
Marijn Suijten b905e16b17 Add changelog entry and bump version-metadata for Vulkan-Headers 1.3.210 2022-04-01 09:54:31 +02:00
Marijn Suijten e537e0ba9d
Release ash 0.37.0 and ash-window 0.10.0 (#600) 2022-03-23 22:04:12 +01:00
Marijn Suijten 8ae0312f03
Update Vulkan-Headers to 1.3.209 (#601) 2022-03-23 21:52:28 +01:00
Marijn Suijten 777977174a
device_diagnostic_checkpoints: Enable passing pNext-initialized structs to get_queue_checkpoint_data (#588)
To match all other functions which accept an array of to-be-initialized
structs with a `pNext` pointer that is possibly initialized by the
caller.
2022-03-23 00:03:34 +01:00
Benjamin Saunders 84cddb7383
Omit wrapper functions on Fp structs (#599)
* Omit wrapper functions on Fp structs

These wrappers contributed thousands of lines of code but offered
insignificant ergonomic benefit as the same functions are also wrapped
at a higher level and, if necessary, wrapper functions can be called
directly.

* Standardize on direct fp table access in wrapper functions
2022-03-22 23:50:18 +01:00
Steve Wooster 1cd810653c
ash-window: Make enumerate_required_extensions return &[*const c_char] (#590)
* Constify generated extension names

* Constify hand-written extension names

* Make ash-window list extensions as &[*const c_char]

This alters enumerate_required_extensions() to return the same type that
is expected by vk::InstanceCreateInfoBuilder::enabled_extension_names(),
allowing simple Vulkan apps to omit the boilerplate of mapping to an
intermediate Vec<*const c_char>.

Co-authored-by: Steve Wooster <s.f.m.wooster@gmail.com>
2022-03-22 23:47:26 +01:00
Marijn Suijten fde6f92c70
Update Vulkan-Headers to 1.3.207 (#597)
* Update Vulkan-Headers to 1.3.207

* Update Vulkan-Headers to 1.3.208
2022-03-22 23:30:41 +01:00
Marijn Suijten d180a3b655
extensions/ext: Add VK_EXT_headless_surface instance extension 2022-02-23 11:16:00 -08:00
Marijn Suijten 8d7abfb6f1
Release ash 0.36.0 and ash-window 0.9.1 (#585) 2022-02-21 21:46:34 +01:00
Marijn Suijten 157524c869
Add helper wrappers for Vulkan core 1.3 Instance and Device functions (#568)
* ash: Add function loading support for Vulkan 1.3

* ash/instance: Implement wrapper function for Vulkan 1.3 instance

* ash/device: Implement wrapper functions for Vulkan 1.3 device
2022-02-19 10:39:58 +01:00
Michael Pollind 40b572ff3a
entry: Allow querying enumerate_instance_extension_properties() by layer name (#574) 2022-02-19 10:30:35 +01:00
Marijn Suijten 955cb28d12
Update Vulkan-Headers to 1.3.206 (#563)
* Update Vulkan-Headers to 1.3.205

* Update Vulkan-Headers to 1.3.206
2022-02-19 10:18:21 +01:00
Marijn Suijten d6cb64de3d
extensions/khr: Drop _khr suffix from get_memory_fd_properties_khr (#580)
This is an erroneous suffix that's already captured in the module path
of this item, and should be omitted everywhere.  This method is the only
offender besides the experimental AMD extensions.

Fixes: 98def0a ("Add `VK_KHR_external_memory_fd` extension support (#270)")
2022-02-19 01:16:43 +01:00
Marijn Suijten b7e40117e9
Release ash 0.35.2 (#584) 2022-02-19 01:13:21 +01:00
Marijn Suijten 9df926ab3e
extensions/khr: Add VK_KHR_external_fence_win32 (#582) 2022-02-16 15:23:45 -08:00
Marijn Suijten 4fcd93016e
extensions/khr: Add VK_KHR_external_semaphore_win32 (#581) 2022-02-16 23:13:19 +01:00
Marijn Suijten c5f68eab9d
extensions/khr: Add VK_KHR_external_memory_win32 (#579) 2022-02-16 13:30:54 -08:00
Marijn Suijten b7aff3b432
extensions/ext: Add VK_EXT_extended_dynamic_state2 (#572) 2022-01-29 21:39:48 +01:00
Marijn Suijten 89ca1d03f4
extensions/khr: Add VK_KHR_copy_commands2 (#571) 2022-01-29 21:34:30 +01:00
Marijn Suijten d4d9276636
extensions/ext: Add VK_EXT_private_data (#570) 2022-01-28 17:12:42 -08:00
Marijn Suijten bb02b20339
Replace 1.2-extensions documentation links with 1.3-extensions (#569)
All these 1.2 links redirect to the 1.3 pages: spare the redirects by
specifying the right - latest - version directly.
2022-01-28 17:10:52 -08:00
Marijn Suijten 315f1f00c3
ci: Build-test documentation with warnings disallowed, and fix links (#559)
Broken links that snuck in (most recently in #530 and #537) while the
CI was not testing the documentation have also been corrected, to allow
it to succeed again (and to have proper docs in the first place).
2022-01-22 11:27:07 -08:00
Steve Wooster fbcc45fffe
Add conversions from Extent2D to Extent3D and Rect2D (#557)
These two conversions occur all the time in Vulkan applications. For
example, Extent2D -> Extent3D occurs whenever you need to make an image
the same size as a surface and Extent2D -> Rect2D occurs whenever you
fill out a scissors or render area from a surface resolution.

Co-authored-by: Steve Wooster <s.f.m.wooster@gmail.com>
2022-01-22 16:29:45 +01:00
Marijn Suijten cebfd544fc Release ash 0.35.1 2022-01-18 12:07:54 +01: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 5169862dbd
extensions/ext: Add VK_EXT_calibrated_timestamps extension (#556)
This extension can be used to correlate timestamps on the GPU timeline
(`vkCmdWriteTimestamp`, `vkCmdWriteTimestamp2KHR`) to the CPU timeline
(ie. `CLOCK_MONOTONIC` and friends).
2022-01-17 16:32:05 +01:00
Marijn Suijten 762666783a changelog: Add entries for recent PRs #533, #537, #542 2022-01-03 14:51:11 -08:00
Anna Sofie Nordstrand 8f05905ecb
extensions: Add VK_KHR_get_surface_capabilities2 (#530) 2021-12-29 14:35:25 +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 1700dcdf05 Make Debug impls optional
When disabled, this buys us a 12% reduction in buildtime.
2021-12-21 17:01:35 -08:00
Marijn Suijten 0ae56a0961
extensions: Don't check extension names for interior nuls at runtime (#522)
This name is emitted by the generator and already known to not contain
any null-characters: replace the runtime iteration+comparison (hidden
behind `from_bytes_with_nul`) and `.expect()` panic with an `unsafe`
"cast" through `from_bytes_with_nul_unchecked`, just like the
function-pointer loaders.
2021-12-22 01:38:48 +01:00
Marijn Suijten 90960efded
examples: Use c_char for pointer to raw string (#521)
On platforms like Android strings use `u8` as character-type instead of
`i8` - using the appropriate `c_char` type hides this discrepancy and
allows the examples to compile for all platforms.
2021-12-21 11:42:47 -08:00
Philippe Renon 289a57e330
extensions: make naming and layout consistent across all extensions (#494)
* extensions: Make naming and layout consistent across all extensions

breaking change:
- some extensions were exposing `instance()` instead of `device()`

includes:
- renaming function pointer member to `fns`
- moving `name()`, `fp(`), `device()`/`instance()` functions at end of file
- adding missing `device()`/`instance()` functions

see https://github.com/MaikKlein/ash/pull/493

* debug_marker: Remove unneeded `device` from `debug_marker_set_object_name()`

* extensions: Remove unneeded `instance` and `device` struct members and functions

* extensions: renamed all `fns` fields to `fp` to match `pub fn fp()` getter
2021-12-11 13:19:34 +01:00
Philippe Renon 9e14786b83
extensions: Add VK_KHR_present_wait (#493) 2021-11-19 10:39:06 +01:00
Marijn Suijten 1b4c82e1d6 Release ash 0.33.3 with Vulkan-Headers 1.2.191 2021-09-08 11:31:45 +02:00
Marijn Suijten 7ad19290d8 Release ash 0.33.2 with repeated reads if Vulkan returns VK_INCOMPLETE 2021-08-26 21:54:56 +02:00
Marijn Suijten c6842949de Release ash 0.33.1 with read_spv UB fix 2021-08-23 12:46:38 +02:00
Marijn Suijten 2c98b6f384
util: Zero-initialize result to prevent possible uninit memory read (#470)
Fixes https://github.com/MaikKlein/ash/issues/354

`io::Read::read_exact` does not receive `MaybeUninit` memory and a trait
implementation can possibly read from our uninitialized vector without
`unsafe`, which is UB.  As there is no proper solution to this problem
yet (see linked issue), our safest bet is to just take the perf-hit and
zero-initialize this vector.
2021-08-23 12:44:17 +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 14d69087cb changelog: Curate 0.32.0 release notes 2021-04-15 11:47:36 +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
Marijn Suijten fc1430ff0a changelog: Document 0.32.1 crate release 2021-04-15 11:24:11 +02:00
Marijn Suijten 2eebf989b2 changelog: Release date for 0.32.0 is 2021-03-07 2021-04-15 11:17:02 +02:00
Maik Klein 41ff55d0ca Prepare 0.32.0 release 2021-03-07 20:12:35 +01:00
Maik Klein 8d7dfee763 Release 0.31.0 2020-05-10 21:14:01 +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
Maik Klein 80f03ef00a Add changelog for 0.30.0 2020-03-22 20:27:37 +01:00
Maik Klein 07fd87b95f Release 0.29.0 2019-04-27 08:48:41 +02:00
Maik Klein 793acafe1b Bump version to 0.28.0 2019-03-10 20:32:12 +01:00
Maik Klein 9a458e7a28 Update changelog 2019-01-13 12:41:44 +01:00
Maik Klein 515f52fab9 Bump version 2018-11-16 18:45:54 +01:00
Maik Klein 2811bd49eb Update the changelog 2018-11-11 18:29:11 +01:00
Maik Klein ef5a550096 Add changelog 2017-07-09 09:13:36 +02:00