309 Commits

Author SHA1 Message Date
Dzmitry Malyshau
a9cfde1d9d Fixed pipeline barriers that are not transitions 2019-08-21 13:11:46 -04:00
Dzmitry Malyshau
1d36203c9a Raw window handle support instead of winit 2019-08-20 23:41:14 -04:00
bors[bot]
9c2019478a Merge #298
298: Fix cbindgen flags r=grovesNL a=kvark



Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
2019-08-20 23:24:57 +00:00
bors[bot]
150d2261b3 Merge #299
299: Rename buffer to encoder in wgpu_command_buffer_copy_* functions r=kvark a=yanchith

This also regenerates `wgpu.h` and updates uses of `wgpu_command_buffer_copy_buffer_to_buffer` in `compute/main.c`.

EDIT: all good...
~Note that I couldn't regenerate `wgpu-remote.h` because of the following cbindgen error:~

```
ERROR: Cannot find a mangling for generic path GenericPath { path: Path { name: "Adapter" }, export_name: "Adapter", generics: [Path(GenericPath { path: Path { name: "Backend" }, export_name: "Backend", generics: [], ctype: None })], ctype: None }. This usually means that a type referenced by this generic was incompatible or not found.
```

Should we investigate before merging? Maybe I am just using an unlucky nightly?

Closes: #250 

Co-authored-by: yanchith <yanchi.toth@gmail.com>
2019-08-20 20:15:32 +00:00
yanchith
3abaed36c3 Rename buffer to encoder in wgpu_command_buffer_copy_* functions
This also regenerates `wgpu.h` and updates uses of
`wgpu_command_buffer_copy_buffer_to_buffer` in `compute/main.c`
2019-08-20 21:43:49 +02:00
Dzmitry Malyshau
0296e82fab Fix cbindgen flags 2019-08-20 14:59:17 -04:00
yanchith
f7418422f9 Update rendy-memory and rendy-descriptor to 0.4 from crates.io 2019-08-20 17:53:09 +02:00
Joshua Groves
8d8c670da1 Manually expand ID macros 2019-08-20 09:08:05 -02:30
Dzmitry Malyshau
f30cb20508 Make winit truly optional 2019-08-17 23:37:16 -04:00
Rukai
460c90e8e2 Fix sample_mask field 2019-08-17 23:51:25 +10:00
Dzmitry Malyshau
f82ceba3c2 Minor renames to address the review comments 2019-08-16 22:36:30 -04:00
Dzmitry Malyshau
37afa0d98a Update API according to the upstream spec
Includes changes in texture view creation, enumeration mapping,
binding types, and more.
2019-08-15 23:24:35 -04:00
bors[bot]
ab0ba193ce Merge #284
284: Add start_slot parameter r=kvark a=danaugrs

A first attempt to fix https://github.com/gfx-rs/wgpu/issues/215.

Co-authored-by: Daniel Salvadori <danaugrs@gmail.com>
2019-08-15 20:28:29 +00:00
Daniel Salvadori
ec72adc7dd Add start_slot parameter 2019-08-15 10:59:02 -03:00
Dzmitry Malyshau
d37452ff27 Force pipeline barriers between unordered usages 2019-08-14 10:35:40 -04:00
Dzmitry Malyshau
1ce7957e0e Fix dynamic stencil values 2019-08-12 16:44:54 -04:00
Rukai
5763285e40 Remove pod add read_spirv 2019-08-12 20:30:31 +10:00
Rukai
e61b16f7ed Update to gfx hal 0.3 2019-08-11 09:39:52 +10:00
Fabio Krapohl
6fee18f6f9 remove end pass return value and fix examples 2019-08-10 22:30:24 +02:00
Yanchi Toth
186fbeec36 Validate bind group buffer ranges (#268)
* Validate bind group buffer range

The bound buffer range must fit in the the buffer size.
2019-08-07 11:13:57 -04:00
David
074b1d7dee Use extend_from_slice instead of copy_from_slice 2019-08-05 07:40:06 +02:00
Svenn-Arne Dragly
cd45aed0f0 Add support for indirect dispatch 2019-07-31 21:04:03 +02:00
bors[bot]
734245be94 Merge #247
247: Add support for indirect drawing r=kvark a=dragly



Co-authored-by: Svenn-Arne Dragly <dragly@cognite.com>
2019-07-30 15:22:00 +00:00
Svenn-Arne Dragly
92288e2988 Add support for indirect drawing 2019-07-30 09:18:54 +02:00
Dzmitry Malyshau
e42fb0ed44 Run-time lock protection against double root 2019-07-23 23:46:32 -04:00
Dzmitry Malyshau
41d0ce14d6 Rebind with proper dynamic offsets 2019-07-22 00:16:29 -04:00
Lucas Kent
1c88c3469d Update parking_lot version 2019-07-19 18:13:07 +10:00
bors[bot]
32399cff8a Merge #245
245: Make `PresentMode` configurable. r=kvark a=Yatekii



Co-authored-by: Noah Hüsser <yatekii@yatekii.ch>
2019-07-17 00:47:08 +00:00
Noah Hüsser
c5c7092d9c Make PresentMode configurable
Disable vsync

Revert accidential hardcode of num_frames

Make the PresentMode configurable

Adapt examples
+ adjust style according to @kvrak

Adher to @kvarks wishes for style.

Examples build.

Fix unnecessary ampersand.
2019-07-11 18:58:44 +02:00
bors[bot]
183058d618 Merge #237
237: Enforce the HUB lock order r=grovesNL a=kvark

Fixes #66
cc @jrmuizel @m4b

Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
2019-07-05 03:27:11 +00:00
Dzmitry Malyshau
1ed15f94dc Add some more comments about Access and Token' 2019-07-04 23:02:22 -04:00
John W. Bruce
25834b0312 Derive Debug for All Remaining Types
With gfx-hal 0.2.1 and the various backend releases on 2019-06-28, all
of the gfx-hal types that wgpu depends on implement Debug. Thus, some
types that could not derive Debug in #216 can now derive Debug.

This patch also adds Debug implementations for a few types that were
recently added to wgpu.

Fixes #76.
2019-07-04 17:49:21 -07:00
Dzmitry Malyshau
6085dcf33b Enforce the HUB lock order 2019-07-04 14:43:54 -04:00
bors[bot]
8af0fa824b Merge #244
244: Fix bind groups set on a compute encoder r=kvark a=kvark

Fixes #243

Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
2019-07-03 14:23:42 +00:00
Dzmitry Malyshau
14d0a24f81 Fix bind groups set on a compute encoder 2019-07-02 13:11:02 -04:00
Andrew Gaspar
b47f01ea17 Address code review comments 2019-07-01 21:13:26 -06:00
Andrew Gaspar
0d555fb688 Add logic to pick highest performance GPU on DirectX 12
Always select the first GPU in Integrated-Low/Discrete-High category,
except when querying `LowPower`, in which case the last Discrete GPU
is used.
2019-06-29 16:50:41 -06:00
Paul Kernfeld
ccc0e65b03 Re-export Pod from gfx-hal
This way, Pod can be used as a trait bound in wgpu-rs
2019-06-23 19:10:03 -04:00
Rukai
194943c12c Full MSAA handling 2019-06-23 22:17:42 +10:00
Rukai
45923755ba Implement sample_count field 2019-06-18 11:55:03 +10:00
Rukai
15488dfa1e Fix descriptor sets free validation error 2019-06-17 21:01:56 +10:00
bors[bot]
a667d50d01 Merge #226
226: Tracking Rewrite r=grovesNL a=kvark

Fixes #44

The idea is to support independent tracking of sub-resources. Today, this is needed for textures, which can have individual layers and mipmap levels in different states at a time. Tomorrow, this will be needed for buffer sub-ranges.

The intent to hack it in grew into a complete rewrite of the tracker... The new approach is cleaner in a few places (e.g. `TrackPermit` is gone), but the implementation is obviously more complex. I tried to separate the levels from each other (see `ResourceState` and `RangedStates`) to fight complexity, but it requires a whole lot of testing infrastructure to be solid.

Also regresses #216 a bit, cc @arashikou : tracker is a relatively complex structure. I somehow doubt it's useful to look at it in debug spew. We may need to implement `Debug` manually for it before re-adding `Debug` derives on passes and command buffers.

TODO:
  - [x] documentation of tracking types
  - [x] unit tests for tracking logic
  - [x] actual testing with existing apps, ensure no regressions
  - [x] write a mipmap generation example

Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
2019-06-16 14:53:26 +00:00
Dzmitry Malyshau
3753309b65 Last comments and renames in the tracking module, according to the review 2019-06-16 07:25:30 -07:00
Rukai
21950386cb Update rendy to 0.3 2019-06-16 12:31:07 +10:00
Dzmitry Malyshau
57494d6394 Crucial fix to merge-replace semantics - always use the last destination state 2019-06-14 14:05:27 -04:00
Dzmitry Malyshau
917154a49d Debug tracking derives and regular optimization 2019-06-14 14:05:27 -04:00
Dzmitry Malyshau
c22d8f86cc Support depth-stencil texture transfers 2019-06-14 11:47:42 -04:00
Dzmitry Malyshau
3ed1215d2f Rewrite texture tracker to support multiple depth/stencil mips 2019-06-14 11:44:51 -04:00
Dzmitry Malyshau
3da6c9f65b Fix texture view extent, improve docs according to the review 2019-06-14 10:20:13 -04:00
Dzmitry Malyshau
7c647a7d3c Improve texture state merging 2019-06-14 10:20:13 -04:00