184: Experimental AMD extensions r=MaikKlein a=msiglreith
Addresses https://github.com/MaikKlein/ash/issues/178#issuecomment-457942089
Not fully supports all parts of the APIs, just trying to get some general feedback if this meets the expected structuring.
Co-authored-by: msiglreith <m.siglreith@gmail.com>
186: Ray tracing support r=MaikKlein a=gwihlidal
This PR adds support for VK_NV_ray_tracing! (and initial support for VK_EXT_descriptor_indexing, but more support coming for that).
One piece I'm unsure if you have a more suggested approach is what I added to ext/mod.rs for names (both of those extensions are very commonly used, and also required for ray tracing). Maybe there should be a names.rs or something which can implement a static string function for all names that don't warrant their own extension struct?
I have a local example I've been working on that has been testing against this code, as well as support for descriptor indexing. Originally, I was adding an nv_ray_tracing.rs example alongside triangle and texture, but ray tracing requires some specific extensions and also it doesn't need frame bindings, render states, etc. Additionally, this example only works on NV and with a Turing-class GPU, so I'm unsure if it should co-exist with the basic examples? Because of this, I'm going to first start with a fresh example and just get working to show everything needed - we can chat about merging it in after if desired.
These changes + my upcoming ones should take care of both VK_NV_ray_tracing and VK_EXT_descriptor_indexing from https://github.com/MaikKlein/ash/issues/178
Co-authored-by: Graham Wihlidal <graham@wihlidal.ca>
188: Generate extension names r=MaikKlein a=MaikKlein
Adds extension names to the function pointer structs.
`vk::KhrSwapchain::name()`
Currently Rust doesn't support `CStr` as associated consts, so functions have to be used for now.
Co-authored-by: Maik Klein <maikklein@googlemail.com>
180: Fix build on ARM r=MaikKlein a=francesca64
`CStr::from_ptr` takes a `*const c_char`, which is not synonymous with `*const i8`. On ARM in particular, `c_char` is unsigned.
Co-authored-by: Francesca Plebani <francesca@brainiumstudios.com>
177: Update `lazy_static` version to match `shared_library`'s r=MaikKlein a=Chris--B
`shared_library` uses a flexible "`1`" for its `lazy_static` lib. By following suit, `ash` can avoid duplicate versions of `lazy_static` in transient dependencies builds.
I tested this by building `ash`: everything built fine.
Co-authored-by: Chris Butler <chrisbutler296@gmail.com>