summaryrefslogtreecommitdiff
path: root/src/mesa
AgeCommit message (Collapse)Author
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/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-17st/mesa: replace conditional with assertionBrian Paul
Core Mesa will not call ctx->Driver.CheckQuery() if the Ready flag is already set.
2010-02-17glsl: Silence unused value warning.Vinson Lee
2010-02-17nouveau: fix legacy dri driver buildJohannes Obermayr
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-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-15vbo: fix broken glMultiDrawElements()Brian Paul
Seems to be a regression from commit 60b08eb1fdf287d28ec66b9282513ab35a61aee0. (cherry picked from commit c5a4cfb03ff17955c049f16ac805f5837ea4b633)
2010-02-15mesa: Remove pointless comparison of unsigned integer with a negative constant.Vinson Lee
2010-02-14st/mesa: minor assorted clean-upsBrian Paul
2010-02-14st/mesa: change some function return typesBrian Paul
2010-02-14st/mesa: move per-fragment shader fields to local varsBrian Paul
2010-02-14st/mesa: use _mesa_clone_fragment_program()Brian Paul
2010-02-14r600: use new program cloning functionsBrian Paul
2010-02-14r300: use new program cloning functionsBrian Paul
2010-02-14glsl: use new program cloning functionsBrian Paul
2010-02-14mesa: added _mesa_clone_vertex/fragment_program()Brian Paul
To reduce casting elsewhere...
2010-02-14r600: Silence uninitialized variable warnings.Vinson Lee
2010-02-14mesa: Don't pass paramter to __builtin_clz which would hve undefined result.Pauli Nieminen
__builtin_clz with parameter 0 has undefined value. When using -O3 optimizing this would result to too large next power of two value. Fix is to check if passed value is 1 and modify formula for that case.
2010-02-14mesa: Add missing include.José Fonseca
2010-02-14mesa: Use util_format_name().José Fonseca
2010-02-14r300: Silence uninitialized variable warning.Vinson Lee
2010-02-14r600: Silence uninitialized variable warning.Vinson Lee
2010-02-13mesa: Fix compiler warningsKarl Schultz
Add explicit casts, fix constant types, fix variable types. Fixes about 340 warnings in MSFT Visual Studio.
2010-02-13mesa: enable GL_ARB_fragment_coord_conventions for sw driversBrian Paul
This extension is now implemented in the GLSL compiler so it can be enabled by other drivers where applicable.
2010-02-13glsl: implement layout qualifiersBrian Paul
For GL_ARB_fragment_coord_conventions. This only applies to gl_FragCoord and controls pixel center origin and pixel center integer. For example: layout (origin_upper_left, pixel_center_integer) varying vec4 gl_FragCoord; This features introduces the idea of re-declaring variables with a changed type. This may also apply to arrays in some cases but that's not implemented at this time.
2010-02-13glsl: added type layout field and new type compare funcBrian Paul
Note: because of a weird dependency checking bug, a 'make clean' may be needed before recompiling.
2010-02-13mesa: copy frag coord layout fields tooBrian Paul
2010-02-13mesa: Export GL_EXT_texture_cube_map.José Fonseca
Still used by some applications.
2010-02-13mesa: s/abort/sys.exit/Vinson Lee
Python does not have the function abort.
2010-02-12mesa: Remove unnecessary header.Vinson Lee
2010-02-12i965: Remove unnecessary headers.Vinson Lee
2010-02-12dri: Remove unnecessary headers.Vinson Lee
2010-02-12mesa: Remove unnecessary headers.Vinson Lee
2010-02-12st/mesa: restore draw rasterization stage after rasterposBrian Paul
This fixes invalid calls to rastpos_point/line/tri() that can occur when glRasterPos() is called while in feedback or selection mode. (cherry picked from commit b3c7dc6ff232eb4c5ff6b0ddcfa90bcb56f78df1)
2010-02-12st/mesa: improved draw_range_elements codeBrian Paul
Don't use pipe->draw_range_elements() if min_index=max_index=~0 since that doesn't provide any useful info. Also, implement the loop around pipe->draw_range_elements() when nr_prims > 1.
2010-02-12st/mesa: rename state -> tgsi, updated commentsBrian Paul
2010-02-12st/mesa: remove unused varBrian Paul
2010-02-12intel: Remove unused variable.Vinson Lee
2010-02-12intel: Avoid dri_bo_flink() in intel_update_renderbuffers()Kristian Høgsberg
Now that we track the global name in struct intel_region, we can just look it up there.
2010-02-12intel: Track named regions and make sure we only have one region per named boKristian Høgsberg
2010-02-12dri: Store the loader private passed in at dri context creationKristian Høgsberg
We just threw it away before, but we haven't had a use for it yet.
2010-02-12Merge branch 'gallium-dynamicstencilref'Roland Scheidegger
2010-02-12Revert "r600c: substract vbo offset to vbo size"Jerome Glisse
This reverts commit 325614a882f5371da512536e07c443a172ffb87c. Ok this was already fixed this commit actualy broke things
2010-02-12r600c: substract vbo offset to vbo sizeJerome Glisse
To avoid kernel complaining and to set proper boundary on vbo, substract the vbo offset to the vbo size.