summaryrefslogtreecommitdiff
path: root/src/gallium/state_trackers/wgl/shared/stw_framebuffer.c
AgeCommit message (Collapse)Author
2009-09-23wgl: Flatten the source tree.José Fonseca
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.
2009-07-06wgl: Make the stw_framebuffer destructions threadsafe.José Fonseca
Ensure no other thread is accessing a framebuffer when it is being destroyed by acquiring both the global and per-framebuffer mutexes. Normal access only needs the global lock to walk the linked list and acquire the per-framebuffer mutex.
2009-07-06wgl: Listen to WM_WINDOWPOSCHANGED instead of WM_SIZE messages.José Fonseca
According to http://blogs.msdn.com/oldnewthing/archive/2008/01/15/7113860.aspx WM_SIZE is generated from WM_WINDOWPOSCHANGED by DefWindowProc so it can be masked out by the application. Also there were some weird bogus WM_SIZE 0x0 messages when starting sharedtex_mt which we don't get like this.
2009-07-03wgl: Lookup framebuffers by HWND whenever possible.José Fonseca
Some applications create several HDCs for the same window, so spite the WGL API is geared towards HDCs it is not reliable searching by HDC.
2009-06-18wgl: Fix window resizing in multithread applications.José Fonseca
In multithreading stw_call_window_proc can be called by a thread other than the thread where the context is bound.
2009-06-18wgl: Move all thread related code together.José Fonseca
Not only for cosmetic reasons, but also because we need to set the SetWindowsHookEx hook for threads created before the DllMain is called (threads for each we don't get the DLL_THREAD_ATTACH notification).
2009-06-11wgl: Fix prototype.José Fonseca
2009-06-09stw: ignore swapbuffer requests on singlebufferKeith Whitwell
Return TRUE in this case. Returning FALSE seems to result in mis-rendering -- possibly opengl32.dll is trying to compensate by doing a software blit??
2009-06-08stw: If stfb not set don't call into mesaJakob Bornecrantz
2009-06-01wgl: Destroy the framebuffer when the window is destroyed.José Fonseca
2009-05-31wgl: Cleanup framebuffer destruction logic.José Fonseca
2009-05-31wgl: Ensure we only create framebuffers for HDC associated with a window.José Fonseca
2009-05-30wgl: Use the right pixel format.José Fonseca
There is no current pixel format. Each HDC has its pixelformat which is kept by gdi and set/get via the SetPixelFormat/GetPixelFormat functions. Now the HDC's pixelformat is kept in the stw_framebuffer, which is created during the SetPixelFormat.
2009-05-08wgl: Implemente SwapLayerBuffers.José Fonseca
2009-04-10wgl: Protect the framebuffer with a lock.José Fonseca
Unfortunately this doesn't catch all the cases, as the mesa state tracker can still use the framebuffer without giving the wgl state tracker the chance to lock it.
2009-04-10wgl: Note down the gallium pixel formats, instead of re-guessing them.José Fonseca
2009-04-10stw: Free the mesa framebuffer.José Fonseca
2009-04-09wgl: Remove unused member.José Fonseca
2009-04-09wgl: Use hooks instead of subclassing the window.José Fonseca
Subclassing the window is invasive: we might call an old window proc even after it was removed. Glut and another bug just in the wrong time was provoking this. Hooks don't have this problem.
2009-04-09wgl: Move the framebuffer list to the device. Avoid recursive locking.José Fonseca
2009-04-09stw: Normalize symbols prefix.José Fonseca
2009-04-08wgl: Integrate the trace driver on debug builds.José Fonseca
2009-04-06stw: Choose a color buffer format that matches the visual.José Fonseca
The massive ifs are ugly, but it's not worth to automate this for just a handful of formats. Fixes conform bcolor.c.
2009-03-27wgl: Don't flush surface if it is NULL.José Fonseca
Just a quick fix to prevent segfaults with glean.
2009-03-27wgl: Remove unused cruft.José Fonseca
2009-03-25wgl: Use SetWindowLongPtr.José Fonseca
2009-03-06wgl: Check support for all other depth/stencil formats.José Fonseca
2009-03-06wgl: Choose a supported S8Z24/Z24S8/X8Z24/Z24X8.José Fonseca
2009-02-02Merge branch 'gallium-wgl-rework' into gallium-0.2Keith Whitwell
Conflicts: src/gallium/state_trackers/wgl/shared/stw_public.h
2009-01-28stw: fix commentKeith Whitwell
2009-01-28wgl: split device structs, move swapbuffers to sharedKeith Whitwell
Each of icd, shared and wgl now have the opportunity to maintain their own per-device structs, which should reduce the need for these modules to be looking into each others structures.
2009-01-28wgl: split into shared, (fake)wgl and icd directoriesKeith Whitwell