update chrome-specific glconfig (should make versions of this for mac/win/linux)

git-svn-id: http://skia.googlecode.com/svn/trunk@715 2bbb7eff-a529-9590-31e7-b0007b416f81
This commit is contained in:
reed@google.com 2011-01-19 19:04:04 +00:00
parent ba8efc8447
commit bf858b7ef0
4 changed files with 47 additions and 39 deletions

View File

@ -167,8 +167,10 @@
#define GR_SUPPORT_GLES ((GR_SUPPORT_GLES1) || (GR_SUPPORT_GLES2))
#if !(GR_SUPPORT_GLES) != !(GR_SUPPORT_DESKTOP)
#error "Either desktop of ES GL must be supported but not both"
#if !GR_SUPPORT_GLES && !GR_SUPPORT_GLDESKTOP
#error "Either desktop or ES GL must be supported"
#elif GR_SUPPORT_GLES && GR_SUPPORT_GLDESKTOP
#error "Cannot support both desktop and ES GL"
#endif
#if !defined(GR_GL_FUNC)

View File

@ -0,0 +1,19 @@
#ifndef GrGLConfig_chrome_DEFINED
#define GrGLConfig_chrome_DEFINED
#define GR_SUPPORT_GLES2 1
// gl2ext.h will define these extensions macros but Chrome doesn't provide
// prototypes.
#define GL_OES_mapbuffer 0
#define GL_IMG_multisampled_render_to_texture 0
#include <GLES2/gl2.h>
#include <GLES2/gl2ext.h>
#define GR_GL_FUNC
#define GR_GL_PROC_ADDRESS(X) &X
//#define GR_GL_PROC_ADDRESS_HEADER
#endif

View File

@ -1,12 +0,0 @@
#ifndef Chrome_GR_GL_CUSTOM_SETUP_HEADER
#define Chrome_GR_GL_CUSTOM_SETUP_HEADER
#define GR_INCLUDE_GLES2 <GLES2/gl2.h>
#define GR_INCLUDE_GLES2ext <GLES2/gl2ext.h>
#define GR_GL_FUNC
#define GR_GL_PROC_ADDRESS(X) &X
#define GR_GL_PROC_ADDRESS_HEADER
#endif

View File

@ -101,9 +101,9 @@ extern void GrGLInitExtensions(GrGLExts* exts) {
GLint major, minor;
gl_version(&major, &minor);
#if GR_SUPPORT_GLDESKTOP
bool fboFound = false;
#if GR_SUPPORT_GLDESKTOP
#if GL_VERSION_3_0
if (!fboFound && major >= 3) { // all of ARB_fbo is in 3.x
exts->GenFramebuffers = glGenFramebuffers;
@ -174,7 +174,6 @@ extern void GrGLInitExtensions(GrGLExts* exts) {
exts->MapBuffer = glMapBuffer;
exts->UnmapBuffer = glUnmapBuffer;
#else // !GR_SUPPORT_GLDESKTOP
bool foundFBO = false;
#if GR_SUPPORT_GLES2
if (!fboFound && major >= 2) {// ES 2.0 supports FBO
exts->GenFramebuffers = glGenFramebuffers;
@ -190,7 +189,7 @@ extern void GrGLInitExtensions(GrGLExts* exts) {
fboFound = true;
}
#endif
#if !GL_OES_framebuffer_object
#if GL_OES_framebuffer_object
if (!fboFound && has_gl_extension("GL_OES_framebuffer_object")) {
GET_SUFFIX_PROC(exts, GenFramebuffers, OES);
GET_SUFFIX_PROC(exts, BindFramebuffer, OES);
@ -231,26 +230,26 @@ extern void GrGLInitExtensions(GrGLExts* exts) {
#endif // !GR_SUPPORT_GLDESKTOP
}
///////////////////////////////////////////////////////////////////////////////
void GrGLCheckErr(const char* location, const char* call) {
uint32_t err = glGetError();
if (GL_NO_ERROR != err) {
GrPrintf("---- glGetError %x", err);
if (NULL != location) {
GrPrintf(" at\n\t%s", location);
}
if (NULL != call) {
GrPrintf("\n\t\t%s", call);
}
GrPrintf("\n");
}
}
///////////////////////////////////////////////////////////////////////////////
bool gPrintGL = true;
///////////////////////////////////////////////////////////////////////////////
void GrGLCheckErr(const char* location, const char* call) {
uint32_t err = glGetError();
if (GL_NO_ERROR != err) {
GrPrintf("---- glGetError %x", err);
if (NULL != location) {
GrPrintf(" at\n\t%s", location);
}
if (NULL != call) {
GrPrintf("\n\t\t%s", call);
}
GrPrintf("\n");
}
}
///////////////////////////////////////////////////////////////////////////////
bool gPrintGL = true;