aboutsummaryrefslogtreecommitdiffstats
path: root/src/mesa/drivers/dri/i965/intel_buffers.c
Commit message (Collapse)AuthorAgeFilesLines
* [965] Enable EXT_framebuffer_object.Eric Anholt2007-12-201-587/+1
| | | | | To do so, merge the remainnig necessary code from the buffers, blit, span, and screen code to shared, and replace it with those.
* [965] Use shared intel_regions.c.Eric Anholt2007-12-151-2/+2
| | | | | This adds (so far) unused PBO functions, and holding the lock while writing to regions (which may be shared static screen regions).
* [intel] warnings cleanupEric Anholt2007-12-141-1/+1
|
* More vblank cleanups.Michel Dänzer2007-10-301-1/+1
| | | | | | | | * Fix crash at context creation in most drivers supporting vblank. * Don't pass vblank sequence or flags to functions that get passed the drawable private already. * Attempt to initialize vblank related drawable private fields just once per drawable. May need more work in some drivers.
* Refactor and fix core vblank supportJesse Barnes2007-10-291-0/+46
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Consolidate support for synchronizing to and retrieving vblank counters. Also fix the core vblank code to return monotonic MSC counters, which are required by some GLX extensions. Adding support for multiple pipes to a low level driver is fairly easy, the Intel 965 driver provides simple example code (see intel_buffers.c:intelWindowMoved()). The new code bumps the media stream counter extension version to 2 and adds a new getDrawableMSC callback. This callback takes a drawablePrivate pointer, which is used to calculate the MSC value seen by clients based on the actual vblank counter(s) returned from the kernel. The new drawable private fields are as follows: - vblSeq - used for tracking vblank counts for buffer swapping - vblFlags - flags (e.g. current pipe), updated by low level driver - msc_base - MSC counter from the last time the current pipe changed - vblank_base - kernel DRM vblank counter from the last time the pipe changed Using the above variables, the core vblank code (in vblank.c) can calculate a monotonic MSC value. The low level DRI drivers are responsible for updating the current pipe (by setting VBLANK_FLAG_SECONDARY for example in vblFlags) along with msc_base and vblank_base whenever the pipe associated with a given drawable changes (again, see intelWindowMoved for an example of this). Drivers should fill in the GetDrawableMSC DriverAPIRec field to point to driDrawableGetMSC32 and add code for pipe switching as outlined above to fully support the new scheme.
* [965] Remove AUB file support.Eric Anholt2007-09-271-6/+0
| | | | | This code existed to dump logs of hardware access to be replayed in simulation. Since we have real hardware now, it's not really needed.
* Structure CopyPixels similarly to i915 do_texture_copypixels, to ease future ↵Gary Wong2006-12-021-1/+1
| | | | unification.
* Add accelerated CopyPixels for non-overlapping, 1:1 blits.Eric Anholt2006-11-291-1/+1
| | | | Submitted by Gary Wong <[email protected]>
* Remove x/y/width/height parameters from Clear functions.Brian Paul2006-11-011-26/+13
|
* Emit cliprects in the userspace driver as required, rather thanKeith Whitwell2006-10-231-0/+6
| | | | | | | | passing them to the kernel. This works because all drawing commands in the 965 driver are emitted with the lock held and the batchbuffer is always flushed prior to releasing the lock. This allows multiple cliprects to be dealt with, without replaying entire batchbuffers and redundantly re-emitting state.
* Remove Driver.ResizeBuffers = _mesa_resize_framebuffer lines.Brian Paul2006-10-151-1/+0
| | | | | This is already done by the preceeding call to _mesa_init_driver_functions() which plugs in default functions like that.
* Add Intel i965G/Q DRI driver.Eric Anholt2006-08-091-0/+555
This driver comes from Tungsten Graphics, with a few further modifications by Intel.