Commit Graph

264 Commits

Author SHA1 Message Date
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
Dzmitry Malyshau
ef1c373887 Fix texture transfer aspects 2019-06-13 15:37:30 -04:00
Dzmitry Malyshau
965750b237 Improve texture state merging with proper error handling 2019-06-13 13:06:31 -04:00
Dzmitry Malyshau
86521abfc2 Document the tracking and adjust the API a bit to return less errors 2019-06-13 12:31:36 -04:00
Dzmitry Malyshau
e0f315801a Texture query() unit tests 2019-06-13 11:47:42 -04:00
Dzmitry Malyshau
0fb71c9fd8 Move texture tracking into a module 2019-06-13 11:30:47 -04:00
Dzmitry Malyshau
aca3f1e64d Fix compile warnings when no features are selected 2019-06-13 11:26:44 -04:00
Dzmitry Malyshau
745bebcbb5 Move buffer state tracking into a module, add unit tests 2019-06-13 11:22:54 -04:00
Dzmitry Malyshau
07ef7caddc Range merging unit tests 2019-06-13 11:08:53 -04:00
Dzmitry Malyshau
331fe55948 Check track isolation results for sanity 2019-06-13 10:20:21 -04:00
Dzmitry Malyshau
7b843f220f Move track logic into a module, fix isolate() first split 2019-06-13 10:15:24 -04:00
Dzmitry Malyshau
0e20549235 RangedState unit tests 2019-06-13 08:43:19 -04:00
Dzmitry Malyshau
30955e565c Phantom tracking state 2019-06-13 08:18:56 -04:00
Dzmitry Malyshau
d92b623bd8 Remove the old tracking code, update local feature and the headers 2019-06-12 12:29:28 -04:00
Dzmitry Malyshau
bc7b842f12 Moving the code to use the new tracker API 2019-06-12 12:27:53 -04:00
Dzmitry Malyshau
2446190a0b Finished first implementation of layer tracking 2019-06-12 12:22:58 -04:00
Dzmitry Malyshau
444220c6eb Another iteration of internal tracking 2019-06-12 12:22:19 -04:00
Dzmitry Malyshau
0dcd0c449d Parametrize Tracker by a state of a resource, add new plane tracker 2019-06-12 12:20:23 -04:00
Dzmitry Malyshau
2d5e67d6d5 Basic data structure to track mip levels and layers of a texture 2019-06-12 12:15:51 -04:00
bors[bot]
d69955b612 Merge #220
220: Free descriptor sets r=kvark a=rukai

Tested on https://github.com/rukai/brawllib_rs, wgpu examples and wgpu-rs examples.
Closes: https://github.com/gfx-rs/wgpu/issues/217

My approach was to just implement descriptor set tracking the same way textures and buffers are implemented.

Co-authored-by: Rukai <rubickent@gmail.com>
2019-06-10 17:01:45 +00:00
Rukai
59388e329f Free descriptor sets 2019-06-10 16:02:46 +10:00
John W. Bruce
057719fdf5 Add Naïve Debug Derives Where Possible
This adds #[derive(Debug)] to all public structs and enums possible.
This also required adding it to some private types that they
transitively depend on. However, the following types depend on types
from external crates that do not implement Debug:

* device::Device
* hub::Hub
* swap_chain::Surface
* swap_chain::SwapChain

To support these types, we would need to use either custom Debug impls
or something like Derivative.

This helps improve the situation in #76.
2019-06-07 14:19:05 -07:00
Joshua Groves
9e60499738 Use wider type for swapchain image epoch 2019-06-05 00:15:12 -02:30
bors[bot]
85740873d0 Merge #212
212: More consistent descriptor passing r=kvark a=porky11

also use pointer for descriptor in `wgpu_command_encoder_begin_render_pass` for consistency reasons

Co-authored-by: Fabio Krapohl <fabio.u.krapohl@fau.de>
2019-06-04 20:20:10 +00:00
Fabio Krapohl
8abc1c2668 also use pointer for descriptor in wgpu_command_encoder_begin_render_pass for consistency reasons 2019-06-04 22:13:48 +00:00
Fabio Krapohl
488367ce30 More consistent naming of pointer-size-pairs:
* always plural form without _ptr suffix for pointers
* always same name as pointer for size, but with _length suffix
* special case: single size applies to multiple pointers => only use length as name
2019-06-04 21:41:39 +00:00
Rukai
4ad3d418c2 Ensure wait_for_fences is never called on 0 fences 2019-06-03 23:07:42 +10:00
Bruce Mitchener
88463810dd Fix typos. 2019-06-03 14:31:17 +07:00
Alexis Sellier
6794333dba
Expose and validate buffer offset alignment 2019-06-01 20:25:12 +02:00
Dzmitry Malyshau
97e630f320 Fix Rendy memory selection 2019-05-31 13:53:26 -04:00
Dzmitry Malyshau
351432aae2 hook up rendy-memory 2019-05-30 13:34:43 -04:00
Dzmitry Malyshau
9c408f919c Hook up rendy-descriptor 2019-05-30 08:35:34 -04:00
Dzmitry Malyshau
d01509e9a2 Fix Storage textures/buffers support 2019-05-29 23:50:29 -04:00
Dzmitry Malyshau
2614efba7c Protect mapped buffers from early destruction 2019-05-29 23:50:29 -04:00
Dzmitry Malyshau
cb6e1dba5a Force tracking side effects on drop 2019-05-29 23:50:27 -04:00
Dzmitry Malyshau
c0c2cdf31c Clear command buffer tracker 2019-05-29 23:49:29 -04:00
Dzmitry Malyshau
a6bc4420eb Don't early out on pipeline binding 2019-05-29 23:49:29 -04:00
Dzmitry Malyshau
9621fb3021 Validate vertex/instance/index buffer ranges 2019-05-29 23:49:27 -04:00
Dzmitry Malyshau
4446b81f3e Fix compute pass barriers 2019-05-26 23:55:23 -04:00
bors[bot]
925718ff6d Merge #183
183: Add gfx-backend-gl support r=kvark a=kyren

Also adds glutin-specific support methods to wgpu-native

Co-authored-by: kyren <kerriganw@gmail.com>
2019-05-24 18:58:09 +00:00
bors[bot]
81b6f42941 Merge #186
186: Fix clear value filtering and integer support r=grovesNL a=kvark



Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
2019-05-24 01:22:15 +00:00
Dzmitry Malyshau
2564332f3d Change dynamic and vertex buffer offsets to u64 2019-05-23 11:25:10 -04:00
Dzmitry Malyshau
9eddc296c3 Fix clear value filtering and integer support 2019-05-23 10:03:11 -04:00
kyren
af9aa78e3a Try to keep the API slightly closer to the standard API
by making InstanceId a type alias to SurfaceId
2019-05-21 17:40:41 -04:00
kyren
8680195c91 Add gfx-backend-gl support
Also adds glutin-specific support methods to wgpu-native
2019-05-19 15:10:52 -04:00
Dzmitry Malyshau
bd167f8fc5 Fix semaphore iteration on submit 2019-05-17 01:31:51 -04:00