Commit Graph

308 Commits

Author SHA1 Message Date
Dzmitry Malyshau
e2dcac91d2 Round up mappable buffer size to non-coherent atom, if needed 2019-04-23 16:27:39 -04:00
Dzmitry Malyshau
1f4d67aeb2 Track async mapping properly 2019-04-22 13:57:35 -04: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
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
bors[bot]
9f70c2e59f Merge #100
100: Fix vertex format mapping r=kvark a=lain-dono

Patch for #99.

Co-authored-by: Lain-dono <lain.dono@gmail.com>
2019-03-11 02:01:20 +00:00
Lain-dono
c0b84b3e15
Fix vertex format mapping 2019-03-11 04:44:54 +03:00
bors[bot]
004b43ca6d Merge #94
94: Update C example r=kvark a=grovesNL

- Move `winit` behind a feature in wgpu-native
- Update C example to newer wgpu-native API
- Expose `Id` as `repr(C)`
- Add clang-format configuration for C files
- Add C example to CI (we can move parts of this back into the Makefile in a follow-up PR)

Co-authored-by: Joshua Groves <josh@joshgroves.com>
2019-03-10 04:03:29 +00:00
Joshua Groves
102ebdb158 Add CI for C example 2019-03-09 12:38:56 -07: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
e921b59298 Use repr(C) for Id 2019-03-07 19:04:01 -07:00
Joshua Groves
a55502c1e2 Remove winit from bindings generation 2019-03-07 12:37:50 -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
Dzmitry Malyshau
0bb4daa696 Version bumps to 0.2.0 2019-03-06 10:02:43 -05:00
bors[bot]
e1c9cb2781 Merge #93
93: run cargo fmt r=kvark a=swiftcoder

Since we have a little downtime, let's see how awful this is :)

Co-authored-by: Tristam MacDonald <tristam@trist.am>
2019-03-06 14:35:41 +00:00
Tristam MacDonald
1fe59e71db run cargo fmt 2019-03-05 20:41:24 -08:00
bors[bot]
643a34fec3 Merge #92
92: Add changelog r=grovesNL a=kvark

we'll merge after all the release-required PRs are done

Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
2019-03-06 04:02:46 +00:00
Dzmitry Malyshau
7149ba83ba Update dx11 dependency in the lockfile 2019-03-05 23:01:13 -05:00
Dzmitry Malyshau
85596a31a8 Add changelog 2019-03-05 22:57:40 -05:00
bors[bot]
94e5415635 Merge #87
87: Convert shadow sample to map_async r=kvark a=swiftcoder

Works great under Vulkan, but there's a bug that pauses the whole app after about a second under DX12. I don't think I introduced the bug, but it's hard to tell since we don't have a before state for DX12.

I'm going to send some ergonomic and validation improvements for buffer mapping in another PR, because while debugging this I ran into some rough edges.

Co-authored-by: Tristam MacDonald <tristam@trist.am>
2019-03-06 03:44:54 +00:00
Tristam MacDonald
6ef53d7705 Convert shadow sample to map_async 2019-03-05 19:04:21 -08:00
bors[bot]
1faba3c265 Merge #91
91: Better resize support on D3D and Vulkan r=swiftcoder a=kvark



Co-authored-by: Dzmitry Malyshau <dmalyshau@mozilla.com>
2019-03-05 21:08:06 +00:00