deviceBuffer2D.hpp 547 Bytes
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
// Copyright (c) 2012-2017 VideoStitch SAS
// Copyright (c) 2018 stitchEm

#pragma once

#include "opencl.h"

namespace VideoStitch {
namespace GPU {

class DeviceBuffer2D {
 public:
  explicit DeviceBuffer2D(cl_mem im) : image(im) {}

  cl_mem& raw() { return image; }

  operator cl_mem() const { return image; }

  operator cl_mem&() { return image; }

  bool operator==(const DeviceBuffer2D& other) const { return image == other.image; }

 private:
  cl_mem image;

  friend class Buffer2D;
};

}  // namespace GPU
}  // namespace VideoStitch