mirror of
https://github.com/encounter/dawn-cmake.git
synced 2025-12-20 02:15:43 +00:00
Implement Buffer::MapAsync
MapAsync in dawn_native is fully implemented and only missing a couple cleanups that can be done once MapRead/WriteAsync are removed. MapAsync in dawn_wire is left as a pure shim on top of MapRead/WriteAsync and will be transitioned to its own commands in follow-ups. All MapRead/WriteAsync end2end and validation tests are duplicated for MapAsync. Bug: dawn:445 Change-Id: Ib1430b9257149917be19a84f13e0ddd2a8eccc32 Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/24260 Commit-Queue: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Austin Eng <enga@chromium.org> Reviewed-by: Stephen White <senorblanco@chromium.org>
This commit is contained in:
committed by
Commit Bot service account
parent
92f501dbfd
commit
0d52f800a1
@@ -96,6 +96,19 @@ void ProcTableAsClass::BufferMapWriteAsync(WGPUBuffer self,
|
||||
OnBufferMapWriteAsyncCallback(self, callback, userdata);
|
||||
}
|
||||
|
||||
void ProcTableAsClass::BufferMapAsync(WGPUBuffer self,
|
||||
WGPUMapModeFlags mode,
|
||||
size_t offset,
|
||||
size_t size,
|
||||
WGPUBufferMapCallback callback,
|
||||
void* userdata) {
|
||||
auto object = reinterpret_cast<ProcTableAsClass::Object*>(self);
|
||||
object->mapAsyncCallback = callback;
|
||||
object->userdata = userdata;
|
||||
|
||||
OnBufferMapAsyncCallback(self, callback, userdata);
|
||||
}
|
||||
|
||||
void ProcTableAsClass::FenceOnCompletion(WGPUFence self,
|
||||
uint64_t value,
|
||||
WGPUFenceOnCompletionCallback callback,
|
||||
@@ -135,6 +148,11 @@ void ProcTableAsClass::CallMapWriteCallback(WGPUBuffer buffer,
|
||||
object->mapWriteCallback(status, data, dataLength, object->userdata);
|
||||
}
|
||||
|
||||
void ProcTableAsClass::CallMapAsyncCallback(WGPUBuffer buffer, WGPUBufferMapAsyncStatus status) {
|
||||
auto object = reinterpret_cast<ProcTableAsClass::Object*>(buffer);
|
||||
object->mapAsyncCallback(status, object->userdata);
|
||||
}
|
||||
|
||||
void ProcTableAsClass::CallFenceOnCompletionCallback(WGPUFence fence,
|
||||
WGPUFenceCompletionStatus status) {
|
||||
auto object = reinterpret_cast<ProcTableAsClass::Object*>(fence);
|
||||
|
||||
Reference in New Issue
Block a user