подключил через hdmi к TV почему показывает 8 или 12 бит
Это на каждый канал цвета (красный, зелёный, синий) по 8 бит, в сумме 8+8+8=24
если подключаю через VGA то 24 бит
А это - в сумме те же самые 24.
На самом деле интерфейсу VGA фиолетово до глубины цвета, т.к. он аналоговый, через него цвета не ходят в виде битов. Можно сказать, что по VGA-кабелю теоретически может проходить бесконечно большая глубина цвета, всё равно он замылит чёткость и исказит цвета, сколько бы их ни было на входе. :) Даже если кабель очень хороший, всё равно двойное преобразование - из цифры в аналог и из аналога в цифру - всё замылит и исказит.