Skip to content

Commit e04c352

Browse files
Rob Clarklumag
authored andcommitted
drm/fourcc: Add missing half-float formats
Not something that is likely to be scanned out, but GPUs usually support half-float formats with 1, 2, or possibly 3 components, and it is useful to be able to import/export them with a valid fourcc, and/or use gbm to create them. These correspond to PIPE_FORMAT_{R16,R16G16,R16G16B16}_FLOAT in mesa. Signed-off-by: Rob Clark <robin.clark@oss.qualcomm.com> Acked-by: Simona Vetter <simona@ffwll.ch> Acked-by: Daniel Stone <daniels@collabora.com> Link: https://lore.kernel.org/r/20250625173712.116446-2-robin.clark@oss.qualcomm.com Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
1 parent bb8aa27 commit e04c352

1 file changed

Lines changed: 5 additions & 1 deletion

File tree

include/uapi/drm/drm_fourcc.h

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -218,7 +218,7 @@ extern "C" {
218218
#define DRM_FORMAT_ABGR16161616 fourcc_code('A', 'B', '4', '8') /* [63:0] A:B:G:R 16:16:16:16 little endian */
219219

220220
/*
221-
* Floating point 64bpp RGB
221+
* Half-Floating point - 16b/component
222222
* IEEE 754-2008 binary16 half-precision float
223223
* [15:0] sign:exponent:mantissa 1:5:10
224224
*/
@@ -228,6 +228,10 @@ extern "C" {
228228
#define DRM_FORMAT_ARGB16161616F fourcc_code('A', 'R', '4', 'H') /* [63:0] A:R:G:B 16:16:16:16 little endian */
229229
#define DRM_FORMAT_ABGR16161616F fourcc_code('A', 'B', '4', 'H') /* [63:0] A:B:G:R 16:16:16:16 little endian */
230230

231+
#define DRM_FORMAT_R16F fourcc_code('R', ' ', ' ', 'H') /* [15:0] R 16 little endian */
232+
#define DRM_FORMAT_GR1616F fourcc_code('G', 'R', ' ', 'H') /* [31:0] G:R 16:16 little endian */
233+
#define DRM_FORMAT_BGR161616F fourcc_code('B', 'G', 'R', 'H') /* [47:0] B:G:R 16:16:16 little endian */
234+
231235
/*
232236
* RGBA format with 10-bit components packed in 64-bit per pixel, with 6 bits
233237
* of unused padding per component:

0 commit comments

Comments
 (0)