1 // 2 // Copyright 2021 The ANGLE Project Authors. All rights reserved. 3 // Use of this source code is governed by a BSD-style license that can be 4 // found in the LICENSE file. 5 // 6 // CLBuffer.cpp: Implements the cl::Buffer class. 7 8 #include "libANGLE/CLBuffer.h" 9 10 namespace cl 11 { 12 createSubBuffer(MemFlags flags,cl_buffer_create_type createType,const void * createInfo)13 cl_mem Buffer::createSubBuffer(MemFlags flags, 14 cl_buffer_create_type createType, 15 const void *createInfo) 16 { 17 const cl_buffer_region ®ion = *static_cast<const cl_buffer_region *>(createInfo); 18 return Object::Create<Buffer>(*this, flags, region.origin, region.size); 19 } 20 21 Buffer::~Buffer() = default; 22 Buffer(Context & context,PropArray && properties,MemFlags flags,size_t size,void * hostPtr)23 Buffer::Buffer(Context &context, PropArray &&properties, MemFlags flags, size_t size, void *hostPtr) 24 : Memory(*this, context, std::move(properties), flags, size, hostPtr) 25 {} 26 Buffer(Buffer & parent,MemFlags flags,size_t offset,size_t size)27 Buffer::Buffer(Buffer &parent, MemFlags flags, size_t offset, size_t size) 28 : Memory(*this, parent, flags, offset, size) 29 {} 30 31 } // namespace cl 32