dawn-cmake/src
Corentin Wallez 36cd17488a dawn_wire: Correctly handle buffer state changes on Destroy()
The server didn't take intercept the destroy() call which meant the
buffer could be unmapped by dawn_native without the status updated in
ServerBuffer. This caused crash when a subsequent UpdateMappedData
command was handled and tried to write into the mapped buffer.

The client needs to also track destroy() otherwise it could sent an
UpdateMappedData to a destroyed buffer which is a fatal error.

Tests are added that cover the client-server interaction for this, but
the pattern that the following is unfortunately not tested directly
against the wire server:

 - CreateBufferMapped
 - Destroy
 - UpdateMappedData

Bug: chromium:1068466
Change-Id: If5185d4a8a81cd5f6bb41c9888a18c44c14b2de4
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/18961
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Kai Ninomiya <kainino@chromium.org>
2020-04-08 10:23:35 +00:00
..
common Reland "D3D12: Stage BindGroups on CPU descriptor heaps." 2020-04-06 22:07:42 +00:00
dawn Fix clean CMake builds 2020-02-14 19:09:33 +00:00
dawn_native Add default to conversion utility to avoid build breakage 2020-04-07 21:53:37 +00:00
dawn_platform Split dawn_(native|wire|platform) to their own BUILD.gn files 2020-04-07 07:29:45 +00:00
dawn_wire dawn_wire: Correctly handle buffer state changes on Destroy() 2020-04-08 10:23:35 +00:00
fuzzers BUILD.gn: rename libdawn_native/wire to dawn_native/wire 2020-04-07 07:44:00 +00:00
include Call ID3D12SharingContract::Present on WebGPU swap buffer destroy 2020-03-30 20:31:45 +00:00
tests dawn_wire: Correctly handle buffer state changes on Destroy() 2020-04-08 10:23:35 +00:00
utils Rename BG[L]Binding to BG[L]Entry 2020-04-07 07:11:12 +00:00
Dummy.cpp Add missed file for the CMake build. 2020-02-07 23:46:30 +00:00