Commit Graph

330 Commits

Author SHA1 Message Date
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
bors[bot]
5ec6f35368 Merge #139
139: Scissors test r=kvark a=snuk182

Closes #138 

Co-authored-by: Serhii Plyhun <snuk188@gmail.com>
2019-04-28 02:28:16 +00:00
bors[bot]
a1908c1873 Merge #142
142: Correct Link r=kvark a=ShalokShalom



Co-authored-by: ShalokShalom <shalokshalom@protonmail.ch>
2019-04-28 02:14:02 +00:00
Serhii Plyhun
092bcc4afb Scissor test 2019-04-28 00:45:37 +02:00
ShalokShalom
3c12edd0b7
Correct Link 2019-04-27 21:05:39 +02:00
bors[bot]
6f810f4f23 Merge #131
131: Support dynamic offsets r=kvark a=cloudhead

Closes #125

Adds support for dynamic offsets when setting a bind group.

I haven't actually tried if this works with my use-case, but it's fairly straight forward. 😅 

Co-authored-by: Alexis Sellier <alexis@monadic.xyz>
2019-04-26 22:34:55 +00: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
bors[bot]
ee3025c4d8 Merge #130
130: Format code using 'cargo fmt' r=kvark a=Atul9



Co-authored-by: Atul Bhosale <atul1bhosale@gmail.com>
2019-04-26 16:59:20 +00: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
06d34830d4 Update OSX CI version to 9.4 2019-04-25 08:29:53 -04:00
Dzmitry Malyshau
8578643f38 Rename DestroyedResources to PendingResources 2019-04-25 08:29:40 -04:00
Dzmitry Malyshau
41141b1ae0 Wait for fences instead of device idle 2019-04-24 22:42:49 -04:00
Dzmitry Malyshau
aa1f876de3 Assert on a mapping buffer being used 2019-04-23 17:26:31 -04:00
Dzmitry Malyshau
326af8cce6 Do mapping transitions earlier. 2019-04-23 17:22:53 -04:00
Dzmitry Malyshau
7200f727e2 Expose device polling 2019-04-23 16:56:17 -04:00
Dzmitry Malyshau
e2dcac91d2 Round up mappable buffer size to non-coherent atom, if needed 2019-04-23 16:27:39 -04:00
bors[bot]
0a60c82c43 Merge #128
128: Fix winit event loop in the triangle example r=kvark a=psincf

It's the refactored https://github.com/gfx-rs/wgpu/pull/122 PR

Co-authored-by: psincf <44228825+psincf@users.noreply.github.com>
2019-04-22 21:13:09 +00: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
bors[bot]
4431df63d8 Merge #124
124: Configure Swapchain with supported composite_alpha r=kvark a=silphendio

CompositeAlpha::Inherit (default) is not supported on every graphics card.
Relevant : https://github.com/gfx-rs/gfx/issues/2507

Co-authored-by: Markus Ginthör <markus.ginthoer@gmx.at>
2019-04-22 16:35:17 +00:00
Markus Ginthör
89c5564133 Configure Swapchain with supported composite_alpha 2019-04-12 17:44:44 +02:00
bors[bot]
f5ad76726b Merge #121
121: Implement index formats r=kvark a=grovesNL

I decided to implement index formats to try to catch up on some of the recent changes. The idea is to either source the index format from the last bound pipeline, or switch the index format based on a newly bound pipeline, through the following:

- During `set_index_buffer`, use the index format from the render pass, and cache the bound index buffer ID and offset
- During `set_pipeline`, check if the index format has changed from the previous pipeline, and rebind the index buffer using the new index format if necessary

Some things I wasn't sure about:

- Is the usage of `get_with_extended_usage` correct here?
- Are the caches located in the correct place (i.e. `RenderPassContext`)?

Co-authored-by: Joshua Groves <josh@joshgroves.com>
2019-04-07 11:29:41 +00:00
Joshua Groves
7f7bdd1ba1 Implement index formats 2019-04-07 08:15:05 -02:30
bors[bot]
20841859d1 Merge #119
119: Fix waiting on frame semaphores, plus check the epochs r=grovesNL a=kvark

Fixes #88 

Co-authored-by: Dzmitry Malyshau <dmalyshau@mozilla.com>
2019-04-04 12:32:19 +00:00
Dzmitry Malyshau
83a83f33e7 Track epochs of the frame semaphores to wait for 2019-04-03 17:48:26 -04:00
bors[bot]
3bf6992e75 Merge #118
118: readme: revise supported platforms r=kvark a=nathany

Should this say D3D11?

Co-authored-by: Nathan Youngman <4566+nathany@users.noreply.github.com>
2019-04-02 16:31:36 +00:00
Nathan Youngman
acc8443b5e readme: revise supported platforms 2019-04-02 08:35:39 -06:00
bors[bot]
81ff6fac05 Merge #116
116: Validation bits from 0.2 r=kvark a=kvark

Sibling of #114 

Co-authored-by: Dzmitry Malyshau <dmalyshau@mozilla.com>
2019-04-01 00:08:02 +00:00
Dzmitry Malyshau
c283a8b115 Update changelog and versions 2019-03-31 20:04:39 -04:00
Dzmitry Malyshau
a3ffa7072a Fix the triangle examples 2019-03-31 20:03:24 -04:00
Dzmitry Malyshau
a8a6b45c9a Rename expectation to LayoutChange 2019-03-31 20:00:52 -04:00
Dzmitry Malyshau
5e041ab239 Validate resource types against the bind group layout 2019-03-31 19:59:34 -04:00
Dzmitry Malyshau
b96983a56b Fix submission tracking 2019-03-31 19:59:21 -04:00
Dzmitry Malyshau
006d40a4b5 Track bind group compatibility across the whole pipeline 2019-03-31 16:04:37 -04:00
Dzmitry Malyshau
5923deff6e Validate bind group compatibility 2019-03-31 16:03:08 -04:00
Dzmitry Malyshau
332305012c Blend color and the first bits of validation 2019-03-31 15:52:32 -04:00
Dzmitry Malyshau
2ca7fd5077 Fix winit swapchain sizes in examples 2019-03-24 23:50:26 -04:00
bors[bot]
dfa126cf47 Merge #112
112: Correctness fixes from 0.2, plus a lot of goodies r=kvark a=kvark

These are changes from #110 back-ported to master.

Co-authored-by: Dzmitry Malyshau <dmalyshau@mozilla.com>
2019-03-24 00:56:28 +00: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
Dzmitry Malyshau
0b51c8a9d2 Clean up use statements.
Use copyless::VecHelper and ArrayVec for some things.
Refactor map_buffer internals.
2019-03-21 12:05:53 -04:00
Dzmitry Malyshau
dc31e4bdd0 Fix descriptor size, bump versions 2019-03-20 14:52:59 -04:00
Dzmitry Malyshau
81114a8ca2 Bump the descriptor pool size 2019-03-20 14:52:38 -04:00
Dzmitry Malyshau
451489025c Validate uniform buffer alignments, enforce map alignment 2019-03-20 14:43:25 -04:00
bors[bot]
61e7692e36 Merge #108
108: Enable windows in Travis r=travis a=kvark

Fixes #97 

Co-authored-by: Dzmitry Malyshau <dmalyshau@mozilla.com>
2019-03-19 15:06:57 +00:00
Dzmitry Malyshau
485894ca81 Enable windows in Travis 2019-03-19 10:49:30 -04:00
Dzmitry Malyshau
508b724dd7 Helpful error message on empty backend 2019-03-19 09:20:34 -04: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