Commit graph

997 commits

Author SHA1 Message Date
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
Maik Klein 813e6a836e Reformat 2018-12-09 22:24:11 +01:00
Maik Klein 0b68c25801 Address validation error 2018-12-09 22:13:08 +01:00
bors[bot] 25df12f1ce Merge #169
169: Issue 142 r=MaikKlein a=coolmedium

Hey here is an attempt to address #142 .  

I have used builders in cases where a builder method accepts a structure that sets more than one struct field (e.g. fields like `x_count` and `p_to_some_x`).  Otherwise I have usually used `.. Default::default()` when doing so would save typing. 

If there is a preferred way to approach this I'm happy to make any changes.

Also, for creating shader modules I have added `examples::bytes_to_u32_vec` to convert the current shader code into a format suitable for passing to the `vk::ShaderModuleCreateInfo::code`.  It  uses `std::mem::transmute` and is based on the code for `u32::from_ne_bytes` in nightly. I have only tested this on Linux. 



Co-authored-by: colin <colin@coolmedium.games>
2018-12-09 21:02:11 +00:00
colin f0251c157a inlining slices when on Device methods 2018-12-09 14:33:21 -06:00
colin 5422a8032d again, added use std::ptr; to lib.rs 2018-12-09 13:52:03 -06:00
colin 9fcd93b7b2 rust fmt 2018-12-09 13:41:23 -06:00
colin 752fc1f1ee missed some premature .build() calls! 2018-12-09 13:35:48 -06:00
colin ca651f07cb rustfmt 2018-12-09 08:01:13 -06:00
colin bb54ae4c5a refactored to use util::read_spv 2018-12-09 08:00:55 -06:00
colin 59dfc6e216 Merge branch 'master' into issue-142 2018-12-09 07:47:29 -06:00
bors[bot] 91e6eed93a Merge #172
172: Builder: fix &'a [c_void] to &'a [8u] r=MaikKlein a=MatusT

Fix https://github.com/MaikKlein/ash/issues/155. There is a lot of noise because I already used 1.0.0 stable version of rustfmt. 

Probably merge the https://github.com/MaikKlein/ash/pull/171 first and I'll rebase then.

Co-authored-by: Matus Talcik <matus.talcik@outlook>
2018-12-09 11:08:42 +00:00
Matus Talcik 6497e2f58c Builder: fix [c_void] 2018-12-09 11:52:28 +01:00
bors[bot] 43eabee68a Merge #170
170: SPIR-V reading helper r=MaikKlein a=Ralith

SPIR-V is defined in terms of 4-byte words and does not have a defined endianness, and compiler and target endianness may differ. Furthermore, Vulkan seems to require SPIR-V supplied to the implementation to be 4-byte-aligned. As a result, reading SPIR-V in a safe and portable fashion is error-prone.

So far we have largely shied away from including nontrivial helper code in ash, but arguably most portable code using ash will want this function. Do we want to break precedent? Or should we introduce a separate, optional, utility crate for code that doesn't directly wrap some part of Vulkan?

Co-authored-by: Benjamin Saunders <ben.e.saunders@gmail.com>
2018-12-09 08:19:02 +00:00
Maik Klein 813c33d3d1 Don't build tmp branches 2018-12-09 09:11:19 +01:00
Maik Klein 7800cc5efc Add bors 2018-12-09 09:05:32 +01:00
Maik Klein 65040ecbea
Merge pull request #171 from Ralith/reformat
Update to latest rustfmt
2018-12-09 08:48:43 +01:00