Commit graph

105 commits

Author SHA1 Message Date
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
23cbec85e9 Use BTreeMap only where absolutely necessary 2019-03-14 19:22:52 -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
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
7d5d20017b Move external tests to lib.rs 2019-03-10 12:56:51 +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
Dzmitry Malyshau
7aa30a6544 Pass constant size arrays by reference 2019-03-08 00:06:01 -05:00
Maik Klein
88b1ac077d Rename root_extends 2019-03-04 10:22:38 +01:00
Maik Klein
04dbf20371 Transform the ptr chain sample into a test case 2019-03-04 09:56:53 +01:00
Maik Klein
215511f9cf Implement ExtendXXX for multiple root create infos
if there are more than 1
2019-03-03 18:29:37 +01:00
Maik Klein
38fe16f6c7 Use repr transparent for builders 2019-03-03 14:33:19 +01:00
Maik Klein
1e13b999d7 Add some documentation to push_next 2019-02-28 10:59:46 +01:00
Maik Klein
c66ae6b77e Add lifetime to push_next 2019-02-28 10:59:46 +01:00
Maik Klein
3de2ca9a22 Implement ExtendsXXX for all builders as well 2019-02-28 10:59:46 +01:00
Maik Klein
4f7ca180f6 Implement push_next 2019-02-28 10:59:46 +01:00
Maik Klein
c46a41e1d2 Replace ExtensionChain with a simple iterator 2019-02-28 10:59:46 +01:00
Maik Klein
6d72bb547d Implement extension chaining 2019-02-28 10:59:46 +01:00
Maik Klein
e86645d233 Add extension names to the funcion pointer structs 2019-02-12 15:04:38 +01:00
Francesca Plebani
06886a034e Fix ARM build
On ARM, c_char is unsigned.
2019-01-29 14:07:20 -05:00
Matus Talcik
6497e2f58c Builder: fix [c_void] 2018-12-09 11:52:28 +01:00
Benjamin Saunders
06b9599e16 Update to latest rustfmt 2018-12-08 15:42:13 -08:00
Benjamin Saunders
c0b7d91faf Don't generate extension traits for inextensible structs 2018-11-30 18:13:54 -08:00
Benjamin Saunders
fc1625e81c Fix extension trait implementations, tweak naming
These were being implemented for the trait object of the extension
struct's own extension trait, instead of the extension struct itself.
2018-11-30 18:12:16 -08:00
Matus Talcik
1be701f853 Builder: next pattern 2018-11-22 21:54:05 +01:00
Maik Klein
d7218ef7a8 Remove explicit length type 2018-11-22 16:13:09 +01:00
Maik Klein
3aaa804abd Add a cache for bitflags because there are duplicates 2018-11-22 16:13:09 +01:00
Maik Klein
ef85a0b5f5 Add fuchsia typedefs 2018-11-22 16:13:09 +01:00
Maik Klein
3a7f811700 Generate aliases for types 2018-11-22 16:13:09 +01:00
Maik Klein
9e4f25f282 Update vk_parse to 0.2 2018-11-22 16:13:09 +01:00
msiglreith
86e273b71a Public export function pointers 2018-11-21 19:11:13 +01:00
imdone.io app user
f7381f2307 TODO comments updated by @imdoneio [ci skip] [imdone skip] 2018-11-20 11:55:06 -05:00
Matus Talcik
b71dc58efb Initial support for rustfmt 2018-11-17 19:05:28 +01:00
msiglreith
cd20cc4e37 Generate function pointer raw type definitions 2018-11-16 18:41:36 +01:00
msiglreith
424ebbad20 Export define macros 2018-11-16 18:41:36 +01:00
Matus Talcik
8a82125788 Builder pattern: Bool32 -> bool. Edge cases added 2018-11-12 23:22:16 +01:00
Maik Klein
a55cb9bd0c Merge branch 'flatten' of https://github.com/Ralith/ash into Ralith-flatten 2018-11-11 14:47:51 +01:00
Maik Klein
6beeb16a4e Merge branch 'flags-api' of https://github.com/Ralith/ash into Ralith-flags-api 2018-11-11 14:37:26 +01:00
Maik Klein
35d6bdf144 Remove format 2018-11-04 09:26:10 +01:00
Maik Klein
adf571c95c Initialize function pointers to a panicking function if it couldn't be
loaded
2018-11-03 23:37:20 +01:00
Matus Talcik
b0864e5c44 Change code function of VkShaderModule to take &[u32] according to spec 2018-10-29 13:32:17 +01:00
Matus Talcik
deb83f4b2e fix *const in some setters 2018-10-26 15:49:12 +02:00
Matus Talcik
70acea569d Handle ShaderModuleCreateInfo code properly 2018-10-24 16:00:16 +02:00
Matus Talcik
4072cc39e8 Fix filtering of _count member fields 2018-10-24 00:20:03 +02:00
Matus Talcik
358220cb85 Filter out _count members in builder pattern 2018-10-24 00:19:34 +02:00
Matus Talcik
0c70322d22 Implementation of setters 2018-10-24 00:19:06 +02:00