Внутренняя ошибка компилятора не является здесь полезной ошибкой, но шаблон, который вы использовали выше, просто не то, что пишет большинство людей.Тот же шейдер работает, если вы напишите его как:
Texture2D tex0 : register(t0);
Texture2D tex1 : register(t1);
SamplerState s : register(s0);
float4 main(float2 tc : TEXCOORD0) : SV_TARGET
{
if (tc.x > 0.5)
{
return tex1.SampleLevel(s, tc, 0);
}
else
{
return tex0.SampleLevel(s, tc, 0);
}
}
Обратите внимание, что компилятор DXIL для Shader Model 6 возвращает более заметную ошибку в этом случае:
ошибка: локальный ресурс не гарантируется для сопоставления с уникальным глобальным ресурсом.Используйте / Zi для исходного местоположения.