Files
triton/include/isaac/driver/buffer.h

40 lines
786 B
C
Raw Normal View History

#ifndef ISAAC_DRIVER_BUFFER_H
#define ISAAC_DRIVER_BUFFER_H
#include "isaac/types.h"
2015-07-21 22:02:36 -07:00
#include "isaac/defines.h"
#include "isaac/driver/common.h"
#include "isaac/driver/context.h"
#include "isaac/driver/handle.h"
namespace isaac
{
namespace driver
{
// Buffer
2015-07-21 22:02:36 -07:00
class ISAACAPI Buffer
{
friend class CommandQueue;
friend class Kernel;
public:
Buffer(cl_mem Buffer, bool take_ownership = true);
Buffer(Context const & context, std::size_t size);
Context const & context() const;
bool operator<(Buffer const &) const;
bool operator==(Buffer const &) const;
HANDLE_TYPE(cl_mem, CUdeviceptr)& handle();
HANDLE_TYPE(cl_mem, CUdeviceptr) const & handle() const;
private:
backend_type backend_;
2015-08-03 20:20:27 -07:00
Context context_;
HANDLE_TYPE(cl_mem, CUdeviceptr) h_;
};
}
}
#endif