Commit graph

986 commits

Author SHA1 Message Date
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
Maik Klein
d667e58358 Add example 2019-03-09 19:35:38 +01:00
bors[bot]
51d693bfb9 Merge #191
191: Pass constant size arrays by reference r=MaikKlein a=kvark

Note: this is a breaking change!
Some related reading: https://lkml.org/lkml/2015/9/3/428
This has been plaguing WebRender on gfx-rs port running Windows/Vulkan.

Co-authored-by: Dzmitry Malyshau <dmalyshau@mozilla.com>
2019-03-08 08:43:30 +00: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
4c1c8aa648 Remove mut 2019-03-04 10:16:56 +01:00
Maik Klein
2ecc48388d Reformat experimental amd 2019-03-04 09:59:54 +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
d6a6aa310e Update experimental AMD extension 2019-02-28 10:59:46 +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
681eec54ec Update to 1.1.97 2019-02-28 10:59:46 +01:00
bors[bot]
c801dea0dc Merge #184
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>
2019-02-25 13:49:34 +00:00
msiglreith
2f60510c87 Add experimental AMD extensions 2019-02-24 15:10:15 +01:00
Maik Klein
f4d2f75a2b Add missing list for gfx 2019-02-15 10:10:02 +01:00
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