11cab2921ab279367f8206cdadc9259d12e603548Derek Sollenberger 21cab2921ab279367f8206cdadc9259d12e603548Derek Sollenberger/* 31cab2921ab279367f8206cdadc9259d12e603548Derek Sollenberger * Copyright 2011 Google Inc. 41cab2921ab279367f8206cdadc9259d12e603548Derek Sollenberger * 51cab2921ab279367f8206cdadc9259d12e603548Derek Sollenberger * Use of this source code is governed by a BSD-style license that can be 61cab2921ab279367f8206cdadc9259d12e603548Derek Sollenberger * found in the LICENSE file. 71cab2921ab279367f8206cdadc9259d12e603548Derek Sollenberger */ 81cab2921ab279367f8206cdadc9259d12e603548Derek Sollenberger 91cab2921ab279367f8206cdadc9259d12e603548Derek Sollenberger 104f1dae40e24d57d647db01443b8bf2410514b8b5Derek Sollenberger#include "gl/GrGLConfig.h" 114f1dae40e24d57d647db01443b8bf2410514b8b5Derek Sollenberger#include "gl/GrGLInterface.h" 121cab2921ab279367f8206cdadc9259d12e603548Derek Sollenberger 131cab2921ab279367f8206cdadc9259d12e603548Derek Sollenbergervoid GrGLClearErr(const GrGLInterface* gl) { 141cab2921ab279367f8206cdadc9259d12e603548Derek Sollenberger while (GR_GL_NO_ERROR != gl->fGetError()) {} 151cab2921ab279367f8206cdadc9259d12e603548Derek Sollenberger} 161cab2921ab279367f8206cdadc9259d12e603548Derek Sollenberger 171cab2921ab279367f8206cdadc9259d12e603548Derek Sollenbergervoid GrGLCheckErr(const GrGLInterface* gl, 181cab2921ab279367f8206cdadc9259d12e603548Derek Sollenberger const char* location, 191cab2921ab279367f8206cdadc9259d12e603548Derek Sollenberger const char* call) { 201cab2921ab279367f8206cdadc9259d12e603548Derek Sollenberger uint32_t err = GR_GL_GET_ERROR(gl); 211cab2921ab279367f8206cdadc9259d12e603548Derek Sollenberger if (GR_GL_NO_ERROR != err) { 221cab2921ab279367f8206cdadc9259d12e603548Derek Sollenberger GrPrintf("---- glGetError %x", err); 231cab2921ab279367f8206cdadc9259d12e603548Derek Sollenberger if (NULL != location) { 241cab2921ab279367f8206cdadc9259d12e603548Derek Sollenberger GrPrintf(" at\n\t%s", location); 251cab2921ab279367f8206cdadc9259d12e603548Derek Sollenberger } 261cab2921ab279367f8206cdadc9259d12e603548Derek Sollenberger if (NULL != call) { 271cab2921ab279367f8206cdadc9259d12e603548Derek Sollenberger GrPrintf("\n\t\t%s", call); 281cab2921ab279367f8206cdadc9259d12e603548Derek Sollenberger } 291cab2921ab279367f8206cdadc9259d12e603548Derek Sollenberger GrPrintf("\n"); 301cab2921ab279367f8206cdadc9259d12e603548Derek Sollenberger } 311cab2921ab279367f8206cdadc9259d12e603548Derek Sollenberger} 321cab2921ab279367f8206cdadc9259d12e603548Derek Sollenberger 331cab2921ab279367f8206cdadc9259d12e603548Derek Sollenberger/////////////////////////////////////////////////////////////////////////////// 341cab2921ab279367f8206cdadc9259d12e603548Derek Sollenberger 351cab2921ab279367f8206cdadc9259d12e603548Derek Sollenberger#if GR_GL_LOG_CALLS 361cab2921ab279367f8206cdadc9259d12e603548Derek Sollenberger bool gLogCallsGL = !!(GR_GL_LOG_CALLS_START); 371cab2921ab279367f8206cdadc9259d12e603548Derek Sollenberger#endif 381cab2921ab279367f8206cdadc9259d12e603548Derek Sollenberger 391cab2921ab279367f8206cdadc9259d12e603548Derek Sollenberger#if GR_GL_CHECK_ERROR 401cab2921ab279367f8206cdadc9259d12e603548Derek Sollenberger bool gCheckErrorGL = !!(GR_GL_CHECK_ERROR_START); 411cab2921ab279367f8206cdadc9259d12e603548Derek Sollenberger#endif 421cab2921ab279367f8206cdadc9259d12e603548Derek Sollenberger 43