diff options
author | gman@chromium.org <gman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-03-11 00:07:59 +0000 |
---|---|---|
committer | gman@chromium.org <gman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-03-11 00:07:59 +0000 |
commit | b5f1aa038b13b3a323b0b79867585264c475a6b2 (patch) | |
tree | d7db464996438107d3a1a33aadee225a457b94cf /gpu/command_buffer/service/gl_utils.h | |
parent | ad8a6ea045cdaf65c4a61e1ededb67f8c4d0534e (diff) | |
download | chromium_src-b5f1aa038b13b3a323b0b79867585264c475a6b2.zip chromium_src-b5f1aa038b13b3a323b0b79867585264c475a6b2.tar.gz chromium_src-b5f1aa038b13b3a323b0b79867585264c475a6b2.tar.bz2 |
First step on the way to a native GLES2 backend for command
buffers.
I mostly just copied the macros from O3D and make sure it compiled using our own GLES2 emu backend. It should theoretically compile on real native GLES2 but the setup in service/gles2_cmd_decoder.cc needs work.
TEST=none
BUG=none
Review URL: http://codereview.chromium.org/799002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@41224 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'gpu/command_buffer/service/gl_utils.h')
-rw-r--r-- | gpu/command_buffer/service/gl_utils.h | 68 |
1 files changed, 52 insertions, 16 deletions
diff --git a/gpu/command_buffer/service/gl_utils.h b/gpu/command_buffer/service/gl_utils.h index 6edc287..432dfb4 100644 --- a/gpu/command_buffer/service/gl_utils.h +++ b/gpu/command_buffer/service/gl_utils.h @@ -11,23 +11,59 @@ #include <build/build_config.h> #if defined(UNIT_TEST) -#include "gpu/command_buffer/service/gl_mock.h" + #include "gpu/command_buffer/service/gl_mock.h" #else -#include <GL/glew.h> // NOLINT -#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 + #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 + #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 + + #endif // GLES2_GPU_SERVICE_BACKEND_NATIVE_GLES2 #endif // UNIT_TEST |