summaryrefslogtreecommitdiff
path: root/src/mesa/drivers/dri/r200
AgeCommit message (Collapse)Author
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-08Improve the behaviour of the build system wrt depend files.Keith Whitwell
- Remove the -Y option for makedepend, so that the standard directories are searched - No longer pipe the multiple errors that the -Y option caused into /dev/null -- we want to know about these failures. - Fix up a few other misc makedepend failures.
2004-12-08fix depth/stencil readback if coordinates are larger than 1023 ↵Roland Scheidegger
(https://bugs.freedesktop.org/show_bug.cgi?id=2010). Should now work up to 2047, which is the current limit for 3d rendering.
2004-12-03only enable GL_MESA_ycbcr_texture for real r200 chips, not the derivatives, ↵Roland Scheidegger
since yuv textures do not work for some reason on the other chips.
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-23revert enabling of hw quads for swtcl. It lead to problems with quad_strips, ↵Roland Scheidegger
since they'll get reduced to quads sometimes if hw quads are enabled. But this needs more thought, since it looks like clipped primitives will always be emitted as polys, so the reduced primitives for triangles, quads, quads_strips, polys all need to be the same, otherwise get lockups with for instance the olympic test. Render templates would probably need to be changed for this to work.
2004-11-12enable hw quad primitive for swtclRoland Scheidegger
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-11-03enable GL_EXT_fog_coord. Calculate fog factors and submit them instead of ↵Roland Scheidegger
fog coords (it seems the chip cannot do fog factor computation when not using fragment depth as fog coord source). vtxfmt uses fallback for now (most code present but some magic would be needed if replaying vertices is necessary later on).
2004-10-23Big-endian fixes for R200 sw TCL path.Ian Romanick
2004-10-18Fix compile errors when DEBUG is defined.Ian Romanick
2004-10-16Add code to support projective texturing and fix mixed enabling of textureEric Anholt
coordinate generation. Original code by Roland Schiedegger, with changes by myself. While here, ensure that the swtcl path does tnl_install_attrs enough when fog/specular are being (en/dis)abled. Notable effects: - projtex test works with TCL and is closer with swtcl (Bugzilla #1461) - 8/9 squares work in texgenmix instead of 3. - texcyl "reflect" mode works (GL_SPHERE_MAP is now a fallback -- unclear if the hardware can actually support it). - flickering in doom3 replaced by just plain darkness. - blocktube fixed (Bugzilla #984) - fixes stex3d
2004-10-16Always turn on the TAM_DEBUG3=0x6 workaround on real r200s. It appears thatEric Anholt
the current cases for turning it on were insufficient (Bugzilla #1519, 729, 814) and it has no significant performance impact. Performance tested with quake3 in GL_LINEAR mode both with and without anisotropy, with the workaround always on or always off.
2004-10-14Add support for optimized versions of the code underlying ReadPixelsIan Romanick
(and DrawPixels). The R200, R128, and Unichrome drivers get support in this commit. Other drivers would be easy enough to add for people that have the cards. The DRI (CVS) build will need to be updated to account for the new source files.
2004-10-09This statechange is vtx state, not tcl.Eric Anholt
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-07Prevent Y-offset from exceeding valid range in texture upload code. ThisIan Romanick
fixes bugzilla #960.
2004-10-02added support for GL_ARB_draw_buffersBrian Paul
2004-10-02If an application cleared before any state had been emitted, that clear wouldEric Anholt
happen before any state had been set, causing a hang later on. Fix this by calling r200Flush instead of FIREVERTICES (which checks if any state has been emitted but not flushed, before calling Flush) in r200Clear. While here, add some more debugging info which was useful, and remove an unnecessary save/restore in BackUpAndEmit.
2004-09-30Bugzilla #1058: Fix some potential 64bit pointer issues by storing differencesEric Anholt
between pointers in appropriate types. Submitted by: Ronny V. Vindenes <s864@ii.uib.no>
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-25Fix texturing in quake3. Some code was left over from the dirty/clean listEric Anholt
setup that now removed atoms from the atomlist on texture deletion.
2004-09-25Bump DRIVER_DATE for yesterday's changes.Eric Anholt
2004-09-24-O -Wall warnings cleanups in r200.Eric Anholt
2004-09-24Remove an unnecessary calculation of the dest pointer.Eric Anholt
2004-09-23fix for Erics new emit state code, rework out the dest pointerDave Airlie
after we check the buffer
2004-09-22The 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. Also, remove the dirty/clean atom lists, since atoms are emitted in a fixed order these days, and go with a simpler single list. Provides a 14% improvement in ipers performance in my tests, along with other apps.
2004-09-08updated patch for vertex programDave Airlie
2004-09-07This patch enables GL_ARB_vertex_program and GL_NV_vertex_programDave Airlie
support in the r200 driver. Both extensions can be enabled via options, GL_ARB_vertex_program is on by default, GL_NV_vertex_program off. Option descriptions are in german, english and french. From: Philipp Klaus Krause
2004-09-02r200-maybe-flush-less-3.diffKeith Whitwell
2004-08-25print internalFormat value in r200ChooseTextureFormat() error messageBrian Paul
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-08-03fix incorrect overflow detection when emitting R200_SS_MAT_1_SHININESSRoland Scheidegger
2004-07-31xorg-r200-uninitialized-variable-used.patch from Redhat xorgDave Airlie
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-28add missing R200_RB3D_BLENDCOLOR to r200/radeon_sanity.cRoland 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 various small bugs with tex env combine mode GL_DOT3_RGB(A)/GL_DOT3_RGB(A)_EXT
2004-06-04Replace 'Display *' with '__DRInativeDisplay *'.Ian Romanick
2004-06-03fix minor signedness issue in assertionRoland Scheidegger
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-02Removed need for sarea.h, various touch ups to get rid of type mismatches.Jon Smirl