1 // Copyright 2019 The Dawn Authors 2 // 3 // Licensed under the Apache License, Version 2.0 (the "License"); 4 // you may not use this file except in compliance with the License. 5 // You may obtain a copy of the License at 6 // 7 // http://www.apache.org/licenses/LICENSE-2.0 8 // 9 // Unless required by applicable law or agreed to in writing, software 10 // distributed under the License is distributed on an "AS IS" BASIS, 11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 // See the License for the specific language governing permissions and 13 // limitations under the License. 14 15 #include "dawn_wire/WireClient.h" 16 #include "dawn_wire/client/Client.h" 17 18 namespace dawn_wire { 19 WireClient(const WireClientDescriptor & descriptor)20 WireClient::WireClient(const WireClientDescriptor& descriptor) 21 : mImpl(new client::Client(descriptor.serializer, descriptor.memoryTransferService)) { 22 } 23 ~WireClient()24 WireClient::~WireClient() { 25 mImpl.reset(); 26 } 27 HandleCommands(const volatile char * commands,size_t size)28 const volatile char* WireClient::HandleCommands(const volatile char* commands, size_t size) { 29 return mImpl->HandleCommands(commands, size); 30 } 31 ReserveTexture(WGPUDevice device)32 ReservedTexture WireClient::ReserveTexture(WGPUDevice device) { 33 return mImpl->ReserveTexture(device); 34 } 35 ReserveSwapChain(WGPUDevice device)36 ReservedSwapChain WireClient::ReserveSwapChain(WGPUDevice device) { 37 return mImpl->ReserveSwapChain(device); 38 } 39 ReserveDevice()40 ReservedDevice WireClient::ReserveDevice() { 41 return mImpl->ReserveDevice(); 42 } 43 ReclaimTextureReservation(const ReservedTexture & reservation)44 void WireClient::ReclaimTextureReservation(const ReservedTexture& reservation) { 45 mImpl->ReclaimTextureReservation(reservation); 46 } 47 ReclaimSwapChainReservation(const ReservedSwapChain & reservation)48 void WireClient::ReclaimSwapChainReservation(const ReservedSwapChain& reservation) { 49 mImpl->ReclaimSwapChainReservation(reservation); 50 } 51 ReclaimDeviceReservation(const ReservedDevice & reservation)52 void WireClient::ReclaimDeviceReservation(const ReservedDevice& reservation) { 53 mImpl->ReclaimDeviceReservation(reservation); 54 } 55 Disconnect()56 void WireClient::Disconnect() { 57 mImpl->Disconnect(); 58 } 59 60 namespace client { 61 MemoryTransferService::MemoryTransferService() = default; 62 63 MemoryTransferService::~MemoryTransferService() = default; 64 65 MemoryTransferService::ReadHandle::ReadHandle() = default; 66 67 MemoryTransferService::ReadHandle::~ReadHandle() = default; 68 69 MemoryTransferService::WriteHandle::WriteHandle() = default; 70 71 MemoryTransferService::WriteHandle::~WriteHandle() = default; 72 } // namespace client 73 74 } // namespace dawn_wire 75