Hi! We investigating if we can do a 10bits RGBA graphics application with Jetson AGX.
We would like to do application that use texture with openGL similiar to “gears-cube” application comes with . We noticed EGL frame buffer does not have a configuration that supports RGB > 8 bits. There are 52 configurations but none supports RGB size > 8bits.
/* get all egl frame buffer configurations*/
EGLint numFBConfig;
eglGetConfigs(demoState.display, NULL, 0, &numFBConfig);
printf("Total Num of FrameBufferConfig: %d.\n", numFBConfig);
EGLint configArrySize = numFBConfig;
EGLConfig * FB_configs = malloc(configArrySize * sizeof(EGLConfig));
eglGetConfigs(demoState.display, FB_configs, configArrySize, &numFBConfig);
printf("EGL: _CONFIG_ID EGL_LEVEL COLOR_BUFFER_TYPE _DEPTH_SIZE _BUFFER_ SIZE _RED_SIZE _GREEN_SIZE _BLUE_SIZE _ALPHA_SIZE _STENCIL_SIZE");
printf("_ALPHA_SIZE _STENCIL_SIZE _TRANSPARENT_TYPE \n");
for (int i = 0; i < numFBConfig; i++)
{
EGLint value;
eglGetConfigAttrib(demoState.display, FB_configs[i], EGL_CONFIG_ID, &value); printf(" %2d ", value);
eglGetConfigAttrib(demoState.display, FB_configs[i], EGL_LEVEL, &value); printf("%2d ", value);
eglGetConfigAttrib(demoState.display, FB_configs[i], EGL_COLOR_BUFFER_TYPE, &value); printf(" %s ", (value == EGL_RGB_BUFFER)? "EGL_RGB_BUFFER" : "EGL_LUMINANCE_BUFFER");
eglGetConfigAttrib(demoState.display, FB_configs[i], EGL_DEPTH_SIZE, &value); printf(" %2d ", value);
eglGetConfigAttrib(demoState.display, FB_configs[i], EGL_BUFFER_SIZE, &value); printf(" %2d ", value);
eglGetConfigAttrib(demoState.display, FB_configs[i], EGL_RED_SIZE, &value); printf(" %2d ", value);
eglGetConfigAttrib(demoState.display, FB_configs[i], EGL_GREEN_SIZE, &value); printf(" %2d ", value);
eglGetConfigAttrib(demoState.display, FB_configs[i], EGL_BLUE_SIZE, &value); printf(" %2d ", value);
eglGetConfigAttrib(demoState.display, FB_configs[i], EGL_ALPHA_SIZE, &value); printf(" %2d ", value);
eglGetConfigAttrib(demoState.display, FB_configs[i], EGL_STENCIL_SIZE, &value); printf(" %2d ", value);
eglGetConfigAttrib(demoState.display, FB_configs[i], EGL_TRANSPARENT_TYPE, &value); printf("%s", (value == EGL_TRANSPARENT_RGB)? "EGL_TRANSPARENT_RGB" : "EGL_NONE");
printf("\n");
}
Total Num of FrameBufferConfig: 52.
EGL: _CONFIG_ID EGL_LEVEL COLOR_BUFFER_TYPE _DEPTH_SIZE _BUFFER_ SIZE _RED_SIZE _GREEN_SIZE _BLUE_SIZE _ALPHA_SIZE _STENCIL_SIZE_ALPHA_SIZE _STENCIL_SIZE _TRANSPARENT_TYPE
1 0 EGL_RGB_BUFFER 24 32 8 8 8 8 8 EGL_NONE
2 0 EGL_RGB_BUFFER 24 32 8 8 8 8 0 EGL_NONE
3 0 EGL_RGB_BUFFER 0 32 8 8 8 8 8 EGL_NONE
4 0 EGL_RGB_BUFFER 0 32 8 8 8 8 0 EGL_NONE
5 0 EGL_RGB_BUFFER 24 32 8 8 8 8 8 EGL_NONE
6 0 EGL_RGB_BUFFER 24 32 8 8 8 8 0 EGL_NONE
7 0 EGL_RGB_BUFFER 0 32 8 8 8 8 8 EGL_NONE
8 0 EGL_RGB_BUFFER 0 32 8 8 8 8 0 EGL_NONE
9 0 EGL_RGB_BUFFER 24 32 8 8 8 8 8 EGL_NONE
10 0 EGL_RGB_BUFFER 24 32 8 8 8 8 0 EGL_NONE
11 0 EGL_RGB_BUFFER 0 32 8 8 8 8 8 EGL_NONE
12 0 EGL_RGB_BUFFER 0 32 8 8 8 8 0 EGL_NONE
13 0 EGL_RGB_BUFFER 24 32 8 8 8 8 8 EGL_NONE
14 0 EGL_RGB_BUFFER 24 32 8 8 8 8 0 EGL_NONE
15 0 EGL_RGB_BUFFER 0 32 8 8 8 8 8 EGL_NONE
16 0 EGL_RGB_BUFFER 0 32 8 8 8 8 0 EGL_NONE
17 0 EGL_RGB_BUFFER 24 24 8 8 8 0 8 EGL_NONE
18 0 EGL_RGB_BUFFER 24 24 8 8 8 0 0 EGL_NONE
19 0 EGL_RGB_BUFFER 0 24 8 8 8 0 8 EGL_NONE
20 0 EGL_RGB_BUFFER 0 24 8 8 8 0 0 EGL_NONE
21 0 EGL_RGB_BUFFER 24 24 8 8 8 0 8 EGL_NONE
22 0 EGL_RGB_BUFFER 24 24 8 8 8 0 0 EGL_NONE
23 0 EGL_RGB_BUFFER 0 24 8 8 8 0 8 EGL_NONE
24 0 EGL_RGB_BUFFER 0 24 8 8 8 0 0 EGL_NONE
25 0 EGL_RGB_BUFFER 24 24 8 8 8 0 8 EGL_NONE
26 0 EGL_RGB_BUFFER 24 24 8 8 8 0 0 EGL_NONE
27 0 EGL_RGB_BUFFER 0 24 8 8 8 0 8 EGL_NONE
28 0 EGL_RGB_BUFFER 0 24 8 8 8 0 0 EGL_NONE
29 0 EGL_RGB_BUFFER 24 24 8 8 8 0 8 EGL_NONE
30 0 EGL_RGB_BUFFER 24 24 8 8 8 0 0 EGL_NONE
31 0 EGL_RGB_BUFFER 0 24 8 8 8 0 8 EGL_NONE
32 0 EGL_RGB_BUFFER 0 24 8 8 8 0 0 EGL_NONE
33 0 EGL_RGB_BUFFER 24 16 5 6 5 0 8 EGL_NONE
34 0 EGL_RGB_BUFFER 24 16 5 6 5 0 0 EGL_NONE
35 0 EGL_RGB_BUFFER 16 16 5 6 5 0 0 EGL_NONE
36 0 EGL_RGB_BUFFER 0 16 5 6 5 0 8 EGL_NONE
37 0 EGL_RGB_BUFFER 0 16 5 6 5 0 0 EGL_NONE
38 0 EGL_RGB_BUFFER 24 16 5 6 5 0 8 EGL_NONE
39 0 EGL_RGB_BUFFER 24 16 5 6 5 0 0 EGL_NONE
40 0 EGL_RGB_BUFFER 16 16 5 6 5 0 0 EGL_NONE
41 0 EGL_RGB_BUFFER 0 16 5 6 5 0 8 EGL_NONE
42 0 EGL_RGB_BUFFER 0 16 5 6 5 0 0 EGL_NONE
43 0 EGL_RGB_BUFFER 24 16 5 6 5 0 8 EGL_NONE
44 0 EGL_RGB_BUFFER 24 16 5 6 5 0 0 EGL_NONE
45 0 EGL_RGB_BUFFER 16 16 5 6 5 0 0 EGL_NONE
46 0 EGL_RGB_BUFFER 0 16 5 6 5 0 8 EGL_NONE
47 0 EGL_RGB_BUFFER 0 16 5 6 5 0 0 EGL_NONE
48 0 EGL_RGB_BUFFER 24 16 5 6 5 0 8 EGL_NONE
49 0 EGL_RGB_BUFFER 24 16 5 6 5 0 0 EGL_NONE
50 0 EGL_RGB_BUFFER 16 16 5 6 5 0 0 EGL_NONE
51 0 EGL_RGB_BUFFER 0 16 5 6 5 0 8 EGL_NONE
52 0 EGL_RGB_BUFFER 0 16 5 6 5 0 0 EGL_NONE
L4T Version: 32.2
Please advice if there’s any possible way to do 10bits graphics with Jetson AGX? Is it possible the underlying driver can be changed to adapted?
Thanks!
Jetsy