2011-12-31 10 views
2

質問:GLXContextを取得してclCreateContextFromTypeに渡すにはどうすればよいですか?OpenCLコンテキストを作成するためのGLXコンテキスト


情報:

私はどのようにOpenGLのCL相互運用機能の動作を学んでいます。私はopenCLがどのように動作し、openGlがどのように動作するのかを学びました。今、私はそれらを連携させる最終段階に入っています。私はglutを使っていましたが、その後GLからGLのコンテキストを作成する必要があるため、GLの使用を開始しました。私は私のGLXContextがグローバル変数として保存されていて、私はclCreateContextFromTypeにそれを渡すと、私はコンパイル時に私はこれを取得:

error: invalid conversion from ‘GLXContext {aka __GLXcontextRec*}’ to ‘cl_context_properties {aka long int}’ 

だから私は、インターネットの周りを走ったこのblogからいくつかのアドバイスを見つけた、とcl_context_propertiesリストを作りましたそれには{CL_GLX_DISPLAY_KHR、glc}が含まれていました。それはまったく同じエラーを投げた。私はここで何が欠けていますか?このGLXコンテキストをopenCLに適したものにするためには、明らかに何かが必要です。私は何が欠けていますか?

答えて

3

私はそれを考え出した:

cl_context_properties props[] = 
{ 
    CL_GL_CONTEXT_KHR, (cl_context_properties)glXGetCurrentContext(), 
    CL_GLX_DISPLAY_KHR, (cl_context_properties)glXGetCurrentDisplay(), 
    CL_CONTEXT_PLATFORM, (cl_context_properties)(platform_id), 
    0 
}; 

それは私が本当に知りません動作しますなぜ。しかし、私はそれを見つけたhere

+0

これはいわゆるプロパティリストです。そのような種類のリストは、関数に任意の数のパラメータを供給するために使用されます。偶数番号の要素(0,2,4、...)は、奇数番号の各パラメータに続いて* what *が与えられていることを伝えます。 – datenwolf

+0

あなた自身が答えを見つけたので、問題が解決したことを示すためにそれを受け入れてください。 – datenwolf

+0

私はまだプロパティリストにキャストできる理由はまだありませんが、別の方法でキャストできませんでした。しかし、ありがとう。 – Narcolapser

関連する問題