Commit graph

378 commits

Author SHA1 Message Date
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
Maksym Pavlenko
0b689273c6 Support VK_KHR_push_descriptor (#241)
* Support VK_KHR_push_descriptor

* Accept slice in cmd_push_descriptor_set
2019-12-01 11:09:21 +01:00
Steve Wooster
54e7097dc7 Make more structs derive PartialEq/Eq/Hash (#248)
Adds equality-related traits to VkClearRect, VkOffset2D, VkOffset3D,
VkRect2D and VkSurfaceFormatKHR. Fixes a typo preventing said traits
from being applied to VkExtent2D.
2019-11-17 11:49:09 +01:00
Benjamin Saunders
21c65096e0 Return VkResult<bool> from get_fence_status (#246)
Makes it easier not to ignore actual errors.
2019-11-03 19:18:14 +01:00
Eric Hegnes
7a997f1b52 Add VK_KHR_display extension support (#247)
* Add `VK_KHR_display` extension support

* Prefer `mem::MaybeUninit` over `mem::zeroed`

See
[rfc#1892](https://github.com/rust-lang/rfcs/blob/master/text/1892-uninitialized-uninhabited.md)
for details.
2019-11-03 19:17:41 +01:00
Maik Klein
e67df2650a
Update VulkanHeaders to 1.1.117 (#222)
* Update VulkanHeaders to 1.1.117

* Mark Ggp definitions as experimental

* Fix is_version

* Switch to 1.1.117
2019-10-20 18:11:13 +02:00
Maik Klein
855068323d
Address all the clippy lints (#233)
* Fix literals in vk.rs

* Address all the other clippy lints in ash

* Module level clippy lint

* More lints

* Make hashmaps generic for clippy

* Remove unused macro import
2019-10-20 17:18:40 +02:00
bors[bot]
f935337aa8
Merge #240
240: Replace version macros with const fns, test cleanup r=MaikKlein a=Ralith



Co-authored-by: Benjamin Saunders <ben.e.saunders@gmail.com>
2019-10-06 10:43:12 +00:00
Benjamin Saunders
8c0ece9ef8 Safer compile-pass test 2019-10-05 11:16:35 -07:00
Benjamin Saunders
4e8090f0bb Replace version macros with const fns 2019-10-05 11:16:35 -07:00
Nils Petter Skålerud
b989c4e0c2 Implemented interface for exposing raw function pointers in extensions.
Signed-off-by: Nils Petter Skålerud <np_skalerud@hotmail.com>
2019-08-28 19:36:32 +02:00
Nils Petter Skålerud
855143b93b Started on proposal on interface to expose raw function pointers for extensions.
Added raw_fp() to Surface and Swapchain
Àdded instance_handle() to Surface
Added device_handle() to Device

Signed-off-by: Nils Petter Skålerud <np_skalerud@hotmail.com>
2019-08-27 00:50:00 +02:00
bors[bot]
6d7e4bf120 Merge #215
215: Replace mem::uninitialized with mem::zeroed r=MaikKlein a=aloucks

Fixes #214

Co-authored-by: Aaron Loucks <aloucks@cofront.net>
2019-06-01 20:43:14 +00:00
Aaron Loucks
0f9c737e66 Use ptr::null_mut for void pointer initialization 2019-05-26 18:21:24 -04:00
bors[bot]
455adc6c1a Merge #216 #217
216: Update to 2018 edition r=MaikKlein a=aloucks

Fixes #204 

217: Make handle and bitflags constructor functions const r=MaikKlein a=aloucks

Fixes #187

Co-authored-by: Aaron Loucks <aloucks@cofront.net>
2019-05-26 21:21:57 +00:00
bors[bot]
d3bc0821c5 Merge #213
213: Expose get_physical_device_*_presentation_support_khr r=MaikKlein a=cormac-obrien

Fixes #197

Co-authored-by: Mac O'Brien <cormac@c-obrien.org>
2019-05-26 21:15:47 +00:00
Aaron Loucks
fb982fe419 Make handle and bitflags constructors functions const
Fixes #187
2019-05-25 16:00:15 -04:00
Aaron Loucks
634b618852 Run cargo fmt 2019-05-25 15:38:28 -04:00
Aaron Loucks
1ba1d46eb2 Update generator and examples to edition 2018 2019-05-25 15:34:18 -04:00
Aaron Loucks
284043b605 Update to 2018 edition 2019-05-25 15:25:00 -04:00
Aaron Loucks
bd69ab969c Replace mem::uninitialized with mem::zeroed
Fixes #214
2019-05-25 15:13:17 -04:00
Mac O'Brien
9f4863ea15 Expose get_physical_device_*_presentation_support_khr
Fixes #197
2019-05-20 12:55:50 -05:00
Mac O'Brien
9139ebfd95 Formatting pass 2019-05-18 16:09:12 -05:00
Mac O'Brien
90d7218bda Return VkResult from get_physical_device_surface_support
Fixes #185
2019-05-18 15:56:26 -05:00
Jan Bujak
b1ff5de4c3 Derive Clone for InstanceError 2019-04-28 00:38:13 +02:00
Jan Bujak
d7c412bca5 Derive Clone for LoadingError 2019-04-28 00:37:58 +02:00
Maik Klein
07fd87b95f Release 0.29.0 2019-04-27 08:48:41 +02:00
Benjamin Saunders
bb6427d693 Idiomatic Debug impls for enums and bitflags
Improves consistency with Rust idioms. In particular, readability of
panic messages arising from unwrapped `VkResult`s is vastly improved.
2019-04-23 19:41:17 -07:00
bors[bot]
775a7d035d Merge #196
196: Rewrite builder in the readme r=MaikKlein a=MaikKlein



Co-authored-by: Maik Klein <maikklein@googlemail.com>
Co-authored-by: Benjamin Saunders <ben.e.saunders@gmail.com>
2019-03-22 12:03:11 +00:00
Aaron Loucks
d52f2c9b3e Reverting changes to Result's Display impl 2019-03-20 21:19:49 -04:00
Maik Klein
919cedd958 Regenerate vk.rs 2019-03-20 10:45:48 +01:00
Aaron Loucks
584a3bb5da The doc parameter of define_handle is now optional 2019-03-17 12:54:26 -04:00
Aaron Loucks
c400af7f32 LoadingError and InstanceError now only format their inner value
Addressing PR feedback
2019-03-16 14:55:18 -04:00
Aaron Loucks
ac4e38a3d9 Remove deprecated method impls for std Error 2019-03-16 13:25:21 -04:00
Aaron Loucks
e4bcda2fec Disable doc tests that load vulkan
AppVeyor doesn't have the a driver installed.
2019-03-16 13:22:25 -04:00
Aaron Loucks
adb194891f Add Khronos doc links and other ergonomic cleanup
* Khronos doc links are now automatically generated in vk.rs
* Added doc links to all other non-generated functions
* Implemented std::error::Error for LoadingError
* Made EntryCustom public in addition to the Entry typedef so that
  rustdoc no longer ignores it
* Moved Entry::new into EntryCustom (non-breaking)
* Added EntryCustom::try_enumerate_instance_version. The EntryV1_1 trait
  is not implemented for any type. Even if it were, the function would
  panic for Vulkan 1.0 implementations
* Added entry and instance creation example to lib docs
* Updated the Display impl for vk::Result so that it matches
  other bitmask and enum conventions
* Removed lazy_static dependency because it was no longer being
  referenced
2019-03-16 13:22:24 -04:00
Aaron Loucks
b570edcee2 Add doc links for all non-generated files 2019-03-16 13:22:24 -04:00
Aaron Loucks
7555816b58 Generate doc links for all structs and functions 2019-03-16 13:22:24 -04:00
Aaron Loucks
ede9ed68e0 Add test for constant sized arrays 2019-03-13 21:01:11 -04:00
Aaron Loucks
71ab88531e Fix struct generation with constant sized arrays 2019-03-13 17:50:04 -04:00
Aaron Loucks
659b10c5ae Make vk.rs generation idempotent and regenerate
All instances of HashMap and HashSet have been replaced with
BTreeMap and BTreeSet. Repeated generation of vk.rs results
in the same output given the same vk.xml and generator.

Note that this commit still contains the struct generation bug
introduced in PR #191. All structs with fixed sized arrays
are currently generated as slices.
2019-03-13 17:25:29 -04:00
Maik Klein
793acafe1b Bump version to 0.28.0 2019-03-10 20:32:12 +01:00
bors[bot]
6672f53ee8 Merge #183
183: [WIP] Implement extension chaining r=MaikKlein a=MaikKlein

This is only a proof on concept right now. I'll finish it up next week.

What are your thoughts? Right now this requires a cast from `*const` to `*mut`.

Co-authored-by: Maik Klein <maikklein@googlemail.com>
2019-03-10 19:07:54 +00:00
Maik Klein
cbc96b27b9 Update experimental builders 2019-03-10 12:56:51 +01:00
Maik Klein
7d5d20017b Move external tests to lib.rs 2019-03-10 12:56:51 +01:00
Maik Klein
2d730cdf65 Add ptrchain external test file 2019-03-09 19:52:25 +01:00
Maik Klein
1744159dfd Move ptr chain tests out of the generator 2019-03-09 19:51:23 +01:00
Maik Klein
c8c8f69a7c next can contain a pointer chain and we need to correct insert it. 2019-03-09 19:51:23 +01:00