aboutsummaryrefslogtreecommitdiffstats
path: root/src/mesa/drivers/dri/mach64/mach64_context.c
Commit message (Collapse)AuthorAgeFilesLines
* More vblank cleanups.Michel Dänzer2007-10-301-6/+8
| | | | | | | | * 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-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* enable ARB_vertex_buffer_object for more dri driversRoland Scheidegger2007-03-131-0/+2
| | | | | | | ARB_vertex_buffer_object looks like a useful extension even for old chips. The drivers should not need any code to be able to use this extension since they just use mesa's vbo code anyway. Newly enabled for i810, mach64, mga, r128, radeon, savage, sis and unichrome.
* Merge branch 'master' of git+ssh://[email protected]/git/mesa/mesa ↵Keith Whitwell2007-01-161-28/+48
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into vbo-0.2 Conflicts: src/mesa/array_cache/sources src/mesa/drivers/dri/i965/brw_context.c src/mesa/drivers/dri/i965/brw_draw.c src/mesa/drivers/dri/i965/brw_fallback.c src/mesa/drivers/dri/i965/brw_vs_emit.c src/mesa/drivers/dri/i965/brw_vs_tnl.c src/mesa/drivers/dri/mach64/mach64_context.c src/mesa/main/extensions.c src/mesa/main/getstring.c src/mesa/tnl/sources src/mesa/tnl/t_save_api.c src/mesa/tnl/t_save_playback.c src/mesa/tnl/t_vtx_api.c src/mesa/tnl/t_vtx_exec.c src/mesa/vbo/vbo_attrib.h src/mesa/vbo/vbo_exec_api.c src/mesa/vbo/vbo_save_api.c src/mesa/vbo/vbo_save_draw.c
| * Bug 7260: mach64 texture memory mng cleanupGeorge Sapountzis2006-12-121-28/+48
| | | | | | | | | | | | mach64 uses its own set of texture memory management routines which are buggy, running a second DRI client kills the first one. This patch ports mach64 code to the stock dri texture managment code.
* | switch remaining drivers over to vboKeith Whitwell2006-10-311-3/+3
|/
* Make driDrawableInitVBlank() initialize the sequence number.Michel Dänzer2006-09-281-1/+2
| | | | | This prevents the first wait for vertical blank from timing out when the X server has been running for a long time.
* Fix a missed merge for idr's dispatch changes: failure to do driInitExtensionsEric Anholt2005-10-191-1/+1
| | | | in __driCreateNewScreen_20050727 resulted in crashing in dispatch.
* Replace add_newer_entrypoints (src/mesa/main/context.c) withIan Romanick2005-06-301-7/+10
| | | | | | | | | | | | | | | device-specific code. A new Python script (src/mesa/glapi/extension_helper.py) generates a list of all entry-points for all known extensions. Each driver the selects only the extensions that it needs and enables the via either driInitExtensions or driInitSingleExtension. This code has been compile-tested on a drivers, but has only been run-tested on mga and i915 (on i830 hardware). These changes were discussed at length on the mesa3d-dev mailing list. http://marc.theaimsgroup.com/?t=111947074700001&r=1&w=2
* Move fallback debugging under MACH64_DEBUG=fall (matching other drivers) andEric Anholt2005-05-311-0/+1
| | | | | | add pretty descriptions of the bits. GC one of the bits that was unused. Also, now only the first thing triggering a fallback and the last thing requiring one do the debug output. This also matches other drivers.
* Add the no_rast debug option to mach64. It shows that software fallbacks areEric Anholt2005-05-301-0/+5
| | | | pretty broken.
* Major check-in of changes for GL_EXT_framebuffer_object extension.Brian Paul2005-05-041-4/+4
| | | | | | | Main driver impacts: - new code for creating the Mesa GLframebuffer - new span/pixel read/write code Some drivers not yet updated/tested.
* Remove _mesa_ResizeBuffersMESA() call from _mesa_set_viewport().Brian Paul2004-11-271-5/+0
| | | | | | | | Now, the driver's Viewport routine should call _mesa_ResizeBuffersMESA() if necessary. Cleaned up code related to GLframebuffer width/height initialization. Set initial viewport/scissor params in _mesa_make_current2(), instead of in the drivers' MakeCurrent functions.
* oops fix a bug I introducedDave Airlie2004-06-071-1/+1
|
* fixup mach64 for newer build/typesDave Airlie2004-05-311-2/+2
|
* Adjustments to make everything use IOCTL/sarea defines in DRM insteadJon Smirl2004-03-111-2/+2
| | | | of glx/mini. removes glx/mini/drm.h glx/mini/sarea.h
* added _tnl_allow_vertex/pixel_fog() callsBrian Paul2004-02-261-1/+3
|
* initialise VBLANKDave Airlie2004-02-111-0/+3
|
* Remove warnings from mach64 build, fix up some _SOLO stuff,Dave Airlie2004-02-061-3/+5
| | | | update to newer Mesa interfaces...
* Initial mach64 driver import for DRI mach64-0-0-6 branch,Dave Airlie2004-02-051-0/+327
this compiles but I doubt it works but it is a better starting point than the branch