Commit Graph

81 Commits

Author SHA1 Message Date
Jason Macnak
f2e277f9e4
Adds LICENSE-* files to crate subdirectories (#1597)
... so that the license files appear in downloaded
crates.
2021-05-31 04:53:05 +07:00
Rua
2f7e7af7ee
Allow choosing the Vulkan max API version when creating Instance (#1585)
* Allow choosing the Vulkan max API version when creating Instance

* Rewrite feature handling, include all Vulkan 1.1 and 1.2 features

* Fixes

* Move features.rs to device module

* More small fixes

* Changelog
2021-05-23 23:09:50 +07:00
Ilya Lakhin
8c0630d3c8
Release 0.23.0 (#1576) 2021-05-10 21:58:23 +07:00
prataprc
116abf4d58
Collection of commits. (#1567)
* Add core instance extensions.

core extensions added as part of `vulkano::instance::InstanceExtensions`

VK_KHR_device_group_creation
VK_KHR_external_fence_capabilities
VK_KHR_external_memory_capabilities
VK_KHR_external_semaphore_capabilities
VK_KHR_get_display_properties2
VK_EXT_acquire_xlib_display
VK_EXT_debug_report
VK_EXT_direct_mode_display
VK_EXT_display_surface_counter

* export FunctionPointers::entry_points method.

Similar to PhysicalDevice.instance().pointers() export root-level
entry_points() method. This will allow applications to call vk-functions
like `vkEnumerateInstanceExtensionProperties` directly.

* heap: Add MEMORY_HEAP_MULTI_INSTANCE_BIT for MemoryHeap.

A new method is_multi_instance() method is added to `MemoryHeap` to
know whether the heap is enabled for multi-instance.

* CHANGE-LOG.
2021-05-10 21:32:08 +07:00
Rua
4f009c3c93
Convert all code to Rust 2018 edition (#1508)
* Convert to 2018 edition of Rust

* Merge branch 'master' of https://github.com/vulkano-rs/vulkano into edition2018
2021-03-31 16:20:41 +07:00
Ilya Lakhin
b39086182b
Release 0.21.0 (#1503) 2021-03-05 14:19:59 +07:00
gurchetansingh
2d60c08c10
Initial YUV and external memory support (#1467)
* vulkano: image: improve formatting

Ran cargo fmt --all.  Should we use clippy too ?

* vk_sys: add additional formats

This updates the vk formats enum to the header that's on my
system (vk 1.2-ish).

* vulkano: image: Add NV12 and YV12 support

These formats are commonly used as targets for hardware and
software video decode.  The common case is the swapchain allocator
(gralloc in the Android use case) allocates some memory, the video
stack decodes to it, and then memory can be composited by Vulkan
or sent directly to the display.

* vk_sys: update structure types

This updates the structure types to a VK 1.2-ish state.  Long term,
it makes a ton of sense to autogenerate vk-sys to make adding
additional features and enumerations easier [1].  For now, we can
hand edit.

[1] (https://github.com/vulkano-rs/vulkano/issues/89)

* vk_sys: add VK_KHR_external_memory_fd bindings

This adds some basic external memory features.  Most of these
features are core in VK1.1.

* vulkano: memory: add and use DeviceMemoryBuilder

We'll need to:

(a) Create exportable memory
(b) import from a OS descriptor to create DeviceMemory
(c) Also support dedicated allocations

The device memory API is becoming rather complicated.  Let's use
the common builder pattern to simplify this.

* vulkano: memory: implement some external features

This change is sufficient to create exportable memory and
export it.  It's only been tested on Linux platforms and depends
on Unix file descriptors, so enable it only there for now.

Import support will be added later.  Support for external buffers
and images can also be added later if someone needs it.
2021-01-09 19:02:08 +07:00
Ilya Lakhin
de01dff7c8 Vulkano version bump to 0.20.0 and vk-sys to 0.5.3 2020-12-26 19:25:09 +07:00
Cassiano Honorio da Silva
620b829bdb
Rename feature shader_f3264 to shader_float64 (#1440)
Fixes shader_f3264 device feature name
2020-11-23 17:34:02 +07:00
Travis Finkenauer
ccd22a4aa4
Convert HTTP links to HTTPS (#1397)
* Convert readme HTTP links to HTTPS

* Convert source files' URLs to HTTPS
2020-11-10 11:03:50 -06:00
Ivan Zvonimir Horvat
6f67a70fb1
1418: unsafe array; pass-by-ref (#1436) 2020-11-10 09:57:00 -06:00
Richard Diamond
cf669bb6be
Support a number of SPIRV capability related features. (#1382) 2020-06-08 21:00:56 -05:00
Rua
e4e324d632
Add properties method to Format (#1379)
* Add properties method to Format

* Documentation

* Changelog
2020-06-04 13:41:39 -05:00
Austin Johnson
eee101bc4d
publish 0.18.1 && vk-sys 0.5.2 (#1374) 2020-06-01 13:52:18 -05:00
Richard Diamond
57c545d7ab
Add support for the Physical Storage Buffer Access feature. (#1359)
This feature was recently promoted from an extension to the core spec in Vulkan 1.2. It is already supported on many recent drivers: NVidia, Mesa RADV, and AMDVLK.

Other than supporting enabling the feature and the basic buffer address query, I made no attempt to create safe interfaces for its use. Such will come later, after I've experimented with its use in Geobacter.
2020-05-15 13:26:06 -05:00
one-bit
c96309e55e
Fixed warnings (#1363)
* Fixed all warnings as of Rust 1.43.1

* Update CHANGELOG_VULKANO.md

- Fixed all warnings as of Rust 1.43.1
2020-05-12 19:57:40 -05:00
jeffw387
315f63abe5
new function to check image/device compatibility (#1339)
* new function to check image/device compatibility

* merged master to get rustfmt changes, format all
2020-05-09 19:36:20 -05:00
Ilya Lakhin
4f89414143
Dynamic Compute Shader local size (#1357)
* Exposing additional properties from the physical device

* dynamic-local-size example

* Changelog fix

* Extra whitespaces in changelog removed
2020-05-09 10:46:12 -05:00
Austin Johnson
de2ef70a77
Release 0.17 (#1323) 2020-02-09 03:51:32 -06:00
Austin Johnson
18189e0724
implement exclusive fullscreen (#1310)
* implement exclusive fullscreen

* fullscreen ext should be device ext

* add acquire/release

* require VK_KHR_get_surface_capabilities2

* fullscreen_exclusive is now an enum; explicit acquire/release methods added; FullscreenExclusiveError added to handle errors; FullscreenExclusiveLost varients added to acquire and present related errors

* add checks for double acquire/release; require AppControlled for acquire/release functions

* update examples and tests; resolve issue with try_gpu_lock() on SwapchainImage; update changelogs
2020-02-04 18:57:16 -06:00
James Lee
78284c401e Prevent building a GraphicsPipeline with a NULL handle. (#1279) 2019-11-21 01:00:06 -06:00
Austin Johnson
2e6868a0c0
Downgrade Winit back to 0.19; Release Vulkano 0.16 (#1267)
* fix after revert; release 0.16

* bump shaders version
2019-11-01 10:12:17 -05:00
pablode
6c789e392c Add support for VK_KHR_16bit_storage and VK_KHR_storage_buffer_storage_class (#1160)
* Implement support for VK_KHR_16bit_storage and VK_KHR_storage_buffer_storage_class.

This change also allows SPIR-V instructions to require device extensions.

* Remove SPIR-V capabilities with duplicate values (StorageBuffer16BitAccess and UniformAndStorageBuffer16BitAccess).

* move changelog entry to current version
2019-10-24 01:20:36 -07:00
David Partouche
dc73b1f469 Implementing VK_EXT_debug_utils (#1237)
* Switching from VK_EXT_debug_report to VK_EXT_debug_utls
2019-10-20 15:26:07 -05:00
Lucas Kent
096bb3caf3
Remove deprecated constants from vk-sys (#1144) 2018-12-28 10:39:29 +11:00
Lucas Kent
d6e313e2fe
Release vulkano 0.11.1 (#1115) 2018-11-16 23:22:59 +11:00
Lucas Kent
2cfa2a5931
Fix vulkano release (#1107) 2018-11-08 14:31:11 +11:00
Lucas Kent
52a91d8910
Release vulkano 0.11 (#1086) 2018-11-08 13:19:42 +11:00
Michael Morgan
7a11120350 Add logo to HTML documentation in other crates (#1081) 2018-10-20 10:34:32 +11:00
Lucas Kent
9ea527fa67
Silently ignore new present modes (#1079) 2018-10-18 07:39:38 +11:00
Lucas Kent
b6c4d84e61
Removed mir support (#1060) 2018-10-03 07:44:48 +10:00
Justin Ryan Hurst
29399c7acf IOS and MacOS Surface ids were not to spec (#998) 2018-07-28 15:16:57 +02:00
Pierre Krieger
7ff3e5d51f
Publish vk-sys 0.3.3 (#917) 2018-02-12 16:12:43 +01:00
Benjamin Saunders
70013d2678 Add object name setters (#895) 2017-12-13 09:50:08 +01:00
tomaka
e590f22bf2 Fix the version of vk-sys required by vulkano (#864) 2017-10-10 15:11:50 +02:00
Benjamin Saunders
3e56a917ab Minimal command buffer debug marker support (#847)
* Minimal command buffer debug marker support

* Suppress debug marker use when the extension isn't loaded

* Update CHANGELOG

* Revert "Suppress debug marker use when the extension isn't loaded"

This reverts commit 116ea5573bfbb34956f7f180659d570fc42d33e5.

* Document required extension for debug markers

* Document debug marker safety issues
2017-10-08 17:38:51 +02:00
Benjamin Saunders
054e76e67d Fix unnecessary CString heap alloc when loading pointers (#853) 2017-10-07 08:53:15 +02:00
tomaka
411b4e7546 Publish vulkano 0.6.0 (#747) 2017-08-17 14:05:43 +02:00
Nicolas Koch
3eb2d7a168 Support for VK_KHR_incremental_present (#729)
* Implement support for VK_KHR_incremental_present

The public interface is mainly extended by a new function:
swapchain::present_incremental

* Fix nits from PR

* Remove PresentRegion::to_vk

* Fix more nitpicks
2017-08-17 11:27:21 +02:00
tomaka
d55cbf04f6 Update Cargo.toml metadata (#721) 2017-08-05 11:06:13 +02:00
tomaka
0c1aaacddb Merge pull request #683 from tomaka/vk-sys-0.3
Publish vk-sys 0.3
2017-07-23 17:56:04 +02:00
Pierre Krieger
add68e5101 Publish vk-sys 0.3 2017-07-23 17:07:04 +02:00
Pierre Krieger
5370a829d2 Fix #674 2017-07-23 17:06:07 +02:00
Gabriel Majeri
d8388e52f5 Derive Copy type to work with stable Rust 2017-07-21 21:29:10 +03:00
Gabriel Majeri
38f145e67b Remove unstable #![feature] 2017-07-21 21:22:28 +03:00
Gabriel Majeri
1a61ac76ba Use untagged unions 2017-07-20 10:11:15 +03:00
Pierre Krieger
e56edae631 Add support for khr_get_memory_requirements2 2017-07-14 13:45:53 +02:00
Pierre Krieger
c8d48cc681 Add DeviceMemory::dedicated_alloc 2017-07-13 20:41:50 +02:00
Pierre Krieger
9e83984278 Publish 0.5.0 2017-07-04 14:26:41 +02:00
tomaka
69a386b04d Merge pull request #557 from tomaka/rm-gitignore
Remove old gitignore files
2017-06-27 07:47:38 +02:00