• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1Name
2
3    MESA_drm_image_formats
4
5Name Strings
6
7    EGL_MESA_drm_image_formats
8
9Contributors
10
11    Nicolai Hähnle <Nicolai.Haehnle@amd.com>
12    Qiang Yu <Qiang.Yu@amd.com>
13
14Contact
15
16    Nicolai Hähnle <Nicolai.Haehnle@amd.com>
17
18Status
19
20    Proposal
21
22Version
23
24    Version 1, January 26, 2017
25
26Number
27
28    EGL Extension #??
29
30Dependencies
31
32    This extension requires the EGL_MESA_drm_image extension.
33
34    This extension is written against the wording of EGL_MESA_drm_image
35    specification.
36
37Overview
38
39    This extension extends the functionality of EGL_MESA_drm_image by adding
40    additional formats required by Glamor for use with DRM buffers.
41
42IP Status
43
44    Open-source; freely implementable.
45
46New Procedures and Functions
47
48    None
49
50New Tokens
51
52    Accepted as values for the EGL_IMAGE_FORMAT_MESA attribute:
53
54        EGL_DRM_BUFFER_FORMAT_ARGB2101010_MESA  0x3290
55        EGL_DRM_BUFFER_FORMAT_ARGB1555_MESA     0x3291
56        EGL_DRM_BUFFER_FORMAT_RGB565_MESA       0x3292
57
58Additions to the EGL_MESA_drm_image Specification:
59
60    Remove the sentence "The only format specified ..." from the paragraph
61    describing eglCreateDRMImageMESA and add the following paragraph:
62
63        The formats specified for use with EGL_DRM_BUFFER_FORMAT_MESA are:
64
65      * EGL_DRM_BUFFER_FORMAT_ARGB32_MESA, where each pixel is a CPU-endian
66        32-bit quantity, with alpha in the upper 8 bits, then red, then green,
67        then blue,
68
69      * EGL_DRM_BUFFER_FORMAT_ARGB2101010_MESA, where each pixel is a CPU-
70        endian, 32-bit quantity, with alpha in the most significant 2 bits,
71        followed by 10 bits each for red, green, and blue,
72
73      * EGL_DRM_BUFFER_FORMAT_ARGB1555_MESA, where each pixel is a CPU-endian
74        16-bit quantity, with alpha in the most significant bit, followed by
75        5 bits each for red, green, and blue, and
76
77      * EGL_DRM_BUFFER_FORMAT_RGB565_MESA, where each pixel is a CPU-endian
78        16-bit quantity, with red in the 5 most significant bits, followed by
79        6 bits of green and 5 bits of blue.
80
81Issues
82
83    1. Should we expose the full set of channel permutations for the formats,
84       e.g. ABGR2101010, RGBA1010102, and BGRA1010102 in addition to
85       ARGB2101010?
86
87       RESOLVED: No.
88
89       DISCUSSION: The original extension sets a precedent of only exposing one
90       of the possible permutations of 8-bit channel formats. It is also not
91       clear where the additional permutations would be used. For example,
92       Glamor has a fixed mapping from pixmap/screen depth to format that
93       doesn't allow for the other permutations.
94
95Revision History
96
97    Version 1, January, 2017
98        Initial draft (Nicolai Hähnle)
99