Improve the compatibility of gl_has_extension
Fix infinite loop when running under RenderDoc Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
This commit is contained in:
parent
372f4f816e
commit
8a794e0ce1
@ -162,9 +162,11 @@ static inline void gl_clear_err(void) {
|
|||||||
* Check if a GLX extension exists.
|
* Check if a GLX extension exists.
|
||||||
*/
|
*/
|
||||||
static inline bool gl_has_extension(const char *ext) {
|
static inline bool gl_has_extension(const char *ext) {
|
||||||
for (int i = 0; ; i++) {
|
int nexts = 0;
|
||||||
|
glGetIntegerv(GL_NUM_EXTENSIONS, &nexts);
|
||||||
|
for (int i = 0; i < nexts || !nexts; i++) {
|
||||||
const char *exti = (const char *)glGetStringi(GL_EXTENSIONS, (GLuint)i);
|
const char *exti = (const char *)glGetStringi(GL_EXTENSIONS, (GLuint)i);
|
||||||
if (exti == 0) {
|
if (exti == NULL) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if (strcmp(ext, exti) == 0) {
|
if (strcmp(ext, exti) == 0) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user