summaryrefslogtreecommitdiff
path: root/src/mesa/drivers/dri/unichrome/via_context.h
AgeCommit message (Collapse)Author
2010-01-04Remove leftover __DRI{screen,drawable,context}Private referencesKristian Høgsberg
As part of the DRI driver interface rewrite I merged __DRIscreenPrivate and __DRIscreen, and likewise for __DRIdrawablePrivate and __DRIcontextPrivate. I left typedefs in place though, to avoid renaming all the *Private use internal to the driver. That was probably a mistake, and it turns out a one-line find+sed combo can do the mass rename. Better late than never.
2008-09-18mesa: added "main/" prefix to includes, remove some -I paths from ↵Brian Paul
Makefile.template
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.
2007-10-10Drop __DRInativeDisplay and pass in __DRIscreen pointers instead.Kristian Høgsberg
Many DRI entry points took a __DRInativeDisplay pointer and a screen index as arguments. The only use for the native display pointer was to pass it back to the loader when looking up the __DRIscreen for the given screen index. Instead, let's just pass in the __DRIscreen pointer directly, which let's drop the __DRInativeDisplay type and the getScreen function. The assumption is now that the loader will be able to retrieve context from the __DRIscreen pointer when necessary.
2007-03-18screen offset changes, bug 9965Miguel Marte
2006-11-10Implement GLX_SGI_make_current_readIan Romanick
Discontinue use of the old GetBuffeSize interface. Track both the current read-drawable and the current draw-drawable. After moving some context state to via_rednerbuffer, GLX_SGI_make_current_read can be enabled. The extension works, but the wincopy test prodcues a black window for the destination window. After messing around with the window and looking at the code, I believe the problem is in the handling of buffer swap requests on a drawable that isn't the current draw-drawable.
2005-11-16Fixes for x86_64 Unichrome.Thomas Hellström
2005-11-16Bring in last minute 6_4 branch changes to the unichrome driverThomas Hellström
to the trunk.
2005-09-03SetBuffer, renderbuffer changesBrian Paul
2005-07-26Fixes the glXGetProcAddress portion of the interface. Most of the functionsIan Romanick
that are currently obtained via glXGetProcAddress and all of the XF86DRI functions are replaced with a funciton table. This table will be passed to __driCreateNewScreen. One of the functions in the table is getProcAddress. This allows some loaders to expose functionality not in all loaders. This will be immediatly used for glxEnableExtension (formerly known to drivers as __glXScrEnableExtension). libGL (and in the future libglx) expose this function so that drivers can enable GLX extensions. libEGL should exposed eglEnableExtension to enable EGL extensions. The same function cannot be used for both because the extensions have different names and (possibly) different semantics. Drivers can optionally use one, both, or neither. The key parts are in the __DRIinterfaceMethodsRec structure in dri_interface.h. A pointer to one of these structures is passed into __driCreateNewScreen. Because of this, the version of the API is bumped to 20050725. Since the previous version(s) were never in a release, their existance is erased. I was actually a little surprised by how much code this cuts from the drivers. A lot of glXGetProcAddress calls disappear, and a lot of version checks go with them. Nice. The one thing I'm not sure of is removing __glXInitialize. For some reason that function was in the glXGetProcAddress table, but *nothing* in the Mesa tree used it. Did something with DRI conf. use this function? It seems odd...
2005-05-25add special case for flat shaded + separate specular trianglesKeith Whitwell
2005-05-25Disable polygon stipple - it seems to break if certain specific stippleKeith Whitwell
patterns are used, including the one generated by conform.
2005-05-04Major check-in of changes for GL_EXT_framebuffer_object extension.Brian Paul
Main driver impacts: - new code for creating the Mesa GLframebuffer - new span/pixel read/write code Some drivers not yet updated/tested.
2005-03-22merge unichrome changes from branchKeith Whitwell
2005-01-19Bring the texcombine fixes to the trunk.Keith Whitwell
2005-01-14Fix previously un-noticed issue with flat-shaded points.Keith Whitwell
2005-01-14Get PolygonStipple working.. (or seemingly too). It seems to do the rightAlan Hourihane
things now given the demos I've used and passes glean's paths test.
2005-01-13Emit constant colors for texunit 1 blending.Keith Whitwell
Change comments and some code to match naming used in the docs.
2005-01-12Check for deletion of currently bound contextAlan Hourihane
Other minor cleanups
2005-01-12Add flag to clear texture caches after texture upload.Keith Whitwell
2005-01-11Add a big nasty fallback for AlphaTest -- seems to always be wrongKeith Whitwell
on CLE266 because Z values are written even for fragments which fail the test.
2005-01-10Fallback on PolygonStipple for CLE266 hardware.Alan Hourihane
Only upload stencil configuration when a stencil buffer exists.
2005-01-05Bring VIA driver up-to-date with regard to drm_*_t changes and removeAlan Hourihane
the xf86drmVIA.[ch] files. Bring in the IRQ handler and Ring buffer code, but ring buffer is disabled as it is with the Xserver. It certainly locks up the CLE266.
2005-01-04Change to use the t_vertex.c mechanisms for building vertices,Keith Whitwell
including Felix's ptex code. Re-enable some assembly for performance.
2004-12-30Calculate DEPTH_SCALE correctly for polygon offset.Keith Whitwell
2004-12-30Simplify viaBlit a bit more.Keith Whitwell
Implement masked clears.
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-23Remove the VIA_PERFORMANCE code. A step towards moving the driverKeith Whitwell
back to using the shared template files.
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-21Push a number of global variables into the viaContext struct.Keith Whitwell
Remove the bogus 'current_vmesa' pointer.
2004-12-21Add vsync swapbuffers. This waits on the irq so gears run in this modeKeith Whitwell
will have a very low cpu utilization (and also a very low framerate). Fix up the pageflipping code. This works now but is totally oblivious to the X server (ie. it works but it's broken). Turned off by a #define.
2004-12-20Remove #ifdef DEBUG's in code, but still allow compiler to remove debugKeith Whitwell
code if DEBUG not defined.
2004-12-15Unichrome DRI:Thomas Hellström
Updated the driver to the new VIA security mechanisms in DRM. All command submissions now passes through DRM ioctls. If the DRM AGP ring-buffer is not enabled, it will use a DRM mechanism for submitting commands to the hardware via a PCI bus mechanism. Removed all direct write accesses to the hardware. Among other things the VQ was previously turned off for the PCI path, apparently for Tuxracer. That seemed unneeded and was removed. No visible impact on Tuxracer. Abstracted all buffer blit operations in via_ioctl.c. The blitter context is now reprogrammed before each blitting operation. Updated driver date and drm version requirement. (Bugzilla Bug #1950, Thomas Hellström)
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-10-02Cut out all of the old texture environment code and rewrote it fromIan Romanick
scratch. There were just too many cut-and-paste errors in the code, and it was too hard to follow. This fixes Mesa bugzilla #1508. #1509 is probably also fixed, but I'd like to do some more testing before I close that particular bug. Additionally, this cuts almost 4,600 lines of code from the driver.
2004-07-04Patch removes _SOLO definition needed for mesa-solo. mesa-soloJon Smirl
uses the NEW_INTERFACE now so _SOLO isn't necessary anymore. Tested with the hardware that I own.
2004-06-02Replace drmHandle, drmContext, drmDrawable, drmMagic and related types withIan Romanick
drm_handle_t, drm_context_t, drm_drawable_t, drm_magic_t.
2004-04-29Allow *_dri.so to build in Mesa tree with the 'linux-dri' target.Keith Whitwell
2004-03-11Adjustments to make everything use IOCTL/sarea defines in DRM insteadJon Smirl
of glx/mini. removes glx/mini/drm.h glx/mini/sarea.h
2004-02-23updates from Erdi ChenBrian Paul
2004-01-30Via Unichrome/cle266 driver (Erdi Chen)Brian Paul