summaryrefslogtreecommitdiff
path: root/src/mesa/drivers/dri/unichrome/via_context.c
AgeCommit message (Collapse)Author
2005-07-28Major rip-up of internal function insertion interface. The oldIan Romanick
_glapi_add_entrypoint has been replaced by a new routine called _glapi_add_dispatch. This new routine dynamically assignes dispatch offsets to functions added. This allows IHVs to add support for extension functions that do not have assigned dispatch offsets. It also means that a driver has no idea what offset will be assigned to a function. The vast majority of the changes in this commit account for that. An additional table, driDispatchRemapTable, is added. Functions not in the Linux OpenGL ABI (i.e., anything not in GL 1.2 + ARB_multitexture) has a fixed offset in this new table. The entry in this table specifies the offset in of the function in the real dispatch table. The internal interface was also bumped from version 20050725 to 20050727. This has been tested with various programs in progs/demos on: radeon (Radeon Mobility M6) r128 (Rage 128 Pro) mga (G400)
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-06-30Replace add_newer_entrypoints (src/mesa/main/context.c) withIan Romanick
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
2005-05-26Bump driver date.Keith Whitwell
2005-05-25Fix various issues with cliprects and MakeCurrentKeith Whitwell
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-22rename mesaVis to try and improve clarityKeith Whitwell
2005-03-22merge unichrome changes from branchKeith Whitwell
2005-02-11Turn _via_fastrender_stage back on.Keith 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-13revert some makecurrent codeAlan Hourihane
2005-01-13Fix glean scissor testAlan Hourihane
2005-01-12Remove bogus write to freed memory (valgrind).Keith Whitwell
2005-01-12Check for deletion of currently bound contextAlan Hourihane
Other minor cleanups
2005-01-11Disable bogus pbuffer code (though this could be revived with a littleKeith Whitwell
attention). Correctly advertise FBConfigs with GL_BGRA rather than GL_BGR.
2005-01-11Temporarily disable pageflipping assert.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-05Only try to free the front buffer when it's a pbuffer.Alan Hourihane
2005-01-04Add GL_EXT_fog_coordKeith Whitwell
2005-01-04Add GL_EXT_secondary_colorKeith Whitwell
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-30Get scissor test working again. Passes glean scissor test.Keith Whitwell
2004-12-30Calculate DEPTH_SCALE correctly for polygon offset.Keith 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-29Don't advertise wide lines or points.Keith Whitwell
2004-12-29Make line stipple a fallback.Keith Whitwell
Make sure fallbacks are wrapped by SpanRenderStart/SpanRenderFinish
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-21Note that state is dirty on contended lock. Allows two applicationsKeith Whitwell
to run together correctly, though scheduling between them still isn't great.
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-12-15Unichrome DRI:Thomas Hellström
Fixed an apparent race condition during locking and drawable info updating, the result of which was the DRI client leaving traces on the screen rendering where the drawable previously had been. If the driver hangs X for a second or so and then restarts, this is probably the place to look. (Thomas Hellström)
2004-12-12fix recursion problem introduced on Nov 27Brian Paul
2004-11-27Remove _mesa_ResizeBuffersMESA() call from _mesa_set_viewport().Brian Paul
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.
2004-10-13Make the GL_RENDERER string include the actual chipset informationIan Romanick
instead of always saying "CLE266".
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-04Set MaxTextureImageUnits and MaxTextureCoordUnits to match MaxTextureUnits.Ian Romanick
This fixes bugzilla #1511.
2004-10-02added support for GL_ARB_draw_buffersBrian Paul
2004-09-30Factored out code for setting texture coordinate wrap bits. Added supportIan Romanick
for GL_ARB_texture_mirrored_repeat. Enabled GL_NV_blend_square. It has always actually been supported. Removed redundant EXT versions of ARB extension strings.
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-04Start to "modernize" the driver.Ian Romanick
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