Я просто хочу разгрузить свой ЦП от преобразования каждого в 8-битный, прежде чем перетаскивать его в графический процессор.
Ну, этого не произойдет.Графический процессор никогда не выполняет преобразования форматов (за исключением, может быть, стремительного, но это действительно часть DMA).Процессор выполняет преобразование форматов, поэтому так важно избегать несовпадений форматов.
Так что даже если бы в OpenGL был способ описания 10-битных одноканальных данных, вы все равно полагались бы на процессорчтобы декодировать его в формат, который фактически использует графический процессор (то есть: 8-битный).Это просто не будет ваш код, выполняющий преобразование;это был бы код водителя.В любом случае, он потребляет ресурсы ЦП.
Но это не имеет отношения к вашим потребностям, поскольку OpenGL не имеет способа загрузки 10-битных одноканальных данных.Как вы даже храните это;пиксели не выровнены по байтам.
В общем, рекомендуется делать это преобразование в автономном режиме, где это возможно, и сохранять данные в форматах, где это наиболее целесообразно.