summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2010-02-18winsys/drm: Do not use --whole-archive in Makefile.egl.Chia-I Wu
--whole-archive is not portable. Have the drivers reference _eglMain as a poor man's --whole-archive.
2010-02-17intel: Implement the DRI2 invalidate function properlyKristian Høgsberg
This uses a stamp mechanisms to mark the DRI drawable as invalid. Instead of immediately updating the buffers we just bump the drawable stamp and call out to DRI2GetBuffers "later". "Later" used to be at LOCK_HARDWARE time, and this patch brings back callouts at the points where we used to call LOCK_HARDWARE. A new function, intel_prepare_render(), is called where we used to call LOCK_HARDWARE, and if the buffers are invalid, we call out to DRI2GetBuffers there. This lets us invalidate buffers only when notified instead of on every glViewport() call. If the loader calls the DRI invalidate entrypoint, we disable viewport triggered buffer invalidation. Additionally, we can clean up the old viewport mechanism a bit, since we can just invalidate the buffers and not worry about reentrancy and whatnot.
2010-02-17dri/nouveau: Some multithreaded rendering fixes.Francisco Jerez
2010-02-17st/dri2: Flush FRAME instead of RENDER_CACHE on buffer invalidation.Francisco Jerez
2010-02-17st/mesa: Make the frontbuffer visible on st_flush(PIPE_FLUSH_FRAME).Francisco Jerez
So far the frontbuffer was only being flushed on st_glFlush and st_glFinish, however, a co-state tracker may need to make sure that any frontbuffer changes are already on its way to the actual front. The dri2 state tracker will need this for event-driven GL applications to resize properly (It could also be done calling "dri_flush_frontbuffer", but that way we would flush unnecessarily in the double-buffered case). Additionally this patch avoids flushing the mesa rendering cache if PIPE_FLUSH_RENDER_CACHE wasn't specified.
2010-02-17Merge commit '381d5e209815235911c4aab516037c868c8f695f'Ian Romanick
This merges the patches from the series "[PATCH 00/14] More client-side GLX house cleaning" that were posted to the mesa3d-dev mailing list. See http://marc.info/?l=mesa3d-dev&m=126582985214612&w=2 Patches 01 through 04 eliminate a bunch of annoying warnings that I get when building Mesa. Patch 05 fixes an inconsistency between the implementation of glXSwapIntervalMESA and the spec. I chose to favor the code over the spec in this case. This also eliminated a warning. Patches 06 through 12 clean up the way that context creation is performed on the client. When support for GLX_SGIX_fbconfig and the related GLX 1.3 functions was added, I refactored a bunch nuts-and-bolts of context creation to CreateContext. The refactor was a good idea, I just didn't do it right. Patches 13 and 14 update glxgears_fbconfig to use GLX 1.3 interfaces.
2010-02-17progs/demos: update GL version test to accept GL 3.xBrian Paul
2010-02-17glsl/apps: print usage info if insufficient argsBrian Paul
2010-02-17st/mesa: replace conditional with assertionBrian Paul
Core Mesa will not call ctx->Driver.CheckQuery() if the Ready flag is already set.
2010-02-17progs/openvg: Add .gitignore.Chia-I Wu
Add all OpenVG demos to .gitignore.
2010-02-17progs/es1: Update .gitignore.Chia-I Wu
Add xegl/bindtex to .gitignore.
2010-02-17llvmpipe: use ffs technique for full tiles alsoKeith Whitwell
Need to compute two masks here for full and partial 16x16 blocks. Gives a further good improvement for isosurf particularly: isosurf 97 -> 108 gears 597 -> 611
2010-02-17docs: Update TODOs of egl.html.Chia-I Wu
Thread-safety is no longer a TODO item. There are surely bugs to be fixed though.
2010-02-17egl: Revisit global data locking.Chia-I Wu
Lock the global mutex in _eglPreloadDrivers and _eglAllocScreenHandle. Add comments to why certain pathes do not need locking.
2010-02-17egl: Always lock a display before using it.Chia-I Wu
This gives a simple access control to the display. It is potentially slow, but a finer grained mutex can always be used in the future. The benefit of this simple approach is that drivers need not to worry about thread-safety.
2010-02-17egl: Make eglGetDisplay atomic.Chia-I Wu
Merge _eglNewDisplay and _eglLinkDisplay into _eglFindDisplay. Remove unused _eglUnlinkDisplay.
2010-02-17egl: Add a mutex to _EGLDisplay.Chia-I Wu
A display may be shared by multiple threads. Add a mutex for access control.
2010-02-17egl: eglGetError should return the status of the last call.Chia-I Wu
Use macros to record the status of the function call before returning. This is the only way that eglGetError can return the status of the most recent function call.
2010-02-17egl: Always record error code.Chia-I Wu
The error code denotes the success or failure of the most recent function call. A call to _eglError should always update the error code.
2010-02-17egl: Use new error checking macros.Chia-I Wu
Replace all uses of _EGL_DECLARE_* and _eglCheck* by _EGL_CHECK_*.
2010-02-17egl: Add new error checking macros.Chia-I Wu
Add _EGL_CHECK_* which will replace _EGL_DECLARE_* for error checking. Move _eglCheck* earlier in the file so that the macros and the functions are grouped together.
2010-02-17llvmpipe: rework do_block_16 to use bitmasks and ffsKeith Whitwell
Some nice speedups: gears: 547 -> 597 isosurf: 83 -> 98 Others like gloss unchanged. Could do further work in this direction.
2010-02-17glsl/pp: Remove sl_pp_get_extension_state().Michal Krol
Parse extension tokens to track current state of extension enables.
2010-02-17glsl/cl: Parse layout qualifiers only when an appropriate extension enabled.Michal Krol
2010-02-17glsl/cl: Properly emit layout qualifier list.Michal Krol
2010-02-17glsl: Silence unused value warning.Vinson Lee
2010-02-17progs/redbook: Fix memory leaks on error paths.Vinson Lee
2010-02-17nouveau: fix legacy dri driver buildJohannes Obermayr
2010-02-16sl/pp: re-do extension testing codeBrian Paul
The #extension directive should not effect which extension preprocessor symbols are defined/undefined; only whether/how the compiler accepts language features defined by the extension.
2010-02-16nv40: Fix incorrect so_new() numbering.Francisco Jerez
2010-02-16nv40: Implement PIPE_CAP_MAX_COMBINED_SAMPLERS.Francisco Jerez
2010-02-16glx: Fix a couple of warningsKristian Høgsberg
2010-02-16glx: Only register wire handlers for the events the server supportsKristian Høgsberg
2010-02-16st/dri2: Use event-driven buffer validation.Francisco Jerez
2010-02-16dri/nouveau: Use event driven buffer validation.Francisco Jerez
2010-02-16dri2: Event driven buffer validation.Francisco Jerez
When a buffer invalidation event is received from the X server, the "invalidate" hook of the DRI2 flush extension is executed: A generic implementation (dri2InvalidateDrawable) is provided that just bumps the "pStamp" sequence number in __DRIdrawableRec. For old servers not supporting buffer invalidation events, the invalidate hook will be called before flushing the fake front/back buffer (that's typically once per frame -- not a lot worse than the situation we were in before). No effort has been made on preserving backwards compatibility with version 2 of the flush extension, but I think it's acceptable because AFAIK no released stack is making use of it. Signed-off-by: Kristian Høgsberg <krh@bitplanet.net>
2010-02-16dri2: Allocate cliprect as part of the __DRIdrawableRecKristian Høgsberg
2010-02-16glx: Move GetGLXDRIDrawable() prototype to glxclient.hKristian Høgsberg
2010-02-16configure.ac: Lower require dri2proto version to 2.1Kristian Høgsberg
Additions after 2.1 are implemented in a conditional way and will be supported if available.
2010-02-16mesa: Lock mutex around _mesa_HashLookup linked list chase.Brian Paul
Remove const qualifier from _mesa_HashLookup() table parameter to avoid LOCK/UNLOCK warnings in the function body. Signed-off-by: Brian Paul <brianp@vmware.com> (cherry picked from commit 3094adb3caeb90124359db2356df3bf8ee94800a)
2010-02-16mesa: Test for failed malloc in _mesa_HashInsert.Brian Paul
Signed-off-by: Brian Paul <brianp@vmware.com> (cherry picked from commit 7c7247ddbf6e3f7f93e44c1cb52490044f1a2215)
2010-02-16Revert "progs/redbook: Temporarily disable the demos that extensions not ↵José Fonseca
part of windows to fix build." This reverts commit 1587eff1b6d6ab74c302ca2ccb767d917ce3b1dd.
2010-02-16glsl/pp: Do not try to enable extension `all'.Michal Krol
2010-02-16nv50: use hw idx buffers where we canBen Skeggs
2010-02-15progs/redbook: use glewBrian Paul
2010-02-16nouveau: fix for latest libdrmBen Skeggs
2010-02-15wgl: Be lenient when sharing contexts.José Fonseca
My first reading of MS docs was wrong. It says: All rendering contexts of a shared display list must use an identical pixel format. Otherwise the results depend on the implementation of OpenGL used. That is, it is OK to share contexts with different pixel formats. Adobe Premiere Pro tries to do that: share lists between a rgbx8 and a rgba8 pixel format.
2010-02-15progs/redbook: Temporarily disable the demos that extensions not part of ↵José Fonseca
windows to fix build.
2010-02-15scons: A less magic way of not building progs by default.José Fonseca
The problem with the old way is that passing 'progs/subdir' as argument would fail.
2010-02-15glsl/pp: Fix handling of if/elif/else cases.Michal Krol
Once if/elif evalutes to true, all subsequent conditions are always false.