#pragma once /* * Copyright (C) 2005-2013 Team XBMC * http://xbmc.org * * This Program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2, or (at your option) * any later version. * * This Program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with XBMC; see the file COPYING. If not, see * . * */ // GL Error checking macro // this function is useful for tracking down GL errors, which otherwise // just result in undefined behavior and can be difficult to track down. // // Just call it 'VerifyGLState()' after a sequence of GL calls // // if GL_DEBUGGING and HAS_GL are defined, the function checks // for GL errors and prints the current state of the various matrices; // if not it's just an empty inline stub, and thus won't affect performance // and will be optimized out. #include "system.h" #include "system_gl.h" void _VerifyGLState(const char* szfile, const char* szfunction, int lineno); #if defined(GL_DEBUGGING) && (defined(HAS_GL) || defined(HAS_GLES)) #define VerifyGLState() _VerifyGLState(__FILE__, __FUNCTION__, __LINE__) #else #define VerifyGLState() #endif void LogGraphicsInfo(); int glFormatElementByteCount(GLenum format);