diff options
author | taw27 <taw27@84d2e878-0bd5-11dd-ad15-13eda11d74c5> | 2008-08-07 23:13:10 +0000 |
---|---|---|
committer | taw27 <taw27@84d2e878-0bd5-11dd-ad15-13eda11d74c5> | 2008-08-07 23:13:10 +0000 |
commit | b910b64f015d29c3532259287b6d6199dec5260d (patch) | |
tree | 8cedc934bf952010b950ce7ec56becae73f4db6c /src/render.c | |
parent | a2c16ee9c6251a91b8f8ec441472780af25b495a (diff) |
Check for EXT_timer_query before using
git-svn-id: svn://cook.msm.cam.ac.uk:745/thrust3d/thrust3d@237 84d2e878-0bd5-11dd-ad15-13eda11d74c5
Diffstat (limited to 'src/render.c')
-rw-r--r-- | src/render.c | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/src/render.c b/src/render.c index 5f3445c..9a5fbdf 100644 --- a/src/render.c +++ b/src/render.c @@ -142,6 +142,15 @@ RenderContext *render_setup(int width, int height, int disable_vbos, int disable fprintf(stderr, " -> Per-fragment lighting and GPU dynamic textures disabled.\n"); } + if ( GLEW_EXT_timer_query ) { + r->timer_queries = 1; + } else { + r->timer_queries = 0; + fprintf(stderr, "Timer queries are not supported by your graphics card" + "(or maybe just by its driver).\n"); + fprintf(stderr, " -> A default estimated time will be used. Framerate may be a little low.\n"); + } + r->width = width; r->height = height; r->aspect = (GLfloat)width/(GLfloat)height; @@ -558,7 +567,7 @@ void render_draw(Game *game, Uint32 t) { r = game->render; - if ( game->query_this_frame ) { + if ( r->timer_queries && game->query_this_frame ) { glGenQueries(1, &game->timer_query); glBeginQuery(GL_TIME_ELAPSED_EXT, game->timer_query); } @@ -679,11 +688,11 @@ void render_draw(Game *game, Uint32 t) { render_draw_2d(r, game); - if ( game->query_this_frame) glEndQuery(GL_TIME_ELAPSED_EXT); + if ( r->timer_queries && game->query_this_frame) glEndQuery(GL_TIME_ELAPSED_EXT); SDL_GL_SwapBuffers(); - if ( !game->query_this_frame ) { + if ( r->timer_queries && !game->query_this_frame ) { GLint available; glGetQueryObjectiv(game->timer_query, GL_QUERY_RESULT_AVAILABLE, &available); if ( available ) { |