Age | Commit message (Collapse) | Author |
|
|
|
This is only compile tested with crossmingw.
V2:
- reference count stw_framebuffer
|
|
Components such as state trackers, drivers, etc, should be free to be
recombined in arbtrary ways to build driver stacks. They should not
be reaching out and trying to build the stack themselves - this is now
expected to be handled by the "target" abstraction.
|
|
- move out of of the dispatch/context block to after corresponding init functions
- use more consistent naming with corresponding init functions
- XXX use _glthread_InitTSD() vs (void)_glthread_GetTSD() in _glapi_check_multithread() XXX
|
|
When our DLL is unloaded, even if we leave the data structures in memory
for sake of future calls, the MS CRT will destroy the heap. Instead we
make all calls no-ops by setting stw_dev to NULL.
|
|
Simply skip cleanup when contexts are still active.
This addresses two issues:
- in some situations the ICD DLL may be unloaded before the DLL that is
using GL contexts is, so we may receive GL calls after stw_cleanup.
- when aborting (exception, or control-c) the contexts may have been left
in an inconsistent state and attempting to destroy can cause
unpredictable results.
|
|
This will get single buffer, double buffer, and
joint single/double buffer (typical in CAD applications) done right,
at least as far as the frambuffer is concerned.
There are still problems with multiple contexts using the same
framebuffer because st_framebuffer_* calls assume the framebuffer
is bound to a single context.
|
|
|
|
While the WGL API has been stale for decades now, the ICD interface has
been updated with new Windows versions, so it is much easier to define
everything in terms of the ICD interfaces, which is pretty much what
Microsoft's opengl32.dll does anyway.
|
|
It is easier to have the WGL API on top of the ICD callbacks as
Microsoft's own implementation does, than to have a seperate shared
entity. This source reorganization is in antecipation of that.
|