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