Почему я не вижу некоторые переменные в файлах .fx во время графической отладки? - PullRequest
0 голосов
/ 26 октября 2018

Я столкнулся с множеством проблем при использовании Graphic Diagnostics в Visual Studio 2015. Иногда я просто хочу посмотреть, работает ли шейдер так, как я планировал, но в следующих кодах:

int2 xy0 = int2(dispatchThreadID.x + 1, dispatchThreadID.y + 1);
int2 xy1 = int2(gCurTex.Length.x - 1, gCurTex.Length.y - 1);
int2 xy = MinInt2(xy0, xy1);
gCache1[groupThreadID.x + 2][groupThreadID.y + 2] = gCurTex[xy];

Я вижу xy1 в окне Local Variable, но не xy. Снимок экрана

Также общая память, созданная в шейдере, не может отображать значения.

Так что мне интересно:

  1. Почему я не вижу некоторые переменные, а не другие?
  2. Как я могу видеть эти скрытые переменные?

К вашему сведению, я использую fxc.exe вместо компилятора HLSL в Visual Studio для компиляции моего файла шейдера.Вот мои настройки:

fxc /Fc /Od /Zi /T fx_5_0 /Fo "%(RelativeDir)\%(Filename).fxo" "%(FullPath)"
...