Почему я должен расположить байты для WL_SHM_FORMAT_XRGB8888 так, как мне нужно? - PullRequest
0 голосов
/ 07 апреля 2019

Я установил простое окно с wayland и установил формат буфера на WL_SHM_FORMAT_XRGB8888.Но я озадачен тем, как мне нужно расположить байты так, чтобы цвет отображался правильно.

В сводке из протокола Wayland сказано следующее:

<!-- ... -->
<entry name="xrgb8888" value="1" summary="32-bit RGB format, [31:0] x:R:G:B 8:8:8:8 little endian"/>`
<!-- ... -->

Источник: protocol / wayland.xml

Судя по этому описанию, байты должны отображаться в следующем порядке: XRGB или BGRX (это зависит от того, как "little endian")" имеется в виду).Противоречие я обнаружил, устанавливая байты вручную, что правильный порядок байтов выглядит как RGBX.Это не имеет смысла для меня.

Я нашел этот ресурс , который описывает порядок байтов как XRGB для формата с именем V4L2_PIX_FMT_XRGB32.Я предполагаю, что это их эквивалент WL_SHM_FORMAT_XRGB8888.

Может кто-нибудь подсказать, кто-нибудь, помогите мне разобраться в этом?

Я так не думаю 'очень поможет, но здесь - код для простого окна, которое я упомянул.

...