mirror of
https://github.com/encounter/dawn-cmake.git
synced 2025-12-17 08:57:26 +00:00
Factor wire server handlers into proper command handlers and doers
Bug: dawn:88 Change-Id: If637e7ac694d68ad7a4a1e85fd241e8b48e62f6a Reviewed-on: https://dawn-review.googlesource.com/c/4060 Reviewed-by: Kai Ninomiya <kainino@chromium.org> Commit-Queue: Austin Eng <enga@chromium.org>
This commit is contained in:
committed by
Commit Bot service account
parent
3b71e65658
commit
62e83971ca
@@ -17,11 +17,14 @@
|
||||
|
||||
namespace dawn_wire { namespace server {
|
||||
|
||||
bool Server::PostHandleQueueSignal(const QueueSignalCmd& cmd) {
|
||||
if (cmd.fence == nullptr) {
|
||||
bool Server::DoQueueSignal(dawnQueue cSelf, dawnFence cFence, uint64_t signalValue) {
|
||||
if (cFence == nullptr) {
|
||||
return false;
|
||||
}
|
||||
ObjectId fenceId = FenceObjectIdTable().Get(cmd.fence);
|
||||
|
||||
mProcs.queueSignal(cSelf, cFence, signalValue);
|
||||
|
||||
ObjectId fenceId = FenceObjectIdTable().Get(cFence);
|
||||
ASSERT(fenceId != 0);
|
||||
auto* fence = FenceObjects().Get(fenceId);
|
||||
ASSERT(fence != nullptr);
|
||||
@@ -29,10 +32,10 @@ namespace dawn_wire { namespace server {
|
||||
auto* data = new FenceCompletionUserdata;
|
||||
data->server = this;
|
||||
data->fence = ObjectHandle{fenceId, fence->serial};
|
||||
data->value = cmd.signalValue;
|
||||
data->value = signalValue;
|
||||
|
||||
auto userdata = static_cast<uint64_t>(reinterpret_cast<uintptr_t>(data));
|
||||
mProcs.fenceOnCompletion(cmd.fence, cmd.signalValue, ForwardFenceCompletedValue, userdata);
|
||||
mProcs.fenceOnCompletion(cFence, signalValue, ForwardFenceCompletedValue, userdata);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user