xref: /aosp_15_r20/external/angle/src/libANGLE/CLBuffer.cpp (revision 8975f5c5ed3d1c378011245431ada316dfb6f244)
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 &region = *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