Commit graph

1063 commits

Author SHA1 Message Date
Maik Klein 6cd1b2227b Add resources in the readme 2019-02-15 10:08:38 +01:00
bors[bot] 337278042a Merge #186
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>
2019-02-15 08:47:33 +00:00
Graham Wihlidal 3941c762a7 Minor cleanup 2019-02-14 12:28:45 +01:00
Graham Wihlidal 658743f59b Use 1.0 in ray tracing extension except for get_properties helper function 2019-02-14 12:15:19 +01:00
Graham Wihlidal ff44b2cb16 Remove extension names from mod.rs and make all extensions use auto-generated names 2019-02-14 12:03:41 +01:00
Graham Wihlidal b253d39abe
Merge pull request #2 from MaikKlein/master
Updated from master
2019-02-14 11:46:29 +01:00
bors[bot] 93898c350f Merge #189
189: Update to 1.1.97 r=MaikKlein a=MaikKlein



Co-authored-by: Maik Klein <maikklein@googlemail.com>
2019-02-14 09:52:37 +00:00
Maik Klein 04e6e372cd Update to 1.1.97 2019-02-14 00:16:52 +01:00
bors[bot] 2619101393 Merge #188
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>
2019-02-12 18:36:33 +00:00
Maik Klein 52e9c63ecd Regenerate vk.rs 2019-02-12 15:04:47 +01:00
Maik Klein e86645d233 Add extension names to the funcion pointer structs 2019-02-12 15:04:38 +01:00
Graham Wihlidal 69527c759a Rustfmt 2019-02-11 16:21:43 +01:00
Graham Wihlidal 09ee78401f Added maintenance 1-3 extension names to khr/mod.rs and moved KHR extension names from EXT to proper place. 2019-02-11 15:44:37 +01:00
Graham Wihlidal 3a76e81d3a Delete old shader binaries 2019-02-10 23:59:57 +01:00
Graham Wihlidal a348bec1ff Deleted ray tracing example (keep this branch clean) 2019-02-10 23:58:14 +01:00
Graham Wihlidal 0ed0a06634 Added helper on RayTracing to query physical device ray tracing properties info (such as shader group handle size) 2019-02-10 23:55:31 +01:00
Graham Wihlidal 011e9e611f Added DescriptorIndexing extension (just name for now), and also added names for VK_KHR_get_memory_requirements2 and VK_KHR_get_physical_device_properties2 (both are commonly used, and required for ray tracing) 2019-02-10 23:54:44 +01:00
Graham Wihlidal f348ddc33e Progress on rt example 2019-02-10 13:38:03 +01:00
Graham Wihlidal 9b6fa860c9 Improved get_acceleration_structure_handle and keep local device handle in rt extension 2019-02-10 13:37:53 +01:00
Graham Wihlidal e10bbb6298 Stub out nv_ray_tracing example 2019-02-10 04:33:55 +01:00
Graham Wihlidal c9495df122 Implemented get_acceleration_structure_handle 2019-02-10 03:56:54 +01:00
Graham Wihlidal 458a6fba20 Implemented get_ray_tracing_shader_group_handles 2019-02-10 03:51:32 +01:00
Graham Wihlidal 1c1fa85b91 Implemented create_ray_tracing_pipelines 2019-02-10 03:45:07 +01:00
Graham Wihlidal ea66baff62 Implemented cmd_write_acceleration_structures_properties 2019-02-10 03:38:01 +01:00
Graham Wihlidal b0c554cbe5 Implemented cmd_trace_rays 2019-02-10 03:33:16 +01:00
Graham Wihlidal 5eb9f09c80 Implemented cmd_copy_acceleration_structure 2019-02-10 03:29:51 +01:00
Graham Wihlidal 58ffae64de Implemented cmd_build_acceleration_structure 2019-02-10 03:28:07 +01:00
Graham Wihlidal 04bb5de31e Implemented compile_deferred 2019-02-10 03:19:37 +01:00
Graham Wihlidal 4297ea9c61 Implemented bind_acceleration_structure_memory 2019-02-10 03:12:04 +01:00
Graham Wihlidal 1213e92687 Rust format 2019-02-10 03:12:00 +01:00
Graham Wihlidal 24da3bb446 Implemented get_acceleration_structure_memory_requirements 2019-02-10 03:03:25 +01:00
Graham Wihlidal bff6f049ea Implemented destroy_acceleration_structure 2019-02-10 02:57:42 +01:00
Graham Wihlidal 0a962b42cc Implemented NV RayTracing wrapper, and wrapped create_acceleration_structure_nv 2019-02-09 21:46:51 +01:00
Graham Wihlidal 7ffb94004d
Merge pull request #1 from MaikKlein/master
Update from master
2019-02-09 21:11:37 +01:00
bors[bot] 6602522bb4 Merge #180
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>
2019-01-29 21:25:21 +00:00
Francesca Plebani 06886a034e Fix ARM build
On ARM, c_char is unsigned.
2019-01-29 14:07:20 -05:00
Maik Klein ced4e186b5 Update extension use in README 2019-01-19 10:00:44 +01:00
Maik Klein acaf8f2b99 Bump version to 0.27.1 2019-01-13 12:41:56 +01:00
Maik Klein 9a458e7a28 Update changelog 2019-01-13 12:41:44 +01:00
Maik Klein d22d1c3f38 switch from Error::cause to Error::source 2019-01-13 12:24:34 +01:00
bors[bot] c0c7f83051 Merge #177
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>
2019-01-13 08:32:11 +00:00
Chris Butler 36f935a81a Update lazy_static version to match shared_library's 2019-01-12 21:54:12 -05:00
bors[bot] 68a1d2aaa2 Merge #175
175: Add event functions r=MaikKlein a=MaikKlein

Fixes https://github.com/MaikKlein/ash/issues/174


Co-authored-by: Maik Klein <maikklein@googlemail.com>
2019-01-11 08:32:51 +00:00
Maik Klein 51ae6fc63b
Merge pull request #176 from MaikKlein/appveyor
Add rustup to appveyor
2019-01-11 09:30:53 +01:00
Maik Klein 37685133b2 Add rustup to appveyor 2019-01-11 09:10:36 +01:00
Maik Klein 4c4df6c446 Bump version to 0.27.0 because there was a breaking change 2019-01-10 22:54:31 +01:00
Maik Klein 6d2fe02bb5 Bump version to 0.26.3 2019-01-10 22:37:55 +01:00
Maik Klein 6e5029cac9 Add command events 2019-01-10 22:34:53 +01:00
Maik Klein 74ac8f3ac4 Add event function 2019-01-10 22:28:59 +01:00
bors[bot] a9b5b731c7 Merge #173
173: Address validation error r=MaikKlein a=MaikKlein



Co-authored-by: Maik Klein <maikklein@googlemail.com>
2018-12-09 21:30:49 +00:00