[MPlayer-cvslog] r28125 - trunk/libvo/vo_gl.c
reimar
subversion at mplayerhq.hu
Wed Dec 10 17:39:46 CET 2008
Author: reimar
Date: Wed Dec 10 17:39:45 2008
New Revision: 28125
Log:
Try to auto-detect several vo_gl settings (ati-hack, force-pbo and rectangle).
Modified:
trunk/libvo/vo_gl.c
Modified: trunk/libvo/vo_gl.c
==============================================================================
--- trunk/libvo/vo_gl.c (original)
+++ trunk/libvo/vo_gl.c Wed Dec 10 17:39:45 2008
@@ -401,11 +401,21 @@ static void uninitGl(void) {
err_shown = 0;
}
+static void autodetectGlExtensions(void) {
+ const char *extensions = glGetString(GL_EXTENSIONS);
+ const char *vendor = glGetString(GL_VENDOR);
+ int is_ati = strstr(vendor, "ATI") != NULL;
+ if (ati_hack == -1) ati_hack = is_ati;
+ if (force_pbo == -1) force_pbo = strstr(extensions, "_pixel_buffer_object") ? is_ati : 0;
+ if (use_rectangle == -1) use_rectangle = strstr(extensions, "_texture_non_power_of_two") ? 2 : 0;
+}
+
/**
* \brief Initialize a (new or reused) OpenGL context.
* set global gl-related variables to their default values
*/
static int initGl(uint32_t d_width, uint32_t d_height) {
+ autodetectGlExtensions();
texSize(image_width, image_height, &texture_width, &texture_height);
glDisable(GL_BLEND);
@@ -925,10 +935,10 @@ static int preinit(const char *arg)
lscale = 0;
cscale = 0;
filter_strength = 0.5;
- use_rectangle = 0;
+ use_rectangle = -1;
use_glFinish = 0;
- ati_hack = 0;
- force_pbo = 0;
+ ati_hack = -1;
+ force_pbo = -1;
mesa_buffer = 0;
swap_interval = 1;
slice_height = 0;
More information about the MPlayer-cvslog
mailing list