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};