glXImportContextEXT -
他のプロセスの間接レンダリングコンテクストを取り込む
GLXContext
glXImportContextEXT( Display
*dpy,
GLXContextID contextID )
引き数¶
- dpy
- X
サーバへの接続を指定する。
- contextID
- GLX
レンダリングコンテクストを指定する。
glXImportContextEXT は、既存の GLXContext
の XID を与える GLXContext
を生成する。
この関数を
glXCreateContext
の代わりに用いることで、他のプロセス
と間接共有コンテクストを共有することができる。
X
クライアントの間では、サーバ側のコンテクスト情報しか共有することがで
きない。クライアント側の状態(ピクセルの格納モード等)を共有することはで
きない。したがって、
glXImportContextEXT
はクライアント側の情報を
格納するためにメモリを割り当てなければならない。このメモリは、
glXFreeContextEXT
を呼び出すことによって解放される。
この関数の呼び出しでは、新しい
XID
は生成されない。この関数は単に、
既存のオブジェクトを取り込みを行うクライアント(Display
*)から利用でき
るようにするだけである。
どんな XID
でもそうであるが、この
XID は XID
を生成したクライアントが
サーバへの接続を切った時や、ID
が明示的に削除された時になくなる。
これは XID
がなくなる時である点に注意すること。オブジェクトがなくなる
のは、XID
が無くなり、かつそのコンテクストがどのスレッドにとっても現在
のコンテクストでなくなった時である。
contextID
が直接レンダリングコンテクストを指していてもエラーは生
成されないが、
glXImportContextEXT は NULL を返す。
glXImportContextEXT は
EXT_import_context
機能拡張の一部で
あり、コアの GLX
コマンド群の一部ではない。
引き数として
GLX_EXTENSIONS
を指定した呼び出した
glXQueryExtensionsString
が返す文字列に
GLX_EXT_import_context
が含まれている場合、機能拡張
EXT_import_context
はサポートされている。
エラー¶
contextID
が有効なコンテクストを指していなければ、
GLXBadContext が生成される。
関連項目¶
glXCreateContext,
glXQueryVersion,
glXQueryExtensionsString,
glXGetContextIDEXT,
glXFreeContextEXT