summaryrefslogtreecommitdiff
path: root/src/mesa/drivers/dri/radeon
AgeCommit message (Collapse)Author
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.
2004-11-10add some chip idsRoland Scheidegger
2004-10-07Add Roland Scheidegger's S3TC patch. This patch does not implement theEric Anholt
(patented) S3TC/DXTC algorithms, but adds an option to dlopen a library module providing functions to do so. Because it uses dlopen, it is only enabled if USE_EXTERNAL_DXTN_LIB=1 is defined (which is only in linux-dri config, so far). It adds support for S3TC to several DRI drivers, and adds a DRI config option to force enabling S3TC even if the software compression/decompression is unavailable. This may allow people to use apps that require S3TC even though they don't have a license to implement the patented material themselves, if those apps use precompressed textures. Ideally we would get permission from the current holder of the patents to implement the algorithm in Mesa, at which point the dlopen mess could go away. Until then, this allows some to run applications they couldn't otherwise, and hopefully will provide us with more push to get the final step of getting that permission done.
2004-10-02added support for GL_ARB_draw_buffersBrian Paul
2004-09-30OK, one more time. Simplify the state-backup system by just storing the fullEric Anholt
state in a ready-to-emit cmdbuf, which avoids the issue Nicolai Haehnle reported where the check() could return differently during backup-and-emit than it should have if it were called at the right time. Move the lit emission before most of the TCL state emission on r200, which fixes neverball issues. Tested with: r100/r200 with neverball, tuxracer, chromium, quake3, ipers
2004-09-25The previous code would emit a full set of state during the first EmitState onEric Anholt
a new cmdbuf, to ensure that state wasn't lost across UNLOCK/LOCK pairs (in the case of context switching). This was rather inefficient. Instead, after flushing a cmdbuf, mark the state as needing to be saved on unlock. Then, at the beginning of flushing a cmdbuf, if we actually have lost the context, go back and emit a new cmdbuf with the full set of state, before continuing with the cmdbuf flush. Provides a 10-15% improvement in ipers performance in my tests, along with other apps. Tested with: ipers, glxgears, quake3
2004-09-24Clean up some warnings in the R100 driver with -O -Wall.Eric Anholt
2004-08-17Revert the move of lost_context setting to UNLOCK_HARDWARE that was done in theEric Anholt
last commit. I've been convinced by keithw that it's sufficient, and put a note in the code about it. Close another race for state in the Clear functions. I made the situation worse in my last commit, but this should fix things. Might be a slight performance hit, which could be regained by splitting the R*_FIREVERTICES calls in r*Clear up so that the EmitState doesn't happen in a separate new cmdbuf.
2004-08-17Close some races with locking on R100 and R200 which could manifest as renderingEric Anholt
errors on r100 and rendering errors and hangs on r200 (same for R100 without OLD_PACKETS). If a command buffer filled after some state (EmitState or a VBPNTR write) was emitted, the lock was grabbed, the buffer flushed, a new buffer prepared, and the lock dropped. Another client could come in, set its own state as part of rendering, and when the first client flushed the rendering commands depending on the previous state, it got the 2nd client's state. This is fixed by checking for enough space before beginning a set of state emits and rendering, and flushing the buffer first if so. This guarantees that the buffer won't wrap. Also, move the "lost_context = 1" from the end of cmdbuf flushing to UNLOCK_HARDWARE for clarity (at a minimum) that any time the lock is dropped, state may get overwritten. We don't have enough information at the point of the LOCK_HARDWARE to reset our state to the last UNLOCK_HARDWARE point in the case that we did lose our context, but saving the information to rebuild that state may be a useful optimization (ipers data suggests up to 5%).
2004-08-16Remove unused HAVE_INDEX define.Eric Anholt
2004-07-24use GL_CALL() macro (Andreas Stenglein)Brian Paul
2004-07-10Make solo radeon/r128 drivers track fix for DRI bug 849Jon Smirl
2004-07-05Convert miniglx to use Ian's fancy new driver config code.Jon Smirl
This removes the miniglx driver function InitContextModes(). All of the server directories were edited to remove the implementations.
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-07-01Rename the various function types in t_context.h to include a tnl_ prefix.Keith Whitwell
2004-06-29This should make most linux-solo drivers work again. Mainly a fixJon Smirl
for changing SAREA size form DRM_PAGE_SIZE to SAREA_MAX. fb driver is still broken.
2004-06-28add missing R200_RB3D_BLENDCOLOR to r200/radeon_sanity.cRoland Scheidegger
2004-06-23revert accidental change from rev. 1.10Roland Scheidegger
2004-06-19Big-endian texture fixes from Michel Dänzer.Brian Paul
2004-06-17use I8 internal format for GL_INTENSITY, GL_ALPHA and GL_LUMINANCE texture ↵Roland Scheidegger
formats. Fix potential bug with tex env combine mode GL_DOT3_RGB/GL_DOT3_RGB_EXT and ALPHA_SCALE
2004-06-03Remove fill_in_modes and use driFillInModes instead.Ian Romanick
2004-06-03Open/Close FullScreen die. unichrome and savage implemented, code is ifdef'd outJon Smirl
2004-06-02driCheckDriDdxDrmVersion uses a function that is not available toIan Romanick
drivers when DRI_NEW_INTERFACE_ONLY is defined. #ifndef it away in that situation. Add a new function, driCheckDriDdxDrmVersion2, that is passed in the version information that is already supplied to __driCreateNewScreen. Part of the reason that information is supplied to __driCreateNewScreen is so that the driver doesn't have to make those calls to get it! Modify all drivers that support the new interface to use the new function instead of the old. As soon as all drivers support the new interface, driCheckDriDdxDrmVersion can be removed.
2004-06-02change GL_ARB_texture_env_crossbar implementation behaviour to OGL 1.4 core ↵Roland Scheidegger
specification instead of extension specification (undefined behaviour instead of disabled blending if not enabled texture units are referenced). Fix minor signedness bug.
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-06-01Fix dumb mistake from a previous commit. __driCreateScreen is nowIan Romanick
properly block with '#ifndef DRI_NEW_INTERFACE_ONLY'.
2004-06-01add support for GL_ARB_texture_env_crossbarRoland Scheidegger
2004-06-01Convert 'Display *' to '__DRInativeDisplay *'. Only portions of theIan Romanick
interface that are not *strictly* part of the old interface were changed. Replace GetDrawableInfo type (dri_util.h) with PFNGLXGETDRAWABLEINFOPROC (dri_interface.h). Wrap __driCreateScreen (in drivers that use the new interface) with '#ifndef DRI_NEW_INTERFACE_ONLY'.
2004-05-28update so it compiles again (untested driver path!). Basically ported ↵Roland Scheidegger
changes from r200_maos_arrays.c cvs rev. 1.3-1.5.
2004-05-27Move dri_util.[ch] and glcontextmodes.[ch] from dri_client to common.Ian Romanick
2004-05-27Convert all calls using _glapi_Dispatch to use the new GL_CALL macro.Ian Romanick
2004-05-12obsolete in favor of regular MakefilesBrian Paul
2004-05-04switch to X86_SOURCESDave Airlie
2004-05-03add asm sourcesDave Airlie
2004-04-29Allow *_dri.so to build in Mesa tree with the 'linux-dri' target.Keith Whitwell
2004-04-26bring over build fixes from stable branchAlan Hourihane
2004-04-15get the libraries the right way round..Dave Airlie
2004-04-15set default page flipping to zero can be changed in header fileDave Airlie
2004-04-14get agpmode from config fileDave Airlie
2004-04-13make this exactly like XFree86 .. allows 4x to workDave Airlie
2004-04-13Add DRM_SOURCE_PATH to make system.Jon Smirl
Needed for linux-solo to build
2004-04-08lots of Makefile updates for new build systemBrian Paul