Skip to content

Avoid panic when requesting to unmap a buffer that is pending mapping#1239

Merged
bors[bot] merged 1 commit intogfx-rs:masterfrom
Imberflur:unmap
Feb 28, 2021
Merged

Avoid panic when requesting to unmap a buffer that is pending mapping#1239
bors[bot] merged 1 commit intogfx-rs:masterfrom
Imberflur:unmap

Conversation

@Imberflur
Copy link
Copy Markdown
Contributor

Connections
Fix for #1238

Description
This might not be the cleanest fix but it is quite minimal. I'm not sure what the exact intent is with the organization of things and with the async status enum, would be happy to hear critiques.

Testing
Tested against example in #1238

Copy link
Copy Markdown
Contributor

@monocodus monocodus bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is an autogenerated code review.

Checker summary (by rust_clippy):
The tool has found 94 warnings, 0 errors.

Copy link
Copy Markdown
Member

@kvark kvark left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Doesn't look scary to me, thank you for digging into this!
bors r+

@bors
Copy link
Copy Markdown
Contributor

bors bot commented Feb 28, 2021

@bors bors bot merged commit ecbdded into gfx-rs:master Feb 28, 2021
bors bot added a commit that referenced this pull request Mar 1, 2021
1240: Fix issue with multiple queued mappings where the last one is not cancelled r=kvark a=Imberflur


**Connections**
Follow up from #1239

**Description**
In #1239 I missed the case where there are multiple rounds of mapping/unmapping with the last map not being cancelled. In practice it doesn't occur very often, but I did encounter it with settings/a scene that created a heavy GPU load.

Sorry for not catching this earlier!

**Testing**
Using `wgpu-rs` capture example, after the first `map_async` I added in an `unmap` followed by another `map_async`.
<!--
Non-trivial functional changes would need to be tested through:
  - [wgpu-rs](https://github.com/gfx-rs/wgpu-rs) - test the examples.
  - [wgpu-native](https://github.com/gfx-rs/wgpu-native/) - check the generated C header for sanity.

Ideally, a PR needs to link to the draft PRs in these projects with relevant modifications.
See #666 for an example.
If you can add a unit/integration test here in `wgpu`, that would be best.
-->


Co-authored-by: Imbris <imbrisf@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants