-
d7720bf2
by Rémi Bernon at 2026-06-15T19:05:13+02:00
opengl32: Implement client / host mapping for shader names.
For shader/program objects the lifetime is a bit more complicated, as
the object names are supposed to stay valid as long as shader/programs
are attached to some other object, even if the client called glDelete*.
Implementing this would mean creating actual wrappers and implementing
a lot more of the object state, which is a much larger task.
These objects are always explicitly allocated, and this instead assumes
that the object names are still valid after deletion and until they are
re-allocated.
This could mean some invalid cross-context name usage later on when all
unix-side GL would be shared, but that is quite unlikely and would only
happen if the client application were using invalid object names in the
first place. If this proves problematic, we will need to implement the
proper shader/program object wrappers, but hopefully this will not be
necessary.
-
f2eaae00
by Rémi Bernon at 2026-06-15T19:05:13+02:00
opengl32: Use a per-table lock for context / pbuffer / sync handles.
-
b395534f
by Rémi Bernon at 2026-06-15T19:05:13+02:00
opengl32: Move the sync handle table to the display lists.
-
bccc26a1
by Rémi Bernon at 2026-06-15T19:05:13+02:00
opengl32: Trace client side object names leaks.