• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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,cl_int & errorCode)13 cl_mem Buffer::createSubBuffer(MemFlags flags,
14                                cl_buffer_create_type createType,
15                                const void *createInfo,
16                                cl_int &errorCode)
17 {
18     const cl_buffer_region &region = *static_cast<const cl_buffer_region *>(createInfo);
19     return Object::Create<Buffer>(errorCode, *this, flags, region.origin, region.size);
20 }
21 
22 Buffer::~Buffer() = default;
23 
Buffer(Context & context,PropArray && properties,MemFlags flags,size_t size,void * hostPtr,cl_int & errorCode)24 Buffer::Buffer(Context &context,
25                PropArray &&properties,
26                MemFlags flags,
27                size_t size,
28                void *hostPtr,
29                cl_int &errorCode)
30     : Memory(*this, context, std::move(properties), flags, size, hostPtr, errorCode)
31 {}
32 
Buffer(Buffer & parent,MemFlags flags,size_t offset,size_t size,cl_int & errorCode)33 Buffer::Buffer(Buffer &parent, MemFlags flags, size_t offset, size_t size, cl_int &errorCode)
34     : Memory(*this, parent, flags, offset, size, errorCode)
35 {}
36 
37 }  // namespace cl
38