Windows ストア アプリ (および Windows Phone 8) のシェーダーをビルドするには、シェーダー モデル 4_0_level_9_3 を vs_4_0_level_9_3 と ps_4_0_level_9_3 を使用する必要があります。DirectX 10 以降用に設計された HLSL 構文を使用すると、これらすべてが問題ないように思えますが、DirectX 9 の VPOS セマンティックを使用することも、DirectX 10 以降の SV_POSITION をピクセル シェーダーで使用することもできません。クリップ空間の頂点位置を出力するためのセマンティック?
PS: 4_0_level_9_3 の一部のシェーダーは、「内部エラー: level9 と d3d10 シェーダーの間のブロブ コンテンツの不一致」を吐き出しますが、これについてはわかりません。おそらく、私が推測するドライバー (私は Nvidia GTX 560 TI を使用しています) との不一致は、リリース フラグ (最適化レベル 3 など) を使用してシェーダーをコンパイルし、フロー制御を回避するだけで解消されることがわかります。