インテル® C++ コンパイラー 15.0 ユーザー・リファレンス・ガイド

_GFX_wait

オフロードキューの最後のカーネルの完了を待機します。このトピックは、インテル® グラフィックス・テクノロジー向けのインテル® 64 アーキテクチャーと IA-32 アーキテクチャーにのみ適用されます。

構文

int _GFX_wait(GfxTaskId task_id = 0, int wait_time_ms = -1);

パラメーター

task_id

事前に _GFX_enqueue で取得した、待機するタスクの ID。0 の場合、_GFX_wait は関数呼び出し時のキューの最も新しいタスクを待機します。

wait_time_ms

_GFX_wait で待機する時間 (ミリ秒)。-1 に設定すると、デフォルトのタイムアウト値が使用されます。デフォルトのタイムアウト値は、実装や環境設定に依存します。また、無限に設定されている場合もあります。

説明

この関数を使用して、キューの最後のカーネルの完了を待機します。 インテル® グラフィックス・テクノロジー・ランタイムは、処理を容易にするため、1 つのデフォルトキューのみ保持します。

この関数は、内部オブジェクトの使用状況のチェックやクリーンアップ処理の実行など、リソースのクリーンアップ・ポイントとしての役割も果たします。

関数が正常に終了すると、関数に渡されたタスク ID は無効となり、対応するタスクはキューから削除されます。 また、そのタスクよりも前にキューに追加されたすべてのタスクは完了済みであるため、それらのタスク ID も無効になります。

渡されたタスク ID が無効な場合、例えばそのタスクが完了済みでタスク・オブジェクトが破棄されている場合、関数は GFX_TASKID_NOT_FOUND エラーを返します。

この関数はスレッドセーフです。つまり、同期を追加することなく、異なるホストスレッドから利用できます。

_GFX_enqueue を使用して複数のスレッドがオフロードタスクを追加すると、_GFX_wait は、ほかのスレッドにより追加されたタスクも含め、呼び出し前にグローバルに追加されたすべてのタスクの完了を待機します。

戻り値

GFX_SUCCESS (0)

関数の実行に成功しました。

非ゼロのエラーコード

エラーが発生しました。_GFX_get_last_error() 関数を使用してエラーコードを取得してください。 各種エラーステータス値は、gfx_rt.h で定義されています。

最適化に関する注意事項

インテル® コンパイラーは、互換マイクロプロセッサー向けには、インテル製マイクロプロセッサー向けと同等レベルの最適化が行われない可能性があります。これには、インテル® ストリーミング SIMD 拡張命令 2 (インテル® SSE2)、インテル® ストリーミング SIMD 拡張命令 3 (インテル® SSE3)、ストリーミング SIMD 拡張命令 3 補足命令 (SSSE3) 命令セットに関連する最適化およびその他の最適化が含まれます。インテルでは、インテル製ではないマイクロプロセッサーに対して、最適化の提供、機能、効果を保証していません。本製品のマイクロプロセッサー固有の最適化は、インテル製マイクロプロセッサーでの使用を目的としています。インテル® マイクロアーキテクチャーに非固有の特定の最適化は、インテル製マイクロプロセッサー向けに予約されています。この注意事項の適用対象である特定の命令セットの詳細は、該当する製品のユーザー・リファレンス・ガイドを参照してください。

改訂 #20110804


このヘルプトピックについてのフィードバックを送信