Cogs.Core
CommonGL20.cpp
1#include "CommonGL20.h"
2
3#include "Foundation/Logging/Logger.h"
4
5#if defined(_WIN32)
6#include <GL/wgl.h>
7#include <GL/wglext.h>
8
9const PIXELFORMATDESCRIPTOR* Cogs::getPixelFormatDescriptor() {
10 static PIXELFORMATDESCRIPTOR pfd = {
11 sizeof(PIXELFORMATDESCRIPTOR), // Size of this pixel format descriptor
12 1, // Version number
13 PFD_DRAW_TO_WINDOW | PFD_SUPPORT_OPENGL | PFD_DOUBLEBUFFER, // Format must support Windows, OpenGL, and double buffering.
14 PFD_TYPE_RGBA, // Request an RGBA format
15 32, // Select our color depth
16 0, 0, 0, 0, 0, 0, // Color bits ignored
17 0, // No alpha buffer
18 0, // Shift bit ignored
19 0, // No accumulation buffer
20 0, 0, 0, 0, // Accumulation bits ignored
21 32, // Z-buffer (depth buffer)
22 32, // Stencil buffer
23 0, // No auxiliary buffer
24 PFD_MAIN_PLANE, // Main drawing layer
25 0, // Reserved
26 0, 0, 0 // Layer masks ignored
27 };
28
29 return &pfd;
30}
31#elif defined(EGL)
32#include <EGL/egl.h>
33
34const char* Cogs::getEGLErrorString() {
35 static thread_local char buffer[32];
36 EGLint errorCode = eglGetError();
37
38 switch (errorCode) {
39 case EGL_SUCCESS: return "EGL_SUCCESS"; break;
40 case EGL_NOT_INITIALIZED: return "EGL_NOT_INITIALIZED"; break;
41 case EGL_BAD_ACCESS: return "EGL_BAD_ACCESS"; break;
42 case EGL_BAD_ALLOC: return "EGL_BAD_ALLOC"; break;
43 case EGL_BAD_ATTRIBUTE: return "EGL_BAD_ATTRIBUTE"; break;
44 case EGL_BAD_CONFIG: return "EGL_BAD_CONFIG"; break;
45 case EGL_BAD_CONTEXT: return "EGL_BAD_CONTEXT"; break;
46 case EGL_BAD_CURRENT_SURFACE: return "EGL_BAD_CURRENT_SURFACE"; break;
47 case EGL_BAD_DISPLAY: return "EGL_BAD_DISPLAY"; break;
48 case EGL_BAD_MATCH: return "EGL_BAD_MATCH"; break;
49 case EGL_BAD_NATIVE_PIXMAP: return "EGL_BAD_NATIVE_PIXMAP"; break;
50 case EGL_BAD_NATIVE_WINDOW: return "EGL_BAD_NATIVE_WINDOW"; break;
51 case EGL_BAD_PARAMETER: return "EGL_BAD_PARAMETER"; break;
52 case EGL_BAD_SURFACE: return "EGL_BAD_SURFACE"; break;
53 case EGL_CONTEXT_LOST: return "EGL_CONTEXT_LOST"; break;
54 default: {
55 sprintf(buffer, "0x%08x (Unrecognised)", errorCode);
56 return buffer;
57 }
58 }
59}
60#endif