In doing so I have run into some issues w.r.t building of the simple sample file using CodeWarrior MobileGT 9 for Windows which I got in the package.
I have included the errors at the end of this message and attached the sample project created with the main.c file.
What I am missing are the libraries such as,
libGLES_CM.so
libIMGegl.so
libsrv_um_1.1.32.987.so
libpvrNULLWSEGL.so
libpvr2d.so
libclcdc.so, on my desktop to link with and then later download on to the ADS512101 board. CW generates .elf files for its exapmples which can be downloaded on the evaluation board.
Do kindly let me know a way to get the project built.Also any pointers to any information to get the above working would be very useful in exploring the listed ALT Software libraries for OpenGL ES and EGL.1.1 .
Thanks,
Rohit
ERRORS:
-------------------------------------------------------------------------------------------------------------------------------------------------------
Link Error : E:\NCS\Display\ADS512101Board\TestExamples\EGLTestProject\EGLTestProject_Data\Application_Debug\ObjectCode\main.c.o(.text+0x44)
: In function `main':
Error : undefined reference to `eglGetDisplay'
main.c line 19
Link Error : E:\NCS\Display\ADS512101Board\TestExamples\EGLTestProject\EGLTestProject_Data\Application_Debug\ObjectCode\main.c.o(.text+0x64)
: E:/NCS/Display/ADS512101Board/TestExamples/EGLTestProject/Source/main.c:24: undefined reference to `eglInitialize'
Link Error : E:\NCS\Display\ADS512101Board\TestExamples\EGLTestProject\EGLTestProject_Data\Application_Debug\ObjectCode\main.c.o(.text+0x248)
: E:/NCS/Display/ADS512101Board/TestExamples/EGLTestProject/Source/main.c:43: undefined reference to `eglChooseConfig'
Link Error : E:\NCS\Display\ADS512101Board\TestExamples\EGLTestProject\EGLTestProject_Data\Application_Debug\ObjectCode\main.c.o(.text+0x25c)
: E:/NCS/Display/ADS512101Board/TestExamples/EGLTestProject/Source/main.c:44: undefined reference to `eglCreateWindowSurface'
Link Error : E:\NCS\Display\ADS512101Board\TestExamples\EGLTestProject\EGLTestProject_Data\Application_Debug\ObjectCode\main.c.o(.text+0x274)
: E:/NCS/Display/ADS512101Board/TestExamples/EGLTestProject/Source/main.c:47: undefined reference to `eglGetError'
Link Error : E:\NCS\Display\ADS512101Board\TestExamples\EGLTestProject\EGLTestProject_Data\Application_Debug\ObjectCode\main.c.o(.text+0x288)
: E:/NCS/Display/ADS512101Board/TestExamples/EGLTestProject/Source/main.c:48: undefined reference to `eglCreateWindowSurface'
Link Error : E:\NCS\Display\ADS512101Board\TestExamples\EGLTestProject\EGLTestProject_Data\Application_Debug\ObjectCode\main.c.o(.text+0x2a4)
: E:/NCS/Display/ADS512101Board/TestExamples/EGLTestProject/Source/main.c:51: undefined reference to `eglCreateContext'
Link Error : E:\NCS\Display\ADS512101Board\TestExamples\EGLTestProject\EGLTestProject_Data\Application_Debug\ObjectCode\main.c.o(.text+0x2dc)
: E:/NCS/Display/ADS512101Board/TestExamples/EGLTestProject/Source/main.c:57: undefined reference to `glClearColor'
Link Error : E:\NCS\Display\ADS512101Board\TestExamples\EGLTestProject\EGLTestProject_Data\Application_Debug\ObjectCode\main.c.o(.text+0x300)
: E:/NCS/Display/ADS512101Board/TestExamples/EGLTestProject/Source/main.c:61: undefined reference to `glClearColor'
Link Error : E:\NCS\Display\ADS512101Board\TestExamples\EGLTestProject\EGLTestProject_Data\Application_Debug\ObjectCode\main.c.o(.text+0x314)
: E:/NCS/Display/ADS512101Board/TestExamples/EGLTestProject/Source/main.c:66: undefined reference to `glClear'
Link Error : E:\NCS\Display\ADS512101Board\TestExamples\EGLTestProject\EGLTestProject_Data\Application_Debug\ObjectCode\main.c.o(.text+0x320)
: E:/NCS/Display/ADS512101Board/TestExamples/EGLTestProject/Source/main.c:72: undefined reference to `eglSwapBuffers'
Link Error : ld returned 1 exit status
Link Error : Link failed
--------------------------------------------------------------------------------------------------------------------------------------------------------
Created Example: main.c
#include <stdio.h>
#include <GLES/egl.h>
/* Standard header file from Khronos also supplied with Imagination Techonologies ES 1.1 SDK for linux */
int main()
{
int i;
int iConfigs;
EGLDisplay eglDisplay = 0;
EGLConfig eglConfig = 0;
EGLSurface eglSurface = 0;
EGLContext eglContext = 0;
//NativeWindowType eglWindow = 0;
EGLint pi32ConfigAttribs[128];
EGLint iMajorVersion, iMinorVersion;
printf("Welcome to CodeWarrior!\r\n");
eglDisplay = eglGetDisplay(EGL_DEFAULT_DISPLAY);
if (!eglInitialize(eglDisplay, &iMajorVersion, &iMinorVersion))
{
//printf("\n EGL NOT initialized\n");
}
i = 0;
pi32ConfigAttribs[i++] = EGL_RED_SIZE;
pi32ConfigAttribs[i++] = 5;
pi32ConfigAttribs[i++] = EGL_GREEN_SIZE;
pi32ConfigAttribs[i++] = 6;
pi32ConfigAttribs[i++] = EGL_BLUE_SIZE;
pi32ConfigAttribs[i++] = 5;
pi32ConfigAttribs[i++] = EGL_ALPHA_SIZE;
pi32ConfigAttribs[i++] = 0;
pi32ConfigAttribs[i++] = EGL_SURFACE_TYPE;
pi32ConfigAttribs[i++] = EGL_WINDOW_BIT;
pi32ConfigAttribs[i++] = EGL_NONE;
eglChooseConfig(eglDisplay, pi32ConfigAttribs, &eglConfig, 1, &iConfigs) || (iConfigs != 1);
eglSurface = eglCreateWindowSurface(eglDisplay, eglConfig, 0, 0);
if(eglSurface == EGL_NO_SURFACE)
{
eglGetError(); // Clear error
eglSurface = eglCreateWindowSurface(eglDisplay, eglConfig, NULL, NULL);
}
eglContext = eglCreateContext(eglDisplay, eglConfig, NULL, NULL);
for(i = 0; i < 1000; ++i)
{
glClearColor((0.6f), (0.8f), (1.0f), (1.0f)); // clear blue
glClearColor((1.0f), (1.0f), (0.66f), (1.0f)); // clear yellow
glClear(GL_COLOR_BUFFER_BIT);
/*
Swap Buffers.
Brings to the native display the current render surface.
*/
eglSwapBuffers(eglDisplay, eglSurface);
}
return 0;
}