Commit graph

883 commits

Author SHA1 Message Date
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
bors[bot] 19771a8200 Merge #212
212: Fix black screen for examples on macOS platform r=MaikKlein a=unknownue

The memory types may vary between different versions of MoltenVK.
This solution just changes all the memory request flags to both `HOST_VISIBLE` and `HOST_COHERENT` to fix the delay of memory data transfer.

Co-authored-by: unknownue <usami-ssc@protonmail.com>
2019-05-20 16:36:38 +00:00
unknownue 9a6afac6ea Fix black screen for examples on macOS platform 2019-05-20 21:28:38 +08:00
bors[bot] be5e233545 Merge #211
211: Return VkResult from get_physical_device_surface_support r=MaikKlein a=cormac-obrien

Fixes #185

Co-authored-by: Mac O'Brien <cormac@c-obrien.org>
2019-05-18 22:04:53 +00: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
Felix Rabe 77fff855d3 Vulkano is now vulkano-rs/vulkano 2019-05-11 08:09:12 -07:00
Felix Rabe db26cd20bc Typo 2019-05-09 16:46:58 -07:00
Maik Klein b5bf197998
Merge pull request #206 from felixrabe/patch-1
Fix broken link
2019-05-09 21:55:36 +02:00
Felix Rabe e1d6f0dd31
Fix broken link 2019-05-09 21:49:51 +02:00
bors[bot] 13a1a3f1b7 Merge #201
201: Derive `Clone` for `InstanceError` and `LoadingError` r=MaikKlein a=koute



Co-authored-by: Jan Bujak <j@exia.io>
2019-04-29 19:43:42 +00: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
bors[bot] 61d1049f6f Merge #199
199: Idiomatic Debug impls for enums and bitflags r=MaikKlein a=Ralith

Improves consistency with Rust idioms. In particular, readability of panic messages arising from unwrapped `VkResult`s is vastly improved.

Co-authored-by: Benjamin Saunders <ben.e.saunders@gmail.com>
2019-04-27 06:28:16 +00: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
Benjamin Saunders c1b540ac96
Improve temporary lifetimes rules in readme
Co-Authored-By: MaikKlein <maikklein@googlemail.com>
2019-03-22 11:00:56 +01:00
bors[bot] 6015cdc820 Merge #194
194: Add Khronos doc links and other ergonomic cleanup r=MaikKlein a=aloucks

* 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

Co-authored-by: Aaron Loucks <aloucks@cofront.net>
2019-03-22 09:47:08 +00:00
Aaron Loucks d52f2c9b3e Reverting changes to Result's Display impl 2019-03-20 21:19:49 -04:00
Maik Klein d6ba3f9a16 Add lifetime of temporaries 2019-03-20 18:31:21 +01:00
Maik Klein 5f09e83023 Remove unnecessary function body 2019-03-20 10:48:32 +01:00
Maik Klein 919cedd958 Regenerate vk.rs 2019-03-20 10:45:48 +01:00
Maik Klein 90538a05c0 Add docs to the build method 2019-03-20 10:45:17 +01:00
Maik Klein bd2f990100 Rewrite builder in the readme 2019-03-20 10:37:55 +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 f1fd35350c Convert khronos_link! into a function 2019-03-16 13:22:25 -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
bors[bot] 57859ba79d Merge #193
193: Fix struct generation with constant size arrays r=MaikKlein a=aloucks

PR #191 introduced a bug into the generator where constant sized array struct fields were generated as slices. This PR adds a flag to `type_tokens` that will revert that behavior while still generating FFI function signatures with pointers instead of fixed sized arrays (e.g. for `set_blend_constants`).

In addition, all instances of `HashMap` and `HashSet` have been replaced with `BTreeMap` and `BTreeSet`, which makes the generation of `vk.rs` idempotent for the same `vk.xml` input. This should obviate the need for #130 and make it much easier to see how changes to the generator or `vk.xml` affect the generated output.



Co-authored-by: Aaron Loucks <aloucks@cofront.net>
2019-03-15 08:40:32 +00:00
Aaron Loucks 23cbec85e9 Use BTreeMap only where absolutely necessary 2019-03-14 19:22:52 -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
Maik Klein bf29ebb39d Replace root create info with root_struct 2019-03-09 19:51:23 +01:00