VRシステム用の画像処理を行うOpenFXプラグインを作成しています。所有権を取らずにcl_contextからOpenCLコンテキストを作成する
私たちの既存の処理コードとプラグインが意図しているホストの両方がOpenCLに基づいているため、ホスト開発者はOpenCL環境を共有するためにOFXへの拡張を与えました。
しかし、私たちのコードはC++ API(cl :: Context)を使用しています。提供された拡張は私にC cl_contextへのポインタを与えます。
cl_contextからcl :: contextを作成する方法はありますか?cl_contextの所有権は持ちませんか? (cl_command_queueのcl :: CommandQueueも同様です)。 APIのドキュメントは、コピーコンストラクタと代入演算子の両方が所有権を取得することを示唆しています。
cl :: Contextインスタンスには、クローンを再構築するために必要な情報(多分 'CL_CONTEXT_DEVICES')を得るのに便利な' .getInfo() 'があります。 –
これを把握できましたか?保持機能は保護されているので、以下の方法を使用することはできません – raaj
はい - @Dithermasterは彼のコメントでclRetainContext()を使用する必要があります。 –