Если мне не изменяет память, то HDR предполагает рендер геометрии в полноэкранную тестуру(этап 1) и перерендеривание из одной полноэкранной текстуры в другую, когда происходит засветка ярких участков еще ярче, а темных - затенение еще сильней, как будто реализован эффект адаптации зрения(этап 2).
Есть еще более хитрый эффект отложенного рендера(DeferredShading) с использованием 3х полноэкранных текстур для нормалей, глубины(расстояния до экрана) и диффузной составляющей изображения.
соответвено, на это не должна влиять составляющая от выделения войск, которая должна рендериться отдельно(этап 3, перед этапом 2) и не проходить операцию засветки HDR, и просто складываться с результатом от HDR (как часть этапа 2, либо как отдельный шейдер суммирования тогда этап 4).
Мне кажется, что вы не использовали технику DeferredShading(это мое предположение), а если отключить HDR, то на ноуте получается нормальная картинка, значит этап 1 проходит успешно. Соответвенно, мне показалось, что ошибка на ноуте происходит на этапе 2, при перерендере из текстуры геометрии сцены в текстуру, для финального вывода геометрии на экран.
Если суммирование геометрии отвечающей за выделение юнитов происходит как чать этапа 2 (в шейдере HDR), и мы видим геометрию выделения, значит, сам шейдер был успешно откомпиллирован, рендербуфер(полноэкранная текстура) нормально создался. Также при условии правильности работы этапа 1 (и правильного места куда он рендерится), то можно предпоолжить, что возможная причина проблемы на ноутбуке - не совсем формально корректная ассоциация индекса тестуры и переменной - sampler отвечающей за текстуру источник основной геометрии в шейдере HDR(или вместо индекса текстуры источника геометрии, подсовывается индекс текстуры - источника выделения юнитов).
Или не совсем формально корректный приемник этапа 1.
Под словами "не совсем формально корректаная" я имею ввиду результат когда на настольном компьютере операция проходит нормально, вследствии автоматической корректировки ошибок дайверами, а на ноутбуке в целях экономии энергопитания, такая автоматическая корректировка не проводится и мы имеем другой результат.
Я занимаюсь научной работой по вычислениям GPGPU в GLSL- там приходится постоянно рендерить из одной текстуры в другую, и для того, чтобы отследить правильно ли произошла ассоциация тестуры - источника для шейдера, или ошибка в чем-то еще, я добавлял к коду шейдера пару строк которая подкрашивала пиксели в радиусе 0.2 от определенной точки(0,0) в фиксированный цвет в текстуре источнике, а в обрабатывающем шейдере, при условии значения пикселя соответвующем этому фиксированному цвету - не производить вычисления, а оставить этот фиксированный цвет, или сложить его с цветом другой тестуры источника.
Таким образом, удавалось выловить ошибку когда вместо одной тестуры подсовывалась другая.
Не знаю, возможно вам поможет что я тут написл...