Asking this question at nvnews resulted in no responses, so I'm trying it here. I guess the proper wording for this forum should be "is it Nvidia driver's bug or it is my misreading of the spec?"


I was wondering if somebody could clear up my understanding of GLX 1.3 spec.

I have a program that calls glXCreateWindow. I'm using Nvidia proprietary driver. For the sake of experiment I added glXDestroyWindow followed by glXCreateWindow again right after the original glXCreateWindow call. Instead of getting a new GLX window I get a BadAlloc error. What do I need to do to the original X window to be able to create a GLX window out of it again?

The spec says this:
"...glXDestroyWindow(Display *dpy, GLXWindow win);
This request deletes the association b etween the resource ID win and the
GLX window. The storage will be freed when it is not current to any client."

It does not say anything about win after this call. Is the original window not valid after glXDestroyWindow is called?

As for BadAlloc, the spec says: "...If there is already a GLXFBConfig associated with win
(as a result of a previous glXCreateWindow call), then a BadAlloc error
is generated." That is understandable, but I do destroy the GLX window, so the FBConfig is supposed to go away.

By the way, everything seems to work as I would expect with Mesa.