Commit graph

994 commits

Author SHA1 Message Date
Maik Klein fc57fdf94f
Merge pull request #234 from Didgy74/master
Expose raw function pointers in extensions
2019-08-29 09:17:27 +02: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] 9838cf9566 Merge #220
220: Aloucks fix example asset loading r=MaikKlein a=MaikKlein

Closes #219 

Co-authored-by: Aaron Loucks <aloucks@cofront.net>
Co-authored-by: maik <maik.klein@embark-studios.com>
2019-06-23 10:39:06 +00:00
maik 13398b0127 Avoid allocation for spirv shaders 2019-06-23 12:34:47 +02:00
Aaron Loucks 1b75f9eb5d Fix shader and texture data loading in examples
Load the example shader and texture files with `include_bytes!` so
that they can be run from the root project directory. Previously,
`cargn run --bin <EXAMPLE>` could only be run from the `examples`
directory.
2019-06-08 01:17:56 -04: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
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