n->visual = vis;
n->fbc = re->win->depth_cfg[depth].fbc;
im->native.yinvert = re->win->depth_cfg[depth].yinvert;
-// im->native.loose = 1; // works well on nvidia - intel may not be happy i hear. for now.. lets make nv work 1. - because i have an nv card, 2. because it doesnt seem broken for texture-from-pixmap like fglrx has seemed, 3. its some of the best done drivers on linux
- im->native.loose = 0;
+ im->native.loose = re->win->detected.loose_binding;
im->native.data = n;
im->native.func.data = re;
im->native.func.bind = _native_bind_cb;
{
int i, j, num;
GLXFBConfig *fbc;
+ const GLubyte *vendor, *renderer, *version;
glXMakeCurrent(gw->disp, gw->win, gw->context);
+ // FIXME: move this up to context creation
+
+ vendor = glGetString(GL_VENDOR);
+ renderer = glGetString(GL_RENDERER);
+ version = glGetString(GL_VERSION);
+
+ printf("vendor: %s\n", vendor);
+ printf("renderer: %s\n", renderer);
+ printf("version: %s\n", version);
+
+ if (strstr(vendor, "NVIDIA"))
+ {
+ gw->detected.loose_binding = 1;
+ }
+ else
+ {
+ // noothing yet. add more cases and options over time
+ }
+
fbc = glXGetFBConfigs(disp, 0/* FIXME: assume screen 0 */, &num);
for (i = 0; i <= 32; i++)
{