summaryrefslogtreecommitdiffstats
path: root/gpu/command_buffer/service/gl_utils.h
diff options
context:
space:
mode:
authorapatrick@chromium.org <apatrick@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-06-09 22:06:15 +0000
committerapatrick@chromium.org <apatrick@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-06-09 22:06:15 +0000
commitb9363b2794c6f287be68eebb361117cdfbf060ca (patch)
tree74408c31f3920ae183663b0f16e633349805798e /gpu/command_buffer/service/gl_utils.h
parentc8c9712650efaa201c97ad6ff4edb6aa092dfd17 (diff)
downloadchromium_src-b9363b2794c6f287be68eebb361117cdfbf060ca.zip
chromium_src-b9363b2794c6f287be68eebb361117cdfbf060ca.tar.gz
chromium_src-b9363b2794c6f287be68eebb361117cdfbf060ca.tar.bz2
Added EGL based GLContext.
Python script to generate code to dynamically bind to GL functions (native GL, OSMesa, EGL or mock GL for unit tests). This replaces GLEW because GLEW doesn't bind to the GLES dialect of GL. Moved the mock GL code into app/gfx/gl. Updated the GPU code and AcceleratedSurface to use the new GL bindings. TEST=trybots BUG=none Review URL: http://codereview.chromium.org/2134006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@49332 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'gpu/command_buffer/service/gl_utils.h')
-rw-r--r--gpu/command_buffer/service/gl_utils.h95
1 files changed, 19 insertions, 76 deletions
diff --git a/gpu/command_buffer/service/gl_utils.h b/gpu/command_buffer/service/gl_utils.h
index c7cf11b..2e59179 100644
--- a/gpu/command_buffer/service/gl_utils.h
+++ b/gpu/command_buffer/service/gl_utils.h
@@ -8,82 +8,25 @@
#ifndef GPU_COMMAND_BUFFER_SERVICE_GL_UTILS_H_
#define GPU_COMMAND_BUFFER_SERVICE_GL_UTILS_H_
-#include <build/build_config.h>
-
-#if defined(UNIT_TEST)
- #include "gpu/command_buffer/service/gl_mock.h"
- // OpenGL constants not defined in OpenGL ES 2.0 needed when compiling
- // unit tests. For native OpenGL ES 2.0 backend these are not used. For OpenGL
- // backend these must be defined by the local system.
- #if !defined(GL_VERTEX_PROGRAM_POINT_SIZE)
- #define GL_VERTEX_PROGRAM_POINT_SIZE 0x8642
- #endif
- #define GL_MAX_FRAGMENT_UNIFORM_COMPONENTS 0x8B49
- #define GL_MAX_VERTEX_UNIFORM_COMPONENTS 0x8B4A
- #define GL_MAX_VARYING_FLOATS 0x8B4B
-#else
- #if defined(GLES2_GPU_SERVICE_BACKEND_NATIVE_GLES2)
- #include <GLES2/gl2.h> // NOLINT
-
- #define glClearDepth glClearDepthf
- #define glDepthRange glDepthRangef
-
- // Buffer Objects
- #define glBindBufferARB glBindBuffer
- #define glBufferDataARB glBufferData
- #define glBufferSubDataARB glBufferSubData
- #define glDeleteBuffersARB glDeleteBuffers
- #define glGenBuffersARB glGenBuffers
-
- // Framebuffer Objects
- #define glBindFramebufferEXT glBindFramebuffer
- #define glBindRenderbufferEXT glBindRenderbuffer
- #define glCheckFramebufferStatusEXT glCheckFramebufferStatus
- #define glDeleteFramebuffersEXT glDeleteFramebuffers
- #define glDeleteRenderbuffersEXT glDeleteRenderbuffers
- #define glFramebufferRenderbufferEXT glFramebufferRenderbuffer
- #define glFramebufferTexture2DEXT glFramebufferTexture2D
- #define glGenFramebuffersEXT glGenFramebuffers
- #define glGenRenderbuffersEXT glGenRenderbuffers
- #define glGetFramebufferAttachmentParameterivEXT \
- glGetFramebufferAttachmentParameteriv
- #define glGetRenderbufferParameterivEXT glGetRenderbufferParameteriv
- #define glIsFramebufferEXT glIsFramebuffer
- #define glIsRenderbufferEXT glIsFramebuffer
- #define glRenderbufferStorageEXT glRenderbufferStorage
-
- // Texture Objects
- #define glGenerateMipmapEXT glGenerateMipmap
-
- #else // !GLES2_GPU_SERVICE_BACKEND_NATIVE_GLES2
- #include <GL/glew.h> // NOLINT
- #include <GL/osmew.h>
- #if defined(OS_WIN)
- #include <GL/wglew.h> // NOLINT
- #elif defined(OS_LINUX)
- #include <GL/glxew.h> // NOLINT
- #endif // OS_WIN
-
- // GLES2 defines not part of Desktop GL
- // Shader Precision-Specified Types
- #define GL_LOW_FLOAT 0x8DF0
- #define GL_MEDIUM_FLOAT 0x8DF1
- #define GL_HIGH_FLOAT 0x8DF2
- #define GL_LOW_INT 0x8DF3
- #define GL_MEDIUM_INT 0x8DF4
- #define GL_HIGH_INT 0x8DF5
- #define GL_IMPLEMENTATION_COLOR_READ_TYPE 0x8B9A
- #define GL_IMPLEMENTATION_COLOR_READ_FORMAT 0x8B9B
- #define GL_MAX_FRAGMENT_UNIFORM_VECTORS 0x8DFD
- #define GL_MAX_VERTEX_UNIFORM_VECTORS 0x8DFB
- #define GL_MAX_VARYING_VECTORS 0x8DFC
- #define GL_SHADER_BINARY_FORMATS 0x8DF8
- #define GL_NUM_SHADER_BINARY_FORMATS 0x8DF9
- #define GL_SHADER_COMPILER 0x8DFA
-
- #endif // GLES2_GPU_SERVICE_BACKEND_NATIVE_GLES2
-
-#endif // UNIT_TEST
+#include "build/build_config.h"
+#include "app/gfx/gl/gl_bindings.h"
+
+// GLES2 defines not part of Desktop GL
+// Shader Precision-Specified Types
+#define GL_LOW_FLOAT 0x8DF0
+#define GL_MEDIUM_FLOAT 0x8DF1
+#define GL_HIGH_FLOAT 0x8DF2
+#define GL_LOW_INT 0x8DF3
+#define GL_MEDIUM_INT 0x8DF4
+#define GL_HIGH_INT 0x8DF5
+#define GL_IMPLEMENTATION_COLOR_READ_TYPE 0x8B9A
+#define GL_IMPLEMENTATION_COLOR_READ_FORMAT 0x8B9B
+#define GL_MAX_FRAGMENT_UNIFORM_VECTORS 0x8DFD
+#define GL_MAX_VERTEX_UNIFORM_VECTORS 0x8DFB
+#define GL_MAX_VARYING_VECTORS 0x8DFC
+#define GL_SHADER_BINARY_FORMATS 0x8DF8
+#define GL_NUM_SHADER_BINARY_FORMATS 0x8DF9
+#define GL_SHADER_COMPILER 0x8DFA
#define GL_GLEXT_PROTOTYPES 1