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
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
Benjamin Saunders
4e8090f0bb
Replace version macros with const fns
2019-10-05 11:16:35 -07: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
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
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
90538a05c0
Add docs to the build method
2019-03-20 10:45:17 +01:00
Aaron Loucks
584a3bb5da
The doc parameter of define_handle is now optional
2019-03-17 12:54:26 -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
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
04e6e372cd
Update to 1.1.97
2019-02-14 00:16:52 +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
f60cc9e532
Update vk.xml to spec 1.1.92
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
Maik Klein
5e2f231cf2
wl_* types are not pointers
2018-10-23 15:50:47 +02:00
Benjamin Saunders
cd394db60f
Wrap function pointers in Option since they might be null
2018-10-08 17:34:40 -07:00
Benjamin Saunders
d4789768a6
Fix nonsense Debug impl on non-char static arrays
2018-10-07 10:17:48 -07:00
Benjamin Saunders
d78afd87dd
Flatten vk.rs module structure and use f32
2018-09-29 11:21:56 -07:00
Benjamin Saunders
aa171d405a
More traits for dispatchable handles
2018-09-16 12:18:10 -07:00
Benjamin Saunders
0446b59873
More consistent names in flags API
...
Improves consistency with other newtypes and with bitflags.
2018-09-16 12:08:14 -07:00
Gabriel Majeri
fd5d89f2b6
Remove libc usage
2018-08-28 20:01:16 +03:00
Gabriel Majeri
b722b0f3a9
Map all integer types to Rust types
2018-08-25 14:09:44 +03:00
Gabriel Majeri
0786d71b39
Fix Vulkan version macros
2018-08-25 10:51:57 +03:00
Maik Klein
898e9791b7
Merge pull request #110 from MatusT/generator
...
Default trait: set pointers to std::ptr::null()/null_mut()
2018-08-23 07:18:21 +02:00
Maik Klein
9edecfd476
Merge pull request #108 from GabrielMajeri/entry-1.1
...
Make `enumerate_instance_version` an `Entry` function
2018-08-23 07:13:08 +02:00
Matus Talcik
7e505347f4
Default trait: set pointers to std::ptr::null()/null_mut() instead of zeroed
2018-08-22 22:53:17 +02:00
Gabriel Majeri
15839ddc4e
Move enumerate_instance_version to Entry
...
Also adds `EntryV1_1` trait
# Conflicts:
# ash/src/version.rs
2018-08-22 10:24:50 +03:00
Benjamin Saunders
a0424596a5
More robust Display for flags types
...
Fixes strange behavior if a Vulkan flags constant setting multiple bits
is defined prior to that which sets only one of those bits.
2018-08-21 21:16:08 -07:00
Benjamin Saunders
d5666554fc
Expose conversions between enums and raw values
2018-08-20 23:56:33 -07:00
Maik Klein
e546fbbb5d
[Fix] BitPos can be negative
2018-08-20 09:55:41 +02:00
Maik Klein
8521f01488
Switch to manual_derives
2018-08-20 07:32:30 +02:00
Benjamin Saunders
6738c4c01c
impl Display for constants
2018-08-19 20:13:02 -07:00
Maik Klein
c4e4ab8fc2
Temporary implement Hash and PartialEq for certain types that only
...
contain primtive types
2018-08-19 10:10:11 +02:00
Brian Merchant
21a4eef1f8
pin vk-parse to crates.io
2018-08-17 12:26:32 -07:00
Benjamin Saunders
6e54dd346e
Introduce Handle trait
2018-08-04 12:22:09 -07:00
Tim
92d0541170
Change type of TRUE
and FALSE
to Bool32
2018-08-03 15:39:25 +02:00
Tim
2256c431be
Use repr(transparent) where possible and apply rustfmt to those files
2018-08-03 12:34:14 +02:00
Maik Klein
a6d5a124df
Rename constants in the example and inside static arrays
2018-08-01 09:22:28 +02:00
Maik Klein
33a0eee190
Remove "VK" from constants
2018-08-01 09:12:39 +02:00
Maik Klein
89dffac854
Remove useless println
2018-08-01 09:10:41 +02:00
Maik Klein
666e5628ac
Remove vendor ext from vendor constant variants
2018-08-01 08:51:50 +02:00
Maik Klein
197b06b0d8
Fix: Some *const pointers should have been *mut pointers
2018-07-31 14:17:24 +02:00
Maik Klein
2921a03638
Fix repeating name in constants
2018-07-31 13:44:22 +02:00
Maik Klein
56bf57acf5
Fix *const *const ptr
2018-07-31 13:30:35 +02:00
Maik Klein
f04df1e1df
Vulkan-Headers
2018-07-31 10:51:44 +02:00
Maik Klein
1eea8ab1ef
Remove --force
2018-07-31 06:37:09 +02:00
Maik Klein
7201e78674
Don't implement Default for handles
2018-07-30 20:23:25 +02:00
Maik Klein
37f9f98297
Add extension feature constants
2018-07-30 20:06:00 +02:00
Maik Klein
aeb4ebea51
Refactor generate_extension
2018-07-30 19:53:12 +02:00
Maik Klein
773c64cde1
Implement automatic derive for Debug
2018-07-30 12:50:51 +02:00
Maik Klein
b2098bd942
Cleanup from clippy
2018-07-30 08:54:03 +02:00
Maik Klein
2623e23f77
Properly add the vulkan headers submodule
2018-07-29 23:16:42 +02:00
Maik Klein
d267044765
Remove folder that should be a submodule
2018-07-29 22:48:40 +02:00
Maik Klein
65f4b7584c
Add submodule
2018-07-29 22:46:21 +02:00
Maik Klein
3cacb4a00a
Add support for extension constants
2018-07-29 22:39:45 +02:00
Maik Klein
207f468f4b
Switch to Vulkan-Headers
2018-07-29 22:39:21 +02:00
Maik Klein
1a3094d4c2
Add extensions
2018-07-21 12:56:16 +02:00
Maik Klein
3fc04b77a6
Abstract over constants
2018-07-11 13:18:22 +02:00
Maik Klein
a9bf74cebf
Remove unnecessary println
2018-07-09 09:25:37 +02:00
Maik Klein
f65c62dbaa
Implement Error for the new Result
2018-07-09 09:24:18 +02:00
Maik Klein
72f1cdf6ad
Transform Bitflags and Enums to constants
2018-07-09 08:49:28 +02:00
Maik Klein
fb13cc402e
Add extension structure type constants to StructureType
2018-07-07 14:49:17 +02:00
Maik Klein
e6e8bbd91b
Successfully replace the old vk.rs file
2018-07-07 12:54:31 +02:00
Maik Klein
21e934d5b1
Add unions
2018-07-07 10:43:44 +02:00
Maik Klein
4584a8af2a
Add custom Result impl
2018-07-07 10:43:05 +02:00
Maik Klein
9f14e404d7
Impl cexpr
2018-06-24 12:09:37 +02:00
Maik Klein
886d0f0c96
Use constants for bitflags
2018-06-05 17:46:57 +02:00
Maik Klein
dc378d7b9f
Move from vkxml to vk-parse
2018-06-05 17:46:57 +02:00
Maik Klein
bfed51f8d3
Save
2018-06-05 17:46:32 +02:00
Maik Klein
b47b20023e
Generate bitmasks
2018-06-05 17:46:32 +02:00
Maik Klein
86068db713
Add ptr types
2018-06-05 17:46:32 +02:00
Maik Klein
9d31e95f94
Add function pointer calls
2018-06-05 17:46:32 +02:00
Maik Klein
b622fd7993
Add clone
2018-06-05 17:46:32 +02:00
Maik Klein
2c9d4ed71d
Better version idents
2018-06-05 17:46:32 +02:00
Maik Klein
6691e7e79f
Remove vk:: prefix for types
2018-06-05 17:46:32 +02:00
Maik Klein
be08103d1d
Init generator
2018-06-05 17:46:32 +02:00