Browse Source

dri: add P010, P012, P016 for 10bit/12bit/16bit YUV420 formats

Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Signed-off-by: Lin Johnson <johnson.lin@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
tags/19.1-branchpoint
Tapani Pälli 6 years ago
parent
commit
722f96bfc8
2 changed files with 21 additions and 0 deletions
  1. 4
    0
      include/GL/internal/dri_interface.h
  2. 17
    0
      src/egl/drivers/dri2/egl_dri2.c

+ 4
- 0
include/GL/internal/dri_interface.h View File

@@ -1352,6 +1352,10 @@ struct __DRIdri2ExtensionRec {
#define __DRI_IMAGE_FOURCC_YVU422 0x36315659
#define __DRI_IMAGE_FOURCC_YVU444 0x34325659

#define __DRI_IMAGE_FOURCC_P010 0x30313050
#define __DRI_IMAGE_FOURCC_P012 0x32313050
#define __DRI_IMAGE_FOURCC_P016 0x36313050

/**
* Queryable on images created by createImageFromNames.
*

+ 17
- 0
src/egl/drivers/dri2/egl_dri2.c View File

@@ -66,6 +66,20 @@
#include "util/u_vector.h"
#include "mapi/glapi/glapi.h"

/* Additional definitions not yet in the drm_fourcc.h.
*/
#ifndef DRM_FORMAT_P010
#define DRM_FORMAT_P010 fourcc_code('P', '0', '1', '0') /* 2x2 subsampled Cb:Cr plane 10 bits per channel */
#endif

#ifndef DRM_FORMAT_P012
#define DRM_FORMAT_P012 fourcc_code('P', '0', '1', '2') /* 2x2 subsampled Cb:Cr plane 12 bits per channel */
#endif

#ifndef DRM_FORMAT_P016
#define DRM_FORMAT_P016 fourcc_code('P', '0', '1', '6') /* 2x2 subsampled Cb:Cr plane 16 bits per channel */
#endif

#define NUM_ATTRIBS 12

static void
@@ -2262,6 +2276,9 @@ dri2_num_fourcc_format_planes(EGLint format)
case DRM_FORMAT_NV21:
case DRM_FORMAT_NV16:
case DRM_FORMAT_NV61:
case DRM_FORMAT_P010:
case DRM_FORMAT_P012:
case DRM_FORMAT_P016:
return 2;

case DRM_FORMAT_YUV410:

Loading…
Cancel
Save