summaryrefslogtreecommitdiff
path: root/src/mesa/drivers
AgeCommit message (Collapse)Author
2005-07-18Wrap every place that accesses a dispatch table with a macro. A new script-Ian Romanick
generated file, called src/mesa/glapi/dispatch.h, is added. This file contains three macros for each API function. It contains a GET, a SET, and a CALL. Each of the macros take a pointer to the context and a pointer to the dispatch table. In several threads on mesa3d-dev we discussed replacing _glapi_add_entrypoint with a new function called _glapi_add_dispatch. For this discussion, the important difference between the two is that the caller of _glapi_add_dispatch does *not* know what the dispatch offset will be at compile time. Because of this callers need to track the dispatch offset returned by _glapi_add_dispatch. http://marc.theaimsgroup.com/?t=111947074700001&r=1&w=2 The downside is that driver code then has to access the dispatch table two different ways. It accesses it using structure tags (e.g., exec->Begin) for functions with fixed offsets and via a remap table (e.g., exec[ remap->NewExtensionFunction ]) for functions without fixed offsets. Yuck! Using the macros allows both types of functions to be accessed identically. If a driver needs to set a pointer for Begin, it does 'SET_Begin(ctx, exec, my_begin_function)'. If it needs to set a pointer for NewExtensionFunction, it does 'SET_NewExtensionFunction(ctx, exec, my_NewExtensionFunction_function)'. Furthermore, if at some point in the future a static offset is assigned for NewExtensionFunction, only the macros need to change (instead of every single place that accesses a table for that function). This code differs slightly from the originally posted patches in that the CALL, GET, and SET marcos no longer take a context pointer as a parameter. Brian Paul had suggested that the remap table could be stored as a global since it would be set at CreateScreen time and would be constant for all contexts. This change reflects that feedback. http://marc.theaimsgroup.com/?t=112087194700001&r=1&w=2
2005-07-16XMesaResizeBuffers needs separate paths for client and server buildsAdam Jackson
2005-07-16strip out vestigial #ifdef HAVE_CONFIG_H stanzas, they're confusing theAdam Jackson
modular X build
2005-07-15disable call to via_sse_memcpy() until it's fixedBrian Paul
2005-07-15remove duplicate "User disable" stringBrian Paul
2005-07-15replace gcc with $(CC) (Egbert Eich)Brian Paul
2005-07-14added a few more fallbackStrings (Andreas Stenglein)Brian Paul
2005-07-06Re-enable r200InitSpanFuncs, which was ifdefed out (probably by mistake?),Roland Scheidegger
so r200SetBuffer, r200SpanRenderStart and r200SpanRenderFinish get called again. Bugzilla #3705, #3706.
2005-07-02Expose the fact that we do not do either selection of feedback buffers - ↵Vladimir Dergachev
either with software or hardware rendering.
2005-07-01Adding RV350_NJ ID.Jerome Glisse
2005-07-01Adapt extension string to new GL dispatch schema proposedJerome Glisse
by Idr. This patch is based on Idr patch to radeon driver. Change #if 1 to #if 0 (r300_context.c:l69) for old dispatch tab.
2005-07-01Fix a prototypeKarl Schultz
2005-07-01convert sis and radeon driver to use spantmp2 instead of spantmp template. ↵Roland Scheidegger
Remove old (pre-renderbuffer) span code instead of converting that too. Remove this old code from mach64 (the dead code was not fully converted to spantmp2 previously) too.
2005-07-01Remove NEW_RENDERBUFFER stuff.Brian Paul
Now, OLD_RENDERBUFFER marks code that needs to eventually be removed when all the drivers are updated to no longer need the SetBuffer() function.
2005-07-01remove common macros used in the span functions of most drivers from the ↵Roland Scheidegger
individual drivers and put them in common code. It is still possible for a driver to define its own macros if it has special needs. This affects CLIPPIXEL, CLIPSPAN, HW_CLIPLOOP, HW_ENDCLIPLOOP, and for drivers using the spantmp2 template also GET_SRC_PTR and GET_DST_PTR.
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-06-30-"fix" page flippingAapo Tahkola
-use depth tiling if tiling is enabled
2005-06-27Uncomment a couple of helper functions.Vladimir Dergachev
Fix slipup from CVS update that was commented out and did not show up during compilation.
2005-06-27Rename unchecked state to match DRM driver.Vladimir Dergachev
Emit wait idle and pacify r300 before emitting state - this seems to improve stability.
2005-06-27Get rid of the MESA_PBUFFER_ALLOC/FREE() macros.Brian Paul
If that stuff is still needed, lots of other updates are needed anyway. Also, some misc MALLOC/FREE -> _mesa_malloc/free() changes.
2005-06-26Fix crashes during rasterization fallback by avoiding _tnl_need_projected_coordsEric Anholt
during fallbacks. In one case, _swsetup_Wakeup had just been called, covering the need there, and in the other case, we can simply exit the entire radeonChooseVertexState function, knowing that it will be called again once we leave the fallback. Bugzilla #: 2516 Submitted by: sroland
2005-06-26Remove the #if 0-ed out old span code.Eric Anholt
2005-06-26Explain the reason for TCL fallback when GL_SPHERE_MAP happens withEric Anholt
RADEON_DEBUG=fall.
2005-06-26Zero out the ENGPACKET allocated on the stack, to avoid sending uninitializedEric Anholt
values to reserved fields on the card, resulting in all-black output and sometimes hangs. Submitted by: Thomas Winischhofer
2005-06-26need parenthesis in realloc callBrian Paul
2005-06-23Remove the xmesa_set_buffer() function. No longer needed since theBrian Paul
span functions pass in a gl_renderbuffer to indicate which color buffer should be drawn into. Optimized line/triangle routines are smart enough to know which buffer to draw into as well. The swrast->SetBuffer() routine should eventually be removed from all drivers.
2005-06-21Back out the actual enabling of depth tiling.Nicolai Haehnle
Depth tiling breaks software fallbacks and depth buffer reads. radeon_span.c **must** be updated for anything that is related to tiling.
2005-06-21Add PCI ID for R420 JI.Nicolai Haehnle
The driver appears to work reliably (i.e. lockup-free) with a card based on this chip. However, I have not explored whether we could get anything in terms of 3D performance "for free" just by setting some magic bits in those registers that are still a mystery to us.
2005-06-21r300 driver side of color tiling support.Aapo Tahkola
2005-06-21Make sure texture base addresses are used correctly.Nicolai Haehnle
They are relative to the card's address space, not relative to fbLocation, which will be important once we program MC_FB/AGP_LOCATION in the way they are programmed on older Radeon chips.
2005-06-20DirectFB updates (Claudio Ciccani)Brian Paul
2005-06-16Fix gloss breakage when using hw tnl.Aapo Tahkola
2005-06-16Use depth tiling.Aapo Tahkola
2005-06-16Support 16-bit modes.Aapo Tahkola
2005-06-16Fix problems with elts when immediate mode is on.Aapo Tahkola
2005-06-16Turn off VBO's.Aapo Tahkola
2005-06-16lost_context never gets reset.Aapo Tahkola
2005-06-16Fix linux-solo build for mga check-inJon Smirl
2005-06-14Adds support for MGA DRM version 3.2.Ian Romanick
This patch makes use of two of the new ioctls added in MGA DRM version 3.2. Specifically, the DRM_MGA_SET_FENCE and DRM_MGA_WAIT_FENCE ioctls are used in mgaWaitForFrameCompletion. As a result the MMIO register region and the primary DMA region are *not* mapped (if DRM 3.2 is available). This patch does *not* make use of the new get_param query was added to differentiate between G4x0 cards and G550 cards. That is left to a future update. Xorg bug: 3259 Reviewed by: Eric Anholt
2005-06-13fbSwapBuffers needs to return a statusJon Smirl
2005-06-13mingw changes (Nolan Leake)Brian Paul
2005-06-12Fixed typos.Vladimir Dergachev
2005-06-10Add definition for memory controller latency registers..Vladimir Dergachev
2005-06-08- Secondary colourBen Skeggs
- Calculate tc_count in EmitArrays (enabled units != nr texcoords).
2005-06-08fix some renderbuffer problems for Xserver build (Dave Reveman)Brian Paul
2005-06-08check for double-buffered buffer in XMesaDestroyBuffer() (Dave Reveman)Brian Paul
2005-06-07Add SetBuffer to egl driver tooJon Smirl
2005-06-06Add a NULL SetBuffer function to the fbdev driverJon Smirl
2005-06-06TEX to outputBen Skeggs
2005-06-05Fix xyz/w interaction (needs a cleanup still..)Ben Skeggs
Use SRC0A instead of WZY/XXX combination for W in XYZ positions. Remove dodgy hack from POW opcode, now works correctly without it