次の方法で共有


D1159: コマンドリスト トポロジが無効です

コマンド リストは、コマンド リストを使用する効果グラフの一部である効果を参照できません。

 

考えられる原因

コマンド リストの設定中に、アプリケーションに ID2D1DeviceContext::D rawImage の呼び出しが含まれる場合があります。 ID2D1DeviceContext::D rawImage は、ビットマップ、効果、またはコマンド リストを描画するために使用できます。 その結果、ID2D1DeviceContext::D rawImage 呼び出しで、同じコマンド リストがターゲットとして設定されている間にコマンド リストの描画が試行される可能性があります。 ただし、この方法で自己参照するコマンド リストは無効です。 Direct2D は、これが発生したケースを特定し、エラーを報告し、デバッグ レイヤーはこのメッセージを出力します。

可能な修正方法

コマンド リストを設定するときに、デバイス コンテキストで同じコマンド リストを使用する操作が発行されないことを確認します。 これが起こり得る最も明白な方法は、ターゲットとして設定されているのと同じコマンド リストを使用して ID2D1DeviceContext::D rawImage を呼び出す方法です。 ただし、ID2D1DeviceContext::D rawImage は効果グラフを参照する可能性があり、効果グラフ内の 1 つのノードがターゲット コマンド リストの使用を試みる可能性があります。 使用する前にコマンド リストが正しく設定されていること、および ID2D1DeviceContext::SetTarget の呼び出しが目的のターゲットを参照していることを確認します。