summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* intel: Include main/hash.h using "" instead of <>Kristian Høgsberg2010-02-181-1/+1
|
* st/mesa: always call FLUSH_CURRENT before st->pipe->flush()Keith Whitwell2010-02-181-2/+1
| | | | | | 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.
* util: Fix typo of debug_dump_float_rgba_bmp.Vinson Lee2010-02-171-1/+1
|
* svga: Silence uninitialized variable warnings.Vinson Lee2010-02-171-0/+6
|
* r300g: add support for all missing non-FP sampler formatsMarek Olšák2010-02-183-124/+234
| | | | | The idea is to directly parse the format description in r300_translate_texformat and return ~0 if the format is unsupported.
* winsys/drm: Do not use --whole-archive in Makefile.egl.Chia-I Wu2010-02-187-8/+19
| | | | | --whole-archive is not portable. Have the drivers reference _eglMain as a poor man's --whole-archive.
* intel: Implement the DRI2 invalidate function properlyKristian Høgsberg2010-02-1716-48/+79
| | | | | | | | | | | | | | | | | | | 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.
* dri/nouveau: Some multithreaded rendering fixes.Francisco Jerez2010-02-1718-1278/+1124
|
* st/dri2: Flush FRAME instead of RENDER_CACHE on buffer invalidation.Francisco Jerez2010-02-171-2/+2
|
* st/mesa: Make the frontbuffer visible on st_flush(PIPE_FLUSH_FRAME).Francisco Jerez2010-02-171-9/+6
| | | | | | | | | | | | | 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.
* Merge commit '381d5e209815235911c4aab516037c868c8f695f'Ian Romanick2010-02-171-137/+143
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * glx: Pass fbconfig ID or visual ID to CreateContextIan Romanick2010-02-111-10/+10
| | | | | | | | | | | | Pass either the fbconfig ID or the visual ID, as appropriate, to CreateContext. Now CreateContext does not derefernce fbconfig or vis (which no longer exists as a parameter).
| * glx: Use the screen parameter everywhere instead of vis->screen, etc.Ian Romanick2010-02-111-5/+3
| |
| * glx: Move work of converting a visual to an fbconfigIan Romanick2010-02-111-31/+29
| | | | | | | | | | | | | | For the direct rendering case, the DRI createContext function wants an fbconfig. When glXCreateContext is called, we have to convert the visual to an fbconfig. This work was done in CreateContext, but it makes more sense for it to be done in glXCreateContext.
| * glx: Re-indent CreateContext after the previous commitIan Romanick2010-02-111-96/+95
| |
| * glx: Handle imported contexts outside of CreateContextIan Romanick2010-02-111-16/+10
| | | | | | | | | | | | | | | | A long time ago I was a bit over-agressive in refactoring context creation into a single function. The creation code for glXImportContextEXT does not belong in CreateContext because it does not use any GLX protocol. The big if-statement for the import case routed around almost the entire function anyway.
| * glx: Pass screen number as parameter to CreateContextIan Romanick2010-02-111-7/+16
| | | | | | | | | | Passing the screen parameter to CreateContext will simplify a couple of changes that are coming.
| * glx: Pass opcode to CreateContext instead of use_glx_1_3 parameterIan Romanick2010-02-111-8/+23
| | | | | | | | | | | | Passing the opcode directly instead of having CreateContext infer it from the value of fbconfig and the use_glx_1_3 flag will simplify some changes that are coming.
| * glx: Fix interval test in glXSwapIntervalMESAIan Romanick2010-02-111-4/+0
| | | | | | | | | | | | | | | | It appears that, in spite of what the spec says, the interval parameter to glXSwapIntervalMESA has been an unsigned int since day-1. This made the 'if (interval < 0)' test useless. The test is removed and the spec is updated to note that the interval is an unsigned value.
| * glx: Change type to eliminate 'comparison between signed and unsigned' warningIan Romanick2010-02-111-1/+2
| |
| * glx: Add casts to eliminate 'comparison between signed and unsigned' warningsIan Romanick2010-02-111-7/+8
| |
| * glx: Eliminate several 'unused variable' warnings in glxcmds.c.Ian Romanick2010-02-111-0/+11
| |
| * glx: Use wrapper macro to detect direct renderingIan Romanick2010-02-111-24/+8
| | | | | | | | | | | | | | The wrapper macro GC_IS_DIRECT is used in CreateContext and a couple other places to eliminate the need for some of the '#ifdef GLX_DIRECT_RENDERING' madness. There appear to be a *LOT* of places in glxcmds.c where '#ifdef GLX_DIRECT_RENDERING' is missing.
* | glsl/apps: print usage info if insufficient argsBrian Paul2010-02-174-0/+4
| |
* | st/mesa: replace conditional with assertionBrian Paul2010-02-171-7/+2
| | | | | | | | | | Core Mesa will not call ctx->Driver.CheckQuery() if the Ready flag is already set.
* | llvmpipe: use ffs technique for full tiles alsoKeith Whitwell2010-02-171-45/+70
| | | | | | | | | | | | | | | | 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
* | egl: Revisit global data locking.Chia-I Wu2010-02-174-8/+23
| | | | | | | | | | Lock the global mutex in _eglPreloadDrivers and _eglAllocScreenHandle. Add comments to why certain pathes do not need locking.
* | egl: Always lock a display before using it.Chia-I Wu2010-02-172-45/+81
| | | | | | | | | | | | | | 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.
* | egl: Make eglGetDisplay atomic.Chia-I Wu2010-02-173-103/+22
| | | | | | | | | | Merge _eglNewDisplay and _eglLinkDisplay into _eglFindDisplay. Remove unused _eglUnlinkDisplay.
* | egl: Add a mutex to _EGLDisplay.Chia-I Wu2010-02-172-0/+4
| | | | | | | | | | A display may be shared by multiple threads. Add a mutex for access control.
* | egl: eglGetError should return the status of the last call.Chia-I Wu2010-02-171-123/+226
| | | | | | | | | | | | 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.
* | egl: Always record error code.Chia-I Wu2010-02-171-4/+5
| | | | | | | | | | The error code denotes the success or failure of the most recent function call. A call to _eglError should always update the error code.
* | egl: Use new error checking macros.Chia-I Wu2010-02-171-115/+110
| | | | | | | | Replace all uses of _EGL_DECLARE_* and _eglCheck* by _EGL_CHECK_*.
* | egl: Add new error checking macros.Chia-I Wu2010-02-171-94/+134
| | | | | | | | | | | | 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.
* | llvmpipe: rework do_block_16 to use bitmasks and ffsKeith Whitwell2010-02-171-27/+41
| | | | | | | | | | | | | | | | Some nice speedups: gears: 547 -> 597 isosurf: 83 -> 98 Others like gloss unchanged. Could do further work in this direction.
* | glsl/pp: Remove sl_pp_get_extension_state().Michal Krol2010-02-173-53/+0
| | | | | | | | Parse extension tokens to track current state of extension enables.
* | glsl/cl: Parse layout qualifiers only when an appropriate extension enabled.Michal Krol2010-02-171-2/+75
| |
* | glsl/cl: Properly emit layout qualifier list.Michal Krol2010-02-171-3/+3
| |
* | glsl: Silence unused value warning.Vinson Lee2010-02-171-0/+2
| |
* | nouveau: fix legacy dri driver buildJohannes Obermayr2010-02-173-8/+6
| |
* | sl/pp: re-do extension testing codeBrian Paul2010-02-164-7/+36
| | | | | | | | | | | | 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.
* | nv40: Fix incorrect so_new() numbering.Francisco Jerez2010-02-161-1/+1
| |
* | nv40: Implement PIPE_CAP_MAX_COMBINED_SAMPLERS.Francisco Jerez2010-02-161-0/+2
| |
* | glx: Fix a couple of warningsKristian Høgsberg2010-02-161-2/+0
| |
* | glx: Only register wire handlers for the events the server supportsKristian Høgsberg2010-02-161-1/+20
| |
* | st/dri2: Use event-driven buffer validation.Francisco Jerez2010-02-169-88/+33
| |
* | dri/nouveau: Use event driven buffer validation.Francisco Jerez2010-02-162-4/+41
| |
* | dri2: Event driven buffer validation.Francisco Jerez2010-02-168-27/+59
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 <[email protected]>
* | dri2: Allocate cliprect as part of the __DRIdrawableRecKristian Høgsberg2010-02-162-4/+8
| |
* | glx: Move GetGLXDRIDrawable() prototype to glxclient.hKristian Høgsberg2010-02-163-8/+4
| |