| 72 | |
| 73 | template <typename T> |
| 74 | Status Buffer::WriteData(CLCommandQueue* queue, const absl::Span<T> data) { |
| 75 | if (size_ != sizeof(T) * data.size()) { |
| 76 | return InvalidArgumentError( |
| 77 | "absl::Span<T> data size is different from buffer allocated size."); |
| 78 | } |
| 79 | RETURN_IF_ERROR(queue->EnqueueWriteBuffer(buffer_, size_, data.data())); |
| 80 | return OkStatus(); |
| 81 | } |
| 82 | |
| 83 | template <typename T> |
| 84 | Status Buffer::ReadData(CLCommandQueue* queue, std::vector<T>* result) const { |