25 lines
568 B
C++
25 lines
568 B
C++
// Copyright 2022 Intel Corporation
|
|
// SPDX-License-Identifier: BSD-3-Clause
|
|
|
|
#pragma once
|
|
|
|
// public
|
|
#include "../ispcrt.h"
|
|
// internal
|
|
#include "MemoryView.h"
|
|
|
|
namespace ispcrt {
|
|
namespace base {
|
|
|
|
struct Context : public RefCounted {
|
|
Context() = default;
|
|
virtual ~Context() = default;
|
|
virtual MemoryView *newMemoryView(void *appMem, size_t numBytes, const ISPCRTNewMemoryViewFlags *flags) const = 0;
|
|
virtual ISPCRTDeviceType getDeviceType() const = 0;
|
|
|
|
virtual void *contextNativeHandle() const = 0;
|
|
};
|
|
|
|
} // namespace base
|
|
} // namespace ispcrt
|