summaryrefslogtreecommitdiff
path: root/src/mesa/drivers/dri/unichrome/via_ioctl.h
AgeCommit message (Collapse)Author
2007-10-29Refactor and fix core vblank supportJesse Barnes
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.
2005-11-16Bring in last minute 6_4 branch changes to the unichrome driverThomas Hellström
to the trunk.
2005-03-22merge unichrome changes from branchKeith Whitwell
2005-01-05make alloc-dma functions inline, rearrange some debugKeith Whitwell
2004-12-29Fix some wrapping bugs in the last commit. Probably there are moreKeith Whitwell
remaining.
2004-12-29Simplfy clear() and swapbuffers() code.Keith Whitwell
Fix various mishandling of cliprects. Allow multiple primitives to be emitted to a single dma buffer, which was largely impossible previously. Re-enable the fast unclipped render stage.
2004-12-29Large updateKeith Whitwell
- Remove via duplicates of shared template files - Update driver to work with current versions of the above - Rework dma accounting - Rework emitting to dma to use a consistent set of macros The handling of cliprects in the driver is still pretty questionable.
2004-12-23Chop out more dead code.Keith Whitwell
Get the drawXoff adjustment working a bit better. Seems to pass the glean orthoPos tests.
2004-12-22Remove dead code.Keith Whitwell
Fix 24/8 depth/stencil visuals.
2004-12-20Remove #ifdef DEBUG's in code, but still allow compiler to remove debugKeith Whitwell
code if DEBUG not defined.
2004-10-08Massively cleaned up the code that calculates front/back/depth bufferIan Romanick
pitch and size. Cut out a bunch of dead code. This fixes bugzilla #1555.
2004-01-30Via Unichrome/cle266 driver (Erdi Chen)Brian Paul