summaryrefslogtreecommitdiff
path: root/src/mesa/drivers/dri/radeon
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-15remove duplicate "User disable" stringBrian Paul
2005-07-14added a few more fallbackStrings (Andreas Stenglein)Brian Paul
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 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-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-26Explain the reason for TCL fallback when GL_SPHERE_MAP happens withEric Anholt
RADEON_DEBUG=fall.
2005-05-31Remove unused CTX_ARG2 define.Eric Anholt
2005-05-31Bugzilla #2195: Convert the radeon driver to the t_vertex interface. This cutsEric Anholt
about 200 lines from the code and 25k from the binary, while matching other drivers more closely. In the worst case (tcl_mode=0) it appears to have a performance cost of 4.4% +/- 0.3% on quake3 (800x600 demofours, 1ghz p3, rv200). Tested on ut2004, ut, q3, projtex. Submitted by: Andreas Stenglein <a.stenglein@gmx.net>
2005-05-28Put some fallback debugging output under DEBUG_FALLBACKS.Eric Anholt
2005-05-28Add a missing EnsureCmdBufSpace, matching r200.Eric Anholt
2005-05-16Apply r200 tcl fix to radeon - compiles but untested.Keith Whitwell
2005-05-05Refactor COMMON_SOURCES up to Makefile.templateAdam Jackson
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-04-22First pass at updating these drivers with pipeline_stage struct changes.Keith Whitwell
2005-04-08Remove all the radeon_subset files. They were completely unused. KeithIan Romanick
Whitwell says, "[T]he radeon subset code can probably be archived now." This "fixes" bug #1623.
2005-03-18Add support for production version of ATI RN50/ES1000. (ATI TechnologiesMichel Dänzer
Inc.)
2005-03-15add support for user-configurable brilinear filtering on r200Roland Scheidegger
2005-03-05Fixing memset on ia64 & other archsDave Airlie
From: Stephane Marchesin
2005-03-05remove one of the two _tnl_isolate_materials function callsRoland Scheidegger
2005-02-26Add a dri config option to enable the max texture level hackDave Airlie
make ycbcr depend on a CHIPSET define .. needs to be filled in though
2005-02-18fd.o bug #2576: Add support for ATI RN50/ES1000. (ATI Technologies Inc.)Michel Dänzer
2005-02-16s/0/NULL/ (Jeff Muizelaar)Brian Paul
2005-02-15Add missing texture formats for completenessDave Airlie
2005-02-14remove accidentally commited printf for tiling supportRoland Scheidegger
2005-02-13Typo fix.Michel Dänzer
2005-02-12MMIO endianness fixes for Radeon drivers.Michel Dänzer
2005-02-10add texture micro and macro tiling to radeon/r200 driver. This can improve ↵Roland Scheidegger
performance up to 15% in texture-intensive applications. Convert the driver to use the correct blit format and blit width instead of fixed blit format and blit width when uploading textures to make it work.
2005-02-10add the new RADEON_CUBIC_OFFSET/FACES state packets/registers to radeon (and ↵Roland Scheidegger
r200) sanity code
2005-02-08SUBPIXEL fixes from DieterKeith Whitwell
2005-01-31Bug #2428: #ifdef GLX_DIRECT_RENDERING in DRI drivers is pointless.Adam Jackson
2005-01-26(Stephane Marchesin, me) Add support for color (framebuffer) tiling to the ↵Roland Scheidegger
radeon and r200 driver
2005-01-26replace magic number with macro constant RADEON_ZBLOCK16Roland Scheidegger
2005-01-23reapply Keiths workaround for zbs emit that got dropped duringDave Airlie
state change patches....
2005-01-23add sync debugging to the radeon driverDave Airlie
2004-12-16Also PUBLICize the config option tableAdam Jackson
2004-12-15Mark __driCreateNewScreen PUBLICAdam Jackson
2004-12-14uint*t -> u_int*t changesAlan Hourihane
2004-12-09fixup pci code for Jon's last checkin for changing page sizeDave Airlie
2004-12-08(Stephane Marchesin, me) add hyperz support to radeon and r200 drivers. Only ↵Roland Scheidegger
fast z clear and z buffer compression are supported for now, hierarchical-z is not. Still problems with multiple apps and z/stencil readback, which is why hyperz is disabled per default. Also add the new point sprite packet drm 1.13 accepts to the sanity code.
2004-12-08From: Stephane Marchesin <marchesin@icps.u-strasbg.fr>Dave Airlie
Attached is a patch that adds pci init code for mesa solo on radeon. It's been tested on an itanium 2 with a radeon 7000 and it works here. The patch adds a new field in the miniglx.conf config file, to choose between pci and agp.
2004-12-03enable GL_EXT_stencil_wrap (patch from idr), including some hacks for ↵Roland Scheidegger
original radeons which have some broken stencil ops.
2004-12-02silence warningsAlan Hourihane
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-11-12add LOCK_HARDWARE/UNLOCK_HARDWARE to radeonClear so state gets updated which ↵Roland Scheidegger
hopefully fixes lockups (?) (from r200 driver)
2004-11-12(from r200 driver) If an application cleared before any state had been ↵Roland Scheidegger
emitted, that clear would happen before any state had been set, causing a hang later on. Fix this by calling radeonFlush instead of FIREVERTICES (which checks if any state has been emitted but not flushed, before calling Flush) in radeonClear. While here, add some more debugging info which was useful, and remove an unnecessary save/restore in BackUpAndEmit.
2004-11-12brown paper bag, r100 can't do hardware quads.Adam Jackson
2004-11-12make render_quads_verts call EMIT_PRIM with the arguments in the right order,Adam Jackson
and enable hardware quads on r200 and radeon. samples/prim renders quads correctly now.
2004-11-10GL_(UN)PACK_SKIP_IMAGES should only be applied to 3D texture pack/unpackingBrian Paul
and ignored for 1D and 2D images. Need to pass in image dimensions (1,2,3) to the _mesa_image_address() function. This change gets propogated to some other routines. Also added new _mesa_image_address[123]d() convenience functions.