Dzmitry Malyshau
6ac666a5aa
Introduce ClientFactory
2019-04-30 15:37:46 -04:00
Dzmitry Malyshau
61fca00f34
Remove wgpu-bindings in favor of configuration scripts
2019-04-30 12:45:05 -04:00
Dzmitry Malyshau
0011d9f4ff
Global manager for instance names on the remote client
2019-04-30 09:19:40 -04:00
Dzmitry Malyshau
52ee3e019c
Remote example and improved header, tested on CI
2019-04-29 22:41:09 -04:00
Alexis Sellier
c468840eee
Support dynamic offsets
...
Closes #125
* Add support for dynamic offsets when setting a bind group.
* Add new binding types: `UniformBufferDynamic` and `StorageBufferDynamic`
2019-04-26 22:20:54 +02:00
Atul Bhosale
af38d79d79
Format code using 'cargo fmt'
2019-04-26 22:01:47 +05:30
bors[bot]
993293f709
Merge #127
...
127: Track async mapping properly r=grovesNL,swiftcoder a=kvark
Fixes #117 , fixes #95 , fixes #132
The change can be logically split into 3 parts:
1. when `ActiveSubmission` is retired, we now move the mapped buffers into the "ready to map" vector. This was the missing bit that caused mapping to not work previously.
2. mapping callbacks in Rust wrapper are refactored and they `unmap()` automatically now on users behalf
3. we wait for idle before destroying the device, which allows us to process all the pending callbacks. This fix gets rid of the dummy submission our compute example used to do.
Co-authored-by: Dzmitry Malyshau <dmalyshau@mozilla.com>
Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
2019-04-25 13:36:59 +00:00
Dzmitry Malyshau
41141b1ae0
Wait for fences instead of device idle
2019-04-24 22:42:49 -04:00
psincf
e70b01ccc0
Fix winit event loop in the triangle example
2019-04-22 22:59:25 +02:00
Dzmitry Malyshau
1f4d67aeb2
Track async mapping properly
2019-04-22 13:57:35 -04:00
Dzmitry Malyshau
a3ffa7072a
Fix the triangle examples
2019-03-31 20:03:24 -04:00
Dzmitry Malyshau
2ca7fd5077
Fix winit swapchain sizes in examples
2019-03-24 23:50:26 -04:00
bors[bot]
cf521d6074
Merge #96
...
96: Add the static lifetime bound to async buffer mapping callbacks r=kvark a=aloucks
These callbacks are executed outside of the mapping function and could previously reference data that had been dropped. Related #95 .
Co-authored-by: Aaron Loucks <aloucks@cofront.net>
2019-03-23 02:21:03 +00:00
Aaron Loucks
e0811db8d4
Triage buffers prior to overwriting the submission index
...
This allows async buffer mapping to function when a renderpass
is also submitted on the queue. The state transition and fencing
still needs work, however.
2019-03-12 22:15:37 -04:00
Aaron Loucks
86e1249949
Add the static lifetime bound to async buffer mapping callbacks
...
These callbacks are executed outside of the mapping function and could
previously reference data that had been dropped. This fixes the
soundness issues described in #95 , but not the buggy mapping
behavior.
2019-03-11 17:11:29 -04:00
Joshua Groves
5322f3c610
Reduce left indentation for nested structs
2019-03-08 07:15:36 -07:00
Joshua Groves
b2c58c7791
Add nested designated initialization
2019-03-07 20:48:37 -07:00
Joshua Groves
580e49f2cf
Start rendering C example again
2019-03-07 20:15:12 -07:00
Joshua Groves
510865dd27
Restore GLFW for macOS
2019-03-07 19:19:10 -07:00
Joshua Groves
75ac875902
Start to update C example
2019-03-07 07:43:19 -07:00
Joshua Groves
fa2c2d7457
Combine Apple with other targets
2019-03-07 07:34:27 -07:00
Tristam MacDonald
1fe59e71db
run cargo fmt
2019-03-05 20:41:24 -08:00
Tristam MacDonald
6ef53d7705
Convert shadow sample to map_async
2019-03-05 19:04:21 -08:00
bors[bot]
2d166d2155
Merge #80
...
80: Typed mapping of buffers r=kvark a=swiftcoder
Add a sprinkling of generics to remove the need for unsafe code to typecast slices resulting from mapping buffers.
Co-authored-by: Tristam MacDonald <tristam@trist.am>
2019-02-28 15:26:21 +00:00
Tristam MacDonald
524ff72fd3
Typed mapping of buffers
...
Add a sprinkling of generics to remove the need for unsafe
code to typecast slices resulting from mapping buffers.
2019-02-28 06:56:47 -08:00
bors[bot]
370236330f
Merge #82
...
82: Add updated texture formats r=kvark a=unconed
Adds the texture formats from:
https://github.com/gpuweb/gpuweb/blob/master/design/sketch.webidl
Co-authored-by: Steven Wittens <steven@acko.net>
2019-02-28 14:50:35 +00:00
Steven Wittens
b74b7fdd8c
Update textureformats in examples
2019-02-28 06:36:45 +01:00
Tristam MacDonald
0f85eb86a1
Buffer tracking and unmapping
...
Adds preliminary transitioning of buffers to mapped state.
Adds buffer unmapping to the cube sample.
Modifies wgpu_queue_submit to not hold a write lock on the device during callbacks.
2019-02-27 21:15:47 -08:00
Dzmitry Malyshau
d631b2c6f2
Fix depth clamping semantics
2019-02-26 22:36:58 -05:00
Tristam MacDonald
8431da80ed
Implement map read/write async
2019-02-26 06:45:07 -08:00
Dzmitry Malyshau
056cc64eb4
Shadow example shaders and improvements
2019-02-22 12:59:29 -05:00
Dzmitry Malyshau
855bcfe176
Resource destruction refactoring, hook up to rust
2019-02-21 08:42:57 -05:00
Dzmitry Malyshau
00e0347b8c
Renamed the impl methods, switched structure argumetns from references to contained items
2019-02-15 10:13:04 -05:00
Dzmitry Malyshau
2e21285434
Separate object identity from storage
2019-02-14 14:28:55 -05:00
Dzmitry Malyshau
844d371989
Command encoder interface
2019-02-12 16:48:56 -05:00
bors[bot]
3274fc92f5
Merge #54
...
54: Document how to run examples r=grovesNL a=rukai
I had assumed the triangle example wasn't functional yet, because I didn't realize I had to specify a feature. I only realized it was supposed to work when I saw a screenshot of the cube example.
I'm not sure what the future is of the triangle example? Will it remain outside of the gfx-examples folder?
Co-authored-by: Rukai <rubickent@gmail.com>
2019-02-12 14:30:30 +00:00
Rukai
9374d52272
Document how to run examples
2019-02-12 22:01:49 +11:00
Tristam MacDonald
5f0df67dcc
Initial compute pipeline support
2019-02-11 19:02:18 -08:00
Dzmitry Malyshau
3ec4ff99b0
Vertex buffer description in the pipelines
2019-02-03 20:39:13 -05:00
Dzmitry Malyshau
afe00aa90f
Borrow temporary queus and frames on Rust side
2019-02-02 21:02:33 -05:00
Dzmitry Malyshau
57f0cd184f
native: basic support for pipeine stages in barriers
2019-01-31 21:42:35 -05:00
Dzmitry Malyshau
e8e5938e06
Linux support for GLFW example
2019-01-24 12:33:34 -05:00
Joshua Groves
3d98457eb9
Add support for GLFW on Windows
2019-01-24 12:08:32 -05:00
Joshua Groves
26f965cfbb
Use CMake and update triangle example
2019-01-24 12:08:32 -05:00
Dzmitry Malyshau
edf269dbed
Remove the non-winit path from the example
2019-01-22 17:10:08 -08:00
Dzmitry Malyshau
2ec9d05074
Triangle example, minor corrections
2019-01-21 19:20:09 -05:00
Joshua Groves
6cb9806408
Remove glfw submodule
2019-01-21 02:57:04 -07:00
Joshua Groves
f647fd8030
Regenerate bindings
2019-01-20 16:25:49 -07:00
Dzmitry Malyshau
5deb6e2047
DX11 support
2019-01-17 23:03:11 -05:00
Dzmitry Malyshau
2221b112c7
Fix command buffer recycling
2019-01-17 21:11:01 -05:00
Dzmitry Malyshau
c868db2cc7
Windowing in the triangle example, more presentation bits
2019-01-17 09:42:59 -05:00
porky11
a5a5b88014
use rustfmt for formatting after edits
2019-01-12 19:15:48 +01:00
Dzmitry Malyshau
f4bb1903bf
Fix deadlock in barrier insertion
2018-12-01 22:53:21 -05:00
Dzmitry Malyshau
9aa5977c22
Bindings update with the new cbindgen 0.6.7
2018-10-30 22:02:07 -04:00
Dzmitry Malyshau
fee276afa5
Cache render passes on Device level
2018-10-30 16:37:36 -04:00
Dzmitry Malyshau
879cd64b30
Texture view creation in Rust and the example
2018-10-26 12:04:20 -04:00
Dzmitry Malyshau
de4f2b70eb
Framebuffer creation and actual begin_render_pass
2018-10-25 22:29:27 -04:00
Dzmitry Malyshau
32b92afa5c
Root Makefile
2018-10-22 12:01:42 -04:00
Joshua Groves
90e04cbe75
c: Update signatures
2018-10-11 23:45:24 -06:00
Joshua Groves
7575652545
rust: Update signatures
2018-10-11 23:45:00 -06:00
Joshua Groves
897c5b9e86
Add texture creation to C example
2018-10-07 09:22:24 -06:00
Dzmitry Malyshau
da95fe6b1e
Rust side render pass begin/end
2018-10-01 10:11:44 -04:00
Dzmitry Malyshau
62f5fc480d
Render pipeline states for Rust layer and example
2018-09-28 21:57:49 -04:00
Dzmitry Malyshau
47edd4564a
Begin and finish command buffers
2018-09-28 11:35:31 -04:00
Joshua Groves
3975320543
Run cargo fmt
2018-09-28 07:21:07 -06:00
Joshua Groves
241aef131a
Move register
inside guard
2018-09-28 07:16:42 -06:00
Joshua Groves
eb80057e11
Fix C example name
2018-09-28 00:35:41 -06:00
Joshua Groves
e3d7fda9c7
Simplify registry access
2018-09-28 00:13:11 -06:00
Joshua Groves
aab17db5a1
Map rest of render pipeline descriptor
2018-09-28 00:08:44 -06:00
Dzmitry Malyshau
92c16a193e
Rust wrapper update the command buffers and queues
2018-09-27 23:34:37 -04:00
Dzmitry Malyshau
c013fc9498
C example update, header, and better travis tests
2018-09-27 19:04:17 -04:00
Dzmitry Malyshau
3c583160d4
Port hello_triangle_rust example to use the new Rust wrapper
2018-09-26 14:31:06 -04:00
Dzmitry Malyshau
53c75d6aed
First bits of wgpu-rs
2018-09-26 14:31:03 -04:00
Joshua Groves
7d35607ec1
Add remote feature to control ID type
2018-09-23 23:05:12 -06:00
Joshua Groves
211189a090
Create shader modules from C
2018-09-23 19:29:44 -06:00
Joshua Groves
08ad0f40ed
Create C example
2018-09-23 13:25:05 -06:00
grovesNL
105a71d19a
Format all files
2018-09-22 16:55:01 -06:00
grovesNL
5759f769b0
Add initial bindings
2018-09-22 16:54:19 -06:00
Dzmitry Malyshau
9ecc25e907
Restructure the repo to host multiple crates
2018-09-18 21:48:18 -04:00
grovesNL
76af247a51
Create shader modules
2018-09-16 00:40:42 -06:00
Dzmitry Malyshau
72dc47aba3
Hook up gfx-backend-empty
2018-09-14 09:16:30 -04:00
Dzmitry Malyshau
edc8980a9a
Add a simple example
2018-09-14 09:08:23 -04:00