\r
#define _IN_DRAW\r
\r
-#ifdef _WINDOWS\r
-#include "stdafx.h"\r
-#include <stdio.h>\r
-#include <stdlib.h>\r
-#include <math.h>\r
-#include "externals.h"\r
-#include "gpu.h"\r
-#include "draw.h"\r
-#include "prim.h"\r
-#include "texture.h"\r
-#else\r
+\r
#include "gpuExternals.h"\r
#include "gpuPlugin.h"\r
#include "gpuDraw.h"\r
#include <stdio.h>\r
#include <stdlib.h>\r
#include <math.h>\r
-#endif\r
//#include "menu.h"\r
\r
////////////////////////////////////////////////////////////////////////////////////\r
////////////////////////////////////////////////////////////////////////////////////\r
// draw globals\r
\r
-#ifdef _WINDOWS\r
-HDC dcGlobal=NULL;\r
-HWND hWWindow;\r
-#else\r
void glBlendEquationEXT(GLenum mode);\r
void glColorTableEXT(GLenum target, GLenum internalFormat, GLsizei width, GLenum format,GLenum type, const GLvoid *data);\r
-#endif\r
\r
// draw globals; most will be initialized again later (by config or checks) \r
\r
// Set OGL pixel format\r
////////////////////////////////////////////////////////////////////////\r
\r
-#ifdef _WINDOWS\r
-BOOL bSetupPixelFormat(HDC hDC)\r
-{\r
- int pixelformat;\r
- static PIXELFORMATDESCRIPTOR pfd = \r
- {\r
- sizeof(PIXELFORMATDESCRIPTOR), // size of this pfd\r
- 1, // version number\r
- PFD_DRAW_TO_WINDOW | // support window\r
- PFD_SUPPORT_OPENGL | // support OpenGL\r
- PFD_DOUBLEBUFFER, // double buffered\r
- PFD_TYPE_RGBA, // RGBA type\r
- 16, // 16-bit color depth (adjusted later)\r
- 0, 0, 0, 0, 0, 0, // color bits ignored\r
- 0, // no alpha buffer\r
- 0, // shift bit ignored\r
- 0, // no accumulation buffer\r
- 0, 0, 0, 0, // accum bits ignored\r
- 0, // z-buffer \r
- 0,\r
- 0, // no auxiliary buffer\r
- PFD_MAIN_PLANE, // main layer\r
- 0, // reserved\r
- 0, 0, 0 // layer masks ignored\r
- };\r
- \r
- pfd.cColorBits=iColDepth; // set user color depth\r
- pfd.cDepthBits=iZBufferDepth; // set user zbuffer (by psx mask)\r
-\r
- if((pixelformat=ChoosePixelFormat(hDC,&pfd))==0) \r
- {\r
- MessageBox(NULL,"ChoosePixelFormat failed","Error",MB_OK);\r
- return FALSE;\r
- }\r
-\r
- if(SetPixelFormat(hDC,pixelformat, &pfd)==FALSE)\r
- {\r
- MessageBox(NULL,"SetPixelFormat failed","Error",MB_OK);\r
- return FALSE;\r
- }\r
-\r
- return TRUE;\r
-}\r
-#endif\r
\r
////////////////////////////////////////////////////////////////////////\r
// Get extension infos (f.e. pal textures / packed pixels)\r
{\r
BOOL bPacked=FALSE; // default: no packed pixel support\r
\r
- if(strstr((s8 *)glGetString(GL_EXTENSIONS), // packed pixels available?\r
+ if(strstr((char *)glGetString(GL_EXTENSIONS), // packed pixels available?\r
"GL_EXT_packed_pixels")) \r
bPacked=TRUE; // -> ok\r
\r
\r
- #ifdef _WINDOWS\r
- iClampType=GL_CLAMP;\r
-#else\r
iClampType=GL_CLAMP_TO_EDGE;\r
-#endif\r
}\r
\r
////////////////////////////////////////////////////////////////////////\r
// Initialize OGL\r
////////////////////////////////////////////////////////////////////////\r
\r
-#ifdef _WINDOWS \r
-HGLRC GLCONTEXT=NULL;\r
-#endif\r
-\r
-#ifdef MAEMO_CHANGES\r
#define MODE_RAW 0\r
#define MODE_X11 1\r
#define MODE_SDL 2\r
-int pandora_driver_mode = MODE_RAW;\r
int use_fsaa = 0;\r
\r
EGLDisplay display;\r
\r
EGLint attrib_list[] =\r
{\r
- EGL_SURFACE_TYPE, EGL_WINDOW_BIT,\r
- EGL_BUFFER_SIZE, 0,\r
- EGL_DEPTH_SIZE, 16,\r
+// EGL_DEPTH_SIZE, 16,\r
EGL_NONE\r
};\r
\r
return TRUE;\r
}\r
\r
-void maemoGLinit(){\r
+static void initEGL(void)\r
+{\r
printf ("GL init\n");\r
\r
EGLint numConfigs;\r
}\r
\r
#if defined(USE_X11)\r
- pandora_driver_mode = MODE_X11; // TODO make configurable\r
-#else\r
- pandora_driver_mode = MODE_RAW; // TODO make configurable\r
-#endif\r
- \r
- switch(pandora_driver_mode)\r
- { \r
-#if defined(USE_X11)\r
- case MODE_X11:\r
// Initializes the display and screen\r
x11Display = XOpenDisplay( ":0" );\r
if (!x11Display)\r
XSendEvent(x11Display, DefaultRootWindow(x11Display), False, SubstructureRedirectMask | SubstructureNotifyMask, &xev);\r
\r
display = eglGetDisplay( (EGLNativeDisplayType)x11Display );\r
- break;\r
-#endif\r
- case MODE_RAW:\r
- default:\r
+#else\r
display = eglGetDisplay( (EGLNativeDisplayType)0 );\r
- break;\r
- }\r
+#endif\r
\r
if( display == EGL_NO_DISPLAY )\r
{\r
printf( "GLES EGL Error: eglCreateContext failed\n" );\r
}\r
\r
- switch(pandora_driver_mode)\r
- {\r
#if defined(USE_X11)\r
- case MODE_X11:\r
surface = eglCreateWindowSurface( display, config, (EGLNativeDisplayType)x11Window, NULL );\r
- break;\r
-#endif\r
- case MODE_RAW:\r
- default:\r
+#else\r
surface = eglCreateWindowSurface( display, config, (EGLNativeDisplayType)0, NULL );\r
- break;\r
- }\r
+#endif\r
\r
eglMakeCurrent( display, surface, surface, context );\r
if (!TestEGLError("eglMakeCurrent"))\r
else\r
printf("GLES Window Opened\n");\r
}\r
-#endif\r
\r
int GLinitialize() \r
{\r
- //----------------------------------------------------// \r
-#ifdef _WINDOWS\r
- HGLRC objectRC;\r
- // init\r
- dcGlobal = GetDC(hWWindow); // FIRST: dc/rc stuff\r
- objectRC = wglCreateContext(dcGlobal); \r
- GLCONTEXT=objectRC;\r
- wglMakeCurrent(dcGlobal, objectRC);\r
- // CheckWGLExtensions(dcGlobal);\r
- if(bWindowMode) ReleaseDC(hWWindow,dcGlobal); // win mode: release dc again\r
-#endif\r
-#ifdef MAEMO_CHANGES\r
- maemoGLinit();\r
-#endif\r
+ initEGL();\r
+\r
//----------------------------------------------------// \r
\r
glViewport(rRatioRect.left, // init viewport by ratio rect\r
{ \r
CleanupTextureStore(); // bye textures\r
\r
-#ifdef _WINDOWS \r
- wglMakeCurrent(NULL, NULL); // bye context\r
- if(GLCONTEXT) wglDeleteContext(GLCONTEXT);\r
- if(!bWindowMode && dcGlobal) \r
- ReleaseDC(hWWindow,dcGlobal);\r
-#endif\r
-\r
eglMakeCurrent( display, EGL_NO_SURFACE, EGL_NO_SURFACE, EGL_NO_CONTEXT );\r
eglDestroySurface( display, surface );\r
eglDestroyContext( display, context );\r
eglTerminate( display );\r
\r
#if defined(USE_X11)\r
- if (pandora_driver_mode == MODE_X11)\r
- {\r
if (x11Window) XDestroyWindow(x11Display, x11Window);\r
if (x11Colormap) XFreeColormap( x11Display, x11Colormap );\r
if (x11Display) XCloseDisplay(x11Display);\r
- }\r
#endif\r
}\r
\r
// render pos / buffers\r
////////////////////////////////////////////////////////////////////////\r
\r
-#ifndef _WINDOWS\r
#define EqualRect(pr1,pr2) ((pr1)->left==(pr2)->left && (pr1)->top==(pr2)->top && (pr1)->right==(pr2)->right && (pr1)->bottom==(pr2)->bottom)\r
-#endif\r
\r
////////////////////////////////////////////////////////////////////////\r
// SetDisplaySettings: "simply" calcs the new drawing area and updates\r