Allow looking up OpenGL extensions in the way appropriate for GL3+.
Allow looking up OpenGL extensions in the way appropriate for GL3+. Note that we use a StringCache for this now, which means we need to allocate memory, which means the API changed to allow custom...
View ArticleWhoops, dropped last extension from the list in legacy GL extension codepath.
Whoops, dropped last extension from the list in legacy GL extension codepath.
View ArticleLet the preprocessor work more like C, without the Microsoft tools' quirks.
Let the preprocessor work more like C, without the Microsoft tools' quirks.
View ArticleAllow preprocessor to pass through comments, like GNU cpp does.
Allow preprocessor to pass through comments, like GNU cpp does.
View ArticleOnly turn on whitespace/comment reporting when not in a preprocessor handler.
Only turn on whitespace/comment reporting when not in a preprocessor handler. Things like "#define" handling need to manipulate that lexer state directly.
View ArticleFix (or just change?) how we report comments vs newlines.
Fix (or just change?) how we report comments vs newlines. Multi-line comments now swallow internal newlines and don't insert a fake one in the token stream, so this works like GNU cpp now: #if /* */1...
View ArticleLeak fix: delete GLSL shader objects if we fail to compile.
Leak fix: delete GLSL shader objects if we fail to compile.
View ArticleDon't use the extension entry point glGetInfoLogARB() in the core GL2 path.
Don't use the extension entry point glGetInfoLogARB() in the core GL2 path.
View ArticleLet "#if ((0) + (1) < 2)" understand that '+' isn't a unary operation.
Let "#if ((0) + (1) < 2)" understand that '+' isn't a unary operation.
View ArticleOptimizations to preprocessor's find_define().
Optimizations to preprocessor's find_define(). - don't check for __FILE__ and __LINE__ until after we've checked our hash, since this is the less likely case. - Check against the hard-coded hash value...
View Article