Esempio n. 1
0
static void video_init_gl(void) {
	video.glcontext = SDL_GL_CreateContext(video.window);

	load_gl_functions();
	check_gl_extensions();

#ifdef DEBUG_GL
	if(glext.debug_output) {
		video_gl_debug_enable();
	} else {
		log_warn("OpenGL debugging is not supported by the implementation");
	}
#endif

	glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
	glBlendFuncSeparate(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, GL_ONE, GL_ONE);

	glEnable(GL_DEPTH_TEST);
	glDepthFunc(GL_LEQUAL);
	glEnable(GL_CULL_FACE);
	glEnable(GL_BLEND);
	init_quadvbo();

	glClear(GL_COLOR_BUFFER_BIT);
}
Esempio n. 2
0
static gboolean
load_required_symbols (void)
{
  static gboolean success = FALSE;

  if (success)
    return TRUE;

  /* We don't link against libGL directly because cogl may want to
   * use something else. This assumes that cogl has been initialized
   * and dynamically loaded libGL at this point.
   */

  if (!load_gl_symbol ("glGetString", (void **) &meta_gl_get_string))
    goto out;
  if (!load_gl_symbol ("glGetIntegerv", (void **) &meta_gl_get_integerv))
    goto out;
  if (!load_gl_symbol ("glGetStringi", (void **) &meta_gl_get_stringi))
    goto out;

  if (!check_gl_extensions ())
    {
      meta_verbose ("MetaSyncRing: couldn't find required GL extensions\n");
      goto out;
    }

  if (!load_gl_symbol ("glDeleteSync", (void **) &meta_gl_delete_sync))
    goto out;
  if (!load_gl_symbol ("glClientWaitSync", (void **) &meta_gl_client_wait_sync))
    goto out;
  if (!load_gl_symbol ("glWaitSync", (void **) &meta_gl_wait_sync))
    goto out;
  if (!load_gl_symbol ("glImportSyncEXT", (void **) &meta_gl_import_sync))
    goto out;
  if (!load_gl_symbol ("glFenceSync", (void **) &meta_gl_fence_sync))
    goto out;

  success = TRUE;
 out:
  return success;
}