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 GetDevice() const28 DawnDevice WireClient::GetDevice() const { 29 return mImpl->GetDevice(); 30 } 31 GetProcs() const32 DawnProcTable WireClient::GetProcs() const { 33 return client::GetProcs(); 34 } 35 HandleCommands(const char * commands,size_t size)36 const char* WireClient::HandleCommands(const char* commands, size_t size) { 37 return mImpl->HandleCommands(commands, size); 38 } 39 ReserveTexture(DawnDevice device)40 ReservedTexture WireClient::ReserveTexture(DawnDevice device) { 41 return mImpl->ReserveTexture(device); 42 } 43 44 namespace client { 45 MemoryTransferService::~MemoryTransferService() = default; 46 47 MemoryTransferService::ReadHandle* CreateReadHandle(DawnBuffer buffer,uint64_t offset,size_t size)48 MemoryTransferService::CreateReadHandle(DawnBuffer buffer, uint64_t offset, size_t size) { 49 return CreateReadHandle(size); 50 } 51 52 MemoryTransferService::WriteHandle* CreateWriteHandle(DawnBuffer buffer,uint64_t offset,size_t size)53 MemoryTransferService::CreateWriteHandle(DawnBuffer buffer, uint64_t offset, size_t size) { 54 return CreateWriteHandle(size); 55 } 56 57 MemoryTransferService::ReadHandle::~ReadHandle() = default; 58 59 MemoryTransferService::WriteHandle::~WriteHandle() = default; 60 } // namespace client 61 62 } // namespace dawn_wire 63