summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2010-02-18st/mesa: always call FLUSH_CURRENT before st->pipe->flush()Keith Whitwell
Undoes part of commit f455ca6 which would permit pipe->flush() to be called while the VBO module still had its buffers mapped. Some drivers care deeply about this. Sorry for not spotting this earlier.
2010-02-17util: Fix typo of debug_dump_float_rgba_bmp.Vinson Lee
2010-02-17svga: Silence uninitialized variable warnings.Vinson Lee
2010-02-18r300g: add support for all missing non-FP sampler formatsMarek Olšák
The idea is to directly parse the format description in r300_translate_texformat and return ~0 if the format is unsupported.
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-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-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-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-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-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-16glsl/pp: Do not try to enable extension `all'.Michal Krol
2010-02-16nv50: use hw idx buffers where we canBen Skeggs
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-15glsl/pp: Fix handling of if/elif/else cases.Michal Krol
Once if/elif evalutes to true, all subsequent conditions are always false.
2010-02-15vbo: fix broken glMultiDrawElements()Brian Paul
Seems to be a regression from commit 60b08eb1fdf287d28ec66b9282513ab35a61aee0. (cherry picked from commit c5a4cfb03ff17955c049f16ac805f5837ea4b633)
2010-02-15glu/sgi: Add assert to check for null pointer dereference.Vinson Lee
2010-02-15mesa: Remove pointless comparison of unsigned integer with a negative constant.Vinson Lee
2010-02-15glsl/pp: Add asserts to check for null pointer deferences.Vinson Lee
2010-02-14draw: Add assert to check input of memcpy.Vinson Lee
2010-02-14glu/sgi: Move initialization of members to top of Curve constructor.Vinson Lee
This is a modification of commit 53d448657bd300ab68b2869b2fba76a627699baf. The members cpts and spts are possibly used as arguments later in the constructor.