Commit graph

1000 commits

Author SHA1 Message Date
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
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