のねのBlog

パソコンの問題や、ソフトウェアの開発で起きた問題など書いていきます。よろしくお願いします^^。

raspberry pi EGL init

ソースコード

/*
 ============================================================================
 Name        : InitEgl.c
 Author      : m.fujii
 Version     :
 Copyright   : Copyright ? 2014 All Rights Reserved.
 Description : Init Egl
 ============================================================================
 */

#include "bcm_host.h"

#include <stdio.h>
#include <stdlib.h>
#include <assert.h>

//#include <GLES/gl.h>
//#include <GLES2/gl2.h>

#include <EGL/egl.h>
//#include <EGL/eglext.h>

int initEgl() {
	// get an EGL display connection
	EGLDisplay display;
	display = eglGetDisplay(EGL_DEFAULT_DISPLAY );
	assert(display != EGL_NO_DISPLAY );

	int major;
	int minor;
	EGLBoolean result;

	result = eglInitialize(display, &major, &minor);
	assert(result != EGL_FALSE );
	printf("Version Major=%d Minor=%d\n", major, minor);

	EGLint numConfigs;
	result = eglGetConfigs(display, NULL, 0, &numConfigs);
	assert(result != EGL_FALSE );
	printf("number of configs found %d \n", numConfigs);

	EGLConfig *configs = (EGLConfig *) calloc(numConfigs, sizeof(EGLConfig));
	if (configs == NULL ) {
		return -1;
	}
	result = eglGetConfigs(display, configs, numConfigs, &numConfigs);
	assert(result != EGL_FALSE );

	EGLint value = 0;
	for (int i = 0; i < numConfigs; ++i) {
		printf("Config #%d\n", i);
		eglGetConfigAttrib(display, configs[i], EGL_BUFFER_SIZE, &value);
		printf("Buffer Size %d\n", value);
		eglGetConfigAttrib(display, configs[i], EGL_RED_SIZE, &value);
		printf("Red Size    %d\n", value);
		eglGetConfigAttrib(display, configs[i], EGL_GREEN_SIZE, &value);
		printf("Green Size  %d\n", value);
		eglGetConfigAttrib(display, configs[i], EGL_BLUE_SIZE, &value);
		printf("Blue Size   %d\n", value);
		eglGetConfigAttrib(display, configs[i], EGL_ALPHA_SIZE, &value);
		printf("Alpha Size  %d\n", value);
		eglGetConfigAttrib(display, configs[i], EGL_CONFIG_CAVEAT, &value);
		switch (value) {
		case EGL_NONE:
			printf("EGL_CONFIG_CAVEAT EGL_NONE        0x%08X\n", value);
			break;
		case EGL_SLOW_CONFIG:
			printf("EGL_CONFIG_CAVEAT EGL_SLOW_CONFIG 0x%08X\n", value);
			break;
		}
		eglGetConfigAttrib(display, configs[i], EGL_CONFIG_ID, &value);
		printf("Config ID   %d\n", value);
		eglGetConfigAttrib(display, configs[i], EGL_DEPTH_SIZE, &value);
		printf("Depth size  %d\n", value);
		eglGetConfigAttrib(display, configs[i], EGL_MAX_PBUFFER_WIDTH, &value);
		printf("Max pbuffer width   %d\n", value);
		eglGetConfigAttrib(display, configs[i], EGL_MAX_PBUFFER_HEIGHT, &value);
		printf("Max pbuffer height  %d\n", value);
		eglGetConfigAttrib(display, configs[i], EGL_MAX_PBUFFER_PIXELS, &value);
		printf("Max pbuffer pixels  %d\n", value);
		eglGetConfigAttrib(display, configs[i], EGL_NATIVE_RENDERABLE, &value);
		printf("Native renderable   %d\n", value);
		eglGetConfigAttrib(display, configs[i], EGL_NATIVE_VISUAL_ID, &value);
		printf("Native visual ID    0x%08X\n", value);
		eglGetConfigAttrib(display, configs[i], EGL_NATIVE_VISUAL_TYPE, &value);
		printf("Native visual type  0x%08X\n", value);
		eglGetConfigAttrib(display, configs[i], EGL_SAMPLE_BUFFERS, &value);
		printf("Sample Buffers      %d\n", value);
		eglGetConfigAttrib(display, configs[i], EGL_SAMPLES, &value);
		printf("Samples             %d\n", value);
		eglGetConfigAttrib(display, configs[i], EGL_SURFACE_TYPE, &value);
		printf("Surface type        0x%08X\n", value);
		eglGetConfigAttrib(display, configs[i], EGL_TRANSPARENT_TYPE, &value);
		printf("Transparent type    0x%08X\n\n", value);
	}

	if (configs != NULL ) {
		free(configs);
	}
	return 0;
}

int main(void) {
	bcm_host_init();
	printf("bcm_host_init done.");

	initEgl();
	printf("initEgl done.");

	return EXIT_SUCCESS;
}

Getting Started with EGL on the Raspberry pi

Last login: Thu Aug 14 00:51:29 2014 from local
echo $PWD'>'

chmod a+x /home/pi/egl/InitEgl;gdbserver :2345 /home/pi/egl/InitEgl;exit

pi@raspberrypi:~$ 
echo $PWD'>'
/home/pi>
pi@raspberrypi:~$ 
pi@raspberrypi:~$ chmod a+x /home/pi/egl/InitEgl;gdbserver :2345 /home/pi/egl/In itEgl;exit
Process /home/pi/egl/InitEgl created; pid = 2969
Listening on port 2345
Remote debugging from host 192.168.24.227


bcm_host_init done.Version Major=1 Minor=4
number of configs found 28 


Config #0
Buffer Size 32
Red Size    8
Green Size  8
Blue Size   8
Alpha Size  8
EGL_CONFIG_CAVEAT EGL_NONE        0x00003038
Config ID   1
Depth size  24
Max pbuffer width   2048
Max pbuffer height  2048
Max pbuffer pixels  4194304
Native renderable   1
Native visual ID    0x00009428
Native visual type  0x00003038
Sample Buffers      0
Samples             0
Surface type        0x00000667
Transparent type    0x00003038

Config #1
Buffer Size 24
Red Size    8
Green Size  8
Blue Size   8
Alpha Size  0
EGL_CONFIG_CAVEAT EGL_NONE        0x00003038
Config ID   2
Depth size  24
Max pbuffer width   2048
Max pbuffer height  2048
Max pbuffer pixels  4194304
Native renderable   1
Native visual ID    0x00008428
Native visual type  0x00003038
Sample Buffers      0
Samples             0
Surface type        0x00000667
Transparent type    0x00003038

Config #2
Buffer Size 32
Red Size    8
Green Size  8
Blue Size   8
Alpha Size  8
EGL_CONFIG_CAVEAT EGL_NONE        0x00003038
Config ID   3
Depth size  24
Max pbuffer width   2048
Max pbuffer height  2048
Max pbuffer pixels  4194304
Native renderable   1
Native visual ID    0x00009428
Native visual type  0x00003038
Sample Buffers      0
Samples             0
Surface type        0x00000667
Transparent type    0x00003038

Config #3
Buffer Size 24
Red Size    8
Green Size  8
Blue Size   8
Alpha Size  0
EGL_CONFIG_CAVEAT EGL_NONE        0x00003038
Config ID   4
Depth size  24
Max pbuffer width   2048
Max pbuffer height  2048
Max pbuffer pixels  4194304
Native renderable   1
Native visual ID    0x00008428
Native visual type  0x00003038
Sample Buffers      0
Samples             0
Surface type        0x00000667
Transparent type    0x00003038

Config #4
Buffer Size 32
Red Size    8
Green Size  8
Blue Size   8
Alpha Size  8
EGL_CONFIG_CAVEAT EGL_NONE        0x00003038
Config ID   5
Depth size  0
Max pbuffer width   2048
Max pbuffer height  2048
Max pbuffer pixels  4194304
Native renderable   1
Native visual ID    0x00009428
Native visual type  0x00003038
Sample Buffers      0
Samples             0
Surface type        0x00000667
Transparent type    0x00003038

Config #5
Buffer Size 24
Red Size    8
Green Size  8
Blue Size   8
Alpha Size  0
EGL_CONFIG_CAVEAT EGL_NONE        0x00003038
Config ID   6
Depth size  0
Max pbuffer width   2048
Max pbuffer height  2048
Max pbuffer pixels  4194304
Native renderable   1
Native visual ID    0x00008428
Native visual type  0x00003038
Sample Buffers      0
Samples             0
Surface type        0x00000667
Transparent type    0x00003038

Config #6
Buffer Size 32
Red Size    8
Green Size  8
Blue Size   8
Alpha Size  8
EGL_CONFIG_CAVEAT EGL_NONE        0x00003038
Config ID   7
Depth size  0
Max pbuffer width   2048
Max pbuffer height  2048
Max pbuffer pixels  4194304
Native renderable   1
Native visual ID    0x00009428
Native visual type  0x00003038
Sample Buffers      0
Samples             0
Surface type        0x00000667
Transparent type    0x00003038

Config #7
Buffer Size 24
Red Size    8
Green Size  8
Blue Size   8
Alpha Size  0
EGL_CONFIG_CAVEAT EGL_NONE        0x00003038
Config ID   8
Depth size  0
Max pbuffer width   2048
Max pbuffer height  2048
Max pbuffer pixels  4194304
Native renderable   1
Native visual ID    0x00008428
Native visual type  0x00003038
Sample Buffers      0
Samples             0
Surface type        0x00000667
Transparent type    0x00003038

Config #8
Buffer Size 32
Red Size    8
Green Size  8
Blue Size   8
Alpha Size  8
EGL_CONFIG_CAVEAT EGL_NONE        0x00003038
Config ID   9
Depth size  24
Max pbuffer width   2048
Max pbuffer height  2048
Max pbuffer pixels  4194304
Native renderable   1
Native visual ID    0x00009428
Native visual type  0x00003038
Sample Buffers      1
Samples             4
Surface type        0x00000667
Transparent type    0x00003038

Config #9
Buffer Size 24
Red Size    8
Green Size  8
Blue Size   8
Alpha Size  0
EGL_CONFIG_CAVEAT EGL_NONE        0x00003038
Config ID   10
Depth size  24
Max pbuffer width   2048
Max pbuffer height  2048
Max pbuffer pixels  4194304
Native renderable   1
Native visual ID    0x00008428
Native visual type  0x00003038
Sample Buffers      1
Samples             4
Surface type        0x00000667
Transparent type    0x00003038

Config #10
Buffer Size 32
Red Size    8
Green Size  8
Blue Size   8
Alpha Size  8
EGL_CONFIG_CAVEAT EGL_NONE        0x00003038
Config ID   11
Depth size  24
Max pbuffer width   2048
Max pbuffer height  2048
Max pbuffer pixels  4194304
Native renderable   1
Native visual ID    0x00009428
Native visual type  0x00003038
Sample Buffers      1
Samples             4
Surface type        0x00000667
Transparent type    0x00003038

Config #11
Buffer Size 24
Red Size    8
Green Size  8
Blue Size   8
Alpha Size  0
EGL_CONFIG_CAVEAT EGL_NONE        0x00003038
Config ID   12
Depth size  24
Max pbuffer width   2048
Max pbuffer height  2048
Max pbuffer pixels  4194304
Native renderable   1
Native visual ID    0x00008428
Native visual type  0x00003038
Sample Buffers      1
Samples             4
Surface type        0x00000667
Transparent type    0x00003038

Config #12
Buffer Size 32
Red Size    8
Green Size  8
Blue Size   8
Alpha Size  8
EGL_CONFIG_CAVEAT EGL_NONE        0x00003038
Config ID   13
Depth size  0
Max pbuffer width   2048
Max pbuffer height  2048
Max pbuffer pixels  4194304
Native renderable   1
Native visual ID    0x00009428
Native visual type  0x00003038
Sample Buffers      1
Samples             4
Surface type        0x00000667
Transparent type    0x00003038

Config #13
Buffer Size 24
Red Size    8
Green Size  8
Blue Size   8
Alpha Size  0
EGL_CONFIG_CAVEAT EGL_NONE        0x00003038
Config ID   14
Depth size  0
Max pbuffer width   2048
Max pbuffer height  2048
Max pbuffer pixels  4194304
Native renderable   1
Native visual ID    0x00008428
Native visual type  0x00003038
Sample Buffers      1
Samples             4
Surface type        0x00000667
Transparent type    0x00003038

Config #14
Buffer Size 32
Red Size    8
Green Size  8
Blue Size   8
Alpha Size  8
EGL_CONFIG_CAVEAT EGL_NONE        0x00003038
Config ID   15
Depth size  0
Max pbuffer width   2048
Max pbuffer height  2048
Max pbuffer pixels  4194304
Native renderable   1
Native visual ID    0x00009428
Native visual type  0x00003038
Sample Buffers      1
Samples             4
Surface type        0x00000667
Transparent type    0x00003038

Config #15
Buffer Size 24
Red Size    8
Green Size  8
Blue Size   8
Alpha Size  0
EGL_CONFIG_CAVEAT EGL_NONE        0x00003038
Config ID   16
Depth size  0
Max pbuffer width   2048
Max pbuffer height  2048
Max pbuffer pixels  4194304
Native renderable   1
Native visual ID    0x00008428
Native visual type  0x00003038
Sample Buffers      1
Samples             4
Surface type        0x00000667
Transparent type    0x00003038

Config #16
Buffer Size 16
Red Size    5
Green Size  6
Blue Size   5
Alpha Size  0
EGL_CONFIG_CAVEAT EGL_NONE        0x00003038
Config ID   17
Depth size  24
Max pbuffer width   2048
Max pbuffer height  2048
Max pbuffer pixels  4194304
Native renderable   1
Native visual ID    0x0001A418
Native visual type  0x00003038
Sample Buffers      0
Samples             0
Surface type        0x00000667
Transparent type    0x00003038

Config #17
Buffer Size 16
Red Size    5
Green Size  6
Blue Size   5
Alpha Size  0
EGL_CONFIG_CAVEAT EGL_NONE        0x00003038
Config ID   18
Depth size  24
Max pbuffer width   2048
Max pbuffer height  2048
Max pbuffer pixels  4194304
Native renderable   1
Native visual ID    0x0001A418
Native visual type  0x00003038
Sample Buffers      0
Samples             0
Surface type        0x00000667
Transparent type    0x00003038

Config #18
Buffer Size 16
Red Size    5
Green Size  6
Blue Size   5
Alpha Size  0
EGL_CONFIG_CAVEAT EGL_NONE        0x00003038
Config ID   19
Depth size  0
Max pbuffer width   2048
Max pbuffer height  2048
Max pbuffer pixels  4194304
Native renderable   1
Native visual ID    0x0001A418
Native visual type  0x00003038
Sample Buffers      0
Samples             0
Surface type        0x00000667
Transparent type    0x00003038

Config #19
Buffer Size 16
Red Size    5
Green Size  6
Blue Size   5
Alpha Size  0
EGL_CONFIG_CAVEAT EGL_NONE        0x00003038
Config ID   20
Depth size  0
Max pbuffer width   2048
Max pbuffer height  2048
Max pbuffer pixels  4194304
Native renderable   1
Native visual ID    0x0001A418
Native visual type  0x00003038
Sample Buffers      0
Samples             0
Surface type        0x00000667
Transparent type    0x00003038

Config #20
Buffer Size 16
Red Size    5
Green Size  6
Blue Size   5
Alpha Size  0
EGL_CONFIG_CAVEAT EGL_NONE        0x00003038
Config ID   21
Depth size  24
Max pbuffer width   2048
Max pbuffer height  2048
Max pbuffer pixels  4194304
Native renderable   1
Native visual ID    0x0001A418
Native visual type  0x00003038
Sample Buffers      1
Samples             4
Surface type        0x00000667
Transparent type    0x00003038

Config #21
Buffer Size 16
Red Size    5
Green Size  6
Blue Size   5
Alpha Size  0
EGL_CONFIG_CAVEAT EGL_NONE        0x00003038
Config ID   22
Depth size  24
Max pbuffer width   2048
Max pbuffer height  2048
Max pbuffer pixels  4194304
Native renderable   1
Native visual ID    0x0001A418
Native visual type  0x00003038
Sample Buffers      1
Samples             4
Surface type        0x00000667
Transparent type    0x00003038

Config #22
Buffer Size 16
Red Size    5
Green Size  6
Blue Size   5
Alpha Size  0
EGL_CONFIG_CAVEAT EGL_NONE        0x00003038
Config ID   23
Depth size  0
Max pbuffer width   2048
Max pbuffer height  2048
Max pbuffer pixels  4194304
Native renderable   1
Native visual ID    0x0001A418
Native visual type  0x00003038
Sample Buffers      1
Samples             4
Surface type        0x00000667
Transparent type    0x00003038

Config #23
Buffer Size 16
Red Size    5
Green Size  6
Blue Size   5
Alpha Size  0
EGL_CONFIG_CAVEAT EGL_NONE        0x00003038
Config ID   24
Depth size  0
Max pbuffer width   2048
Max pbuffer height  2048
Max pbuffer pixels  4194304
Native renderable   1
Native visual ID    0x0001A418
Native visual type  0x00003038
Sample Buffers      1
Samples             4
Surface type        0x00000667
Transparent type    0x00003038

Config #24
Buffer Size 32
Red Size    8
Green Size  8
Blue Size   8
Alpha Size  8
EGL_CONFIG_CAVEAT EGL_NONE        0x00003038
Config ID   25
Depth size  0
Max pbuffer width   2048
Max pbuffer height  2048
Max pbuffer pixels  4194304
Native renderable   1
Native visual ID    0x00009428
Native visual type  0x00003038
Sample Buffers      0
Samples             0
Surface type        0x00000667
Transparent type    0x00003038

Config #25
Buffer Size 24
Red Size    8
Green Size  8
Blue Size   8
Alpha Size  0
EGL_CONFIG_CAVEAT EGL_NONE        0x00003038
Config ID   26
Depth size  0
Max pbuffer width   2048
Max pbuffer height  2048
Max pbuffer pixels  4194304
Native renderable   1
Native visual ID    0x00008428
Native visual type  0x00003038
Sample Buffers      0
Samples             0
Surface type        0x00000667
Transparent type    0x00003038

Config #26
Buffer Size 16
Red Size    5
Green Size  6
Blue Size   5
Alpha Size  0
EGL_CONFIG_CAVEAT EGL_NONE        0x00003038
Config ID   27
Depth size  0
Max pbuffer width   2048
Max pbuffer height  2048
Max pbuffer pixels  4194304
Native renderable   1
Native visual ID    0x0001A418
Native visual type  0x00003038
Sample Buffers      0
Samples             0
Surface type        0x00000667
Transparent type    0x00003038

Config #27
Buffer Size 16
Red Size    5
Green Size  6
Blue Size   5
Alpha Size  0
EGL_CONFIG_CAVEAT EGL_NONE        0x00003038
Config ID   28
Depth size  16
Max pbuffer width   2048
Max pbuffer height  2048
Max pbuffer pixels  4194304
Native renderable   1
Native visual ID    0x0001A418
Native visual type  0x00003038
Sample Buffers      0
Samples             0
Surface type        0x00000667
Transparent type    0x00003038

initEgl done.
Child exited with status 0
GDBserver exiting
logout
34//#define BGR_FB
35
36typedef uint32_t FEATURES_T;
37
38#define FEATURES_PACK(r, g, b, a, d, s, m, mask, lockable) 
    ((FEATURES_T)((((uint32_t)
    (r)) << 28 
  | (g) << 24 
  | (b) << 20 
  | (a) << 16 
  | (d) << 8 
  | (s) << 4 
  | (m) << 3 
  | ((mask) >> 3) << 2) 
  | (lockable) << 1))
39
40typedef struct {
41   FEATURES_T features;
42   KHRN_IMAGE_FORMAT_T color, depth, multisample, mask;
43} FEATURES_AND_FORMATS_T;
44
45/*
46   formats
47
48   For 0 <= id < EGL_MAX_CONFIGS:
49      formats[id].features is valid
50*/
52static FEATURES_AND_FORMATS_T formats[EGL_MAX_CONFIGS] = {
53//                                        LOCKABLE
54//                                    MASK |
55//                R  G  B  A   D  S  M  |  |   COLOR      DEPTH                 MULTISAMPLE           MASK
56   {FEATURES_PACK(8, 8, 8, 8, 24, 8, 0, 0, 0), ABGR_8888, DEPTH_32_TLBD,        IMAGE_FORMAT_INVALID, IMAGE_FORMAT_INVALID},
57   {FEATURES_PACK(8, 8, 8, 0, 24, 8, 0, 0, 0), XBGR_8888, DEPTH_32_TLBD,        IMAGE_FORMAT_INVALID, IMAGE_FORMAT_INVALID},
58   {FEATURES_PACK(8, 8, 8, 8, 24, 0, 0, 0, 0), ABGR_8888, DEPTH_32_TLBD,        IMAGE_FORMAT_INVALID, IMAGE_FORMAT_INVALID},
59   {FEATURES_PACK(8, 8, 8, 0, 24, 0, 0, 0, 0), XBGR_8888, DEPTH_32_TLBD,        IMAGE_FORMAT_INVALID, IMAGE_FORMAT_INVALID},
60   {FEATURES_PACK(8, 8, 8, 8,  0, 8, 0, 0, 0), ABGR_8888, DEPTH_32_TLBD,        IMAGE_FORMAT_INVALID, IMAGE_FORMAT_INVALID},
61   {FEATURES_PACK(8, 8, 8, 0,  0, 8, 0, 0, 0), XBGR_8888, DEPTH_32_TLBD,        IMAGE_FORMAT_INVALID, IMAGE_FORMAT_INVALID},
62   {FEATURES_PACK(8, 8, 8, 8,  0, 0, 0, 0, 0), ABGR_8888, IMAGE_FORMAT_INVALID, IMAGE_FORMAT_INVALID, IMAGE_FORMAT_INVALID},
63   {FEATURES_PACK(8, 8, 8, 0,  0, 0, 0, 0, 0), XBGR_8888, IMAGE_FORMAT_INVALID, IMAGE_FORMAT_INVALID, IMAGE_FORMAT_INVALID},
64
65   {FEATURES_PACK(8, 8, 8, 8, 24, 8, 1, 0, 0), ABGR_8888, DEPTH_32_TLBD /*?*/,  DEPTH_COL_64_TLBD,    IMAGE_FORMAT_INVALID},
66   {FEATURES_PACK(8, 8, 8, 0, 24, 8, 1, 0, 0), XBGR_8888, DEPTH_32_TLBD /*?*/,  DEPTH_COL_64_TLBD,    IMAGE_FORMAT_INVALID},
67   {FEATURES_PACK(8, 8, 8, 8, 24, 0, 1, 0, 0), ABGR_8888, DEPTH_32_TLBD /*?*/,  DEPTH_COL_64_TLBD,    IMAGE_FORMAT_INVALID},
68   {FEATURES_PACK(8, 8, 8, 0, 24, 0, 1, 0, 0), XBGR_8888, DEPTH_32_TLBD /*?*/,  DEPTH_COL_64_TLBD,    IMAGE_FORMAT_INVALID},
69   {FEATURES_PACK(8, 8, 8, 8,  0, 8, 1, 0, 0), ABGR_8888, DEPTH_32_TLBD /*?*/,  DEPTH_COL_64_TLBD,    IMAGE_FORMAT_INVALID},
70   {FEATURES_PACK(8, 8, 8, 0,  0, 8, 1, 0, 0), XBGR_8888, DEPTH_32_TLBD /*?*/,  DEPTH_COL_64_TLBD,    IMAGE_FORMAT_INVALID},
71   {FEATURES_PACK(8, 8, 8, 8,  0, 0, 1, 0, 0), ABGR_8888, IMAGE_FORMAT_INVALID, COL_32_TLBD,          IMAGE_FORMAT_INVALID},
72   {FEATURES_PACK(8, 8, 8, 0,  0, 0, 1, 0, 0), XBGR_8888, IMAGE_FORMAT_INVALID, COL_32_TLBD,          IMAGE_FORMAT_INVALID},
73
74   {FEATURES_PACK(5, 6, 5, 0, 24, 8, 0, 0, 0), RGB_565,   DEPTH_32_TLBD,        IMAGE_FORMAT_INVALID, IMAGE_FORMAT_INVALID},
75   {FEATURES_PACK(5, 6, 5, 0, 24, 0, 0, 0, 0), RGB_565,   DEPTH_32_TLBD,        IMAGE_FORMAT_INVALID, IMAGE_FORMAT_INVALID},
76   {FEATURES_PACK(5, 6, 5, 0,  0, 8, 0, 0, 0), RGB_565,   DEPTH_32_TLBD,        IMAGE_FORMAT_INVALID, IMAGE_FORMAT_INVALID},
77   {FEATURES_PACK(5, 6, 5, 0,  0, 0, 0, 0, 0), RGB_565,   IMAGE_FORMAT_INVALID, IMAGE_FORMAT_INVALID, IMAGE_FORMAT_INVALID},
78
79   {FEATURES_PACK(5, 6, 5, 0, 24, 8, 1, 0, 0), RGB_565,   DEPTH_32_TLBD /*?*/,  DEPTH_COL_64_TLBD,    IMAGE_FORMAT_INVALID},
80   {FEATURES_PACK(5, 6, 5, 0, 24, 0, 1, 0, 0), RGB_565,   DEPTH_32_TLBD /*?*/,  DEPTH_COL_64_TLBD,    IMAGE_FORMAT_INVALID},
81   {FEATURES_PACK(5, 6, 5, 0,  0, 8, 1, 0, 0), RGB_565,   DEPTH_32_TLBD /*?*/,  DEPTH_COL_64_TLBD,    IMAGE_FORMAT_INVALID},
82   {FEATURES_PACK(5, 6, 5, 0,  0, 0, 1, 0, 0), RGB_565,   IMAGE_FORMAT_INVALID, COL_32_TLBD,          IMAGE_FORMAT_INVALID},
83
84#ifndef EGL_NO_ALPHA_MASK_CONFIGS
85   {FEATURES_PACK(8, 8, 8, 8,  0, 0, 0, 8, 0), ABGR_8888, IMAGE_FORMAT_INVALID, IMAGE_FORMAT_INVALID, A_8_RSO},
86   {FEATURES_PACK(8, 8, 8, 0,  0, 0, 0, 8, 0), XBGR_8888, IMAGE_FORMAT_INVALID, IMAGE_FORMAT_INVALID, A_8_RSO},
87   {FEATURES_PACK(5, 6, 5, 0,  0, 0, 0, 8, 0), RGB_565,   IMAGE_FORMAT_INVALID, IMAGE_FORMAT_INVALID, A_8_RSO},
88#endif
89
90   {FEATURES_PACK(5, 6, 5, 0, 16, 0, 0, 0, 0), RGB_565,   DEPTH_32_TLBD,        IMAGE_FORMAT_INVALID, IMAGE_FORMAT_INVALID},
91
92};