Files
compute-runtime/opencl/source/sharings/gl/linux/lin_enable_gl.h
Mateusz Jablonski 4919c7c9fb feature: add experimental support for cl-gl sharing on Linux
based on 'clgl-fork' branch from https://github.com/kallaballa/compute-runtime

EGL headers taken from https://github.com/KhronosGroup/EGL-Registry
revision: 57b4876de0f33677ece92dd9de0ef105ce69139d

Related-To: NEO-3599

Fixes https://github.com/intel/compute-runtime/issues/166

Co-authored-by: Jacek Danecki <jacek.danecki@intel.com>
Co-authored-by: Amir Hassan <amir@viel-zu.org>

Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-03-20 12:49:52 +01:00

36 lines
1010 B
C++

/*
* Copyright (C) 2023 Intel Corporation
*
* SPDX-License-Identifier: MIT
*
*/
#pragma once
#include "opencl/source/sharings/sharing_factory.h"
#include <memory>
namespace NEO {
class Context;
struct GlCreateContextProperties;
class GlSharingContextBuilder : public SharingContextBuilder {
public:
GlSharingContextBuilder();
~GlSharingContextBuilder() override;
bool processProperties(cl_context_properties &propertyType, cl_context_properties &propertyValue) override;
bool finalizeProperties(Context &context, int32_t &errcodeRet) override;
protected:
std::unique_ptr<GlCreateContextProperties> contextData;
};
class GlSharingBuilderFactory : public SharingBuilderFactory {
public:
std::unique_ptr<SharingContextBuilder> createContextBuilder() override;
std::string getExtensions(DriverInfo *driverInfo) override;
void fillGlobalDispatchTable() override;
void *getExtensionFunctionAddress(const std::string &functionName) override;
};
} // namespace NEO