summaryrefslogtreecommitdiff
path: root/src/mesa/drivers/dri/r200
AgeCommit message (Collapse)Author
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
2004-06-02add support for more than 2 texture units (max 6, default 4). use hang ↵Roland Scheidegger
workarounds only for r200, not derivatives.
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-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-28remove never finished verts path (r200_maos_vbtmp.h, r200_maos_verts.c) and ↵Roland Scheidegger
unused R200_OLD_PACKET macro
2004-05-27Move dri_util.[ch] and glcontextmodes.[ch] from dri_client to common.Ian Romanick
2004-05-27change some explicit references to texture units 0/1 to unit < ↵Roland Scheidegger
MaxTextureUnits (Andreas Stenglein, Ronny Vindenes)
2004-05-27Convert all calls using _glapi_Dispatch to use the new GL_CALL macro.Ian Romanick
2004-05-25Added a couple fog coordinate related register defines.Ian Romanick
2004-05-21fix constant texture environment color setup for texture units > 0Roland Scheidegger
2004-05-20Add support for GL_EXT_blend_[func|equation]_separate. Fix ↵Roland Scheidegger
GL_EXT_blend_color. Remove support for GL_EXT_blend_logic_op (cannot be supported together with blend_equation_separate unless a software fallback would be added).
2004-05-20add check if drm is new enough for packet R200_EMIT_RB3D_BLENDCOLORRoland Scheidegger
2004-05-20add missing R200_RB3D_BLENDCOLOR registerRoland Scheidegger
2004-05-14Fix GL_MIN and GL_MAX blend equations (set blend factors accordingly). Fix ↵Roland Scheidegger
errors when blending is disabled (set blend equation and function to default values).
2004-05-12obsolete in favor of regular MakefilesBrian Paul
2004-05-05Remove a debug printf that should not have been left in.Ian Romanick
2004-05-05Added support for the 3rd texture coordinate for cubemaps and 3DIan Romanick
textures. progs/demos/cubemap and progs/demos/stex3d seem to work correctly at all tcl_mode settings. x86 / SSE codegen is currently disabled.
2004-05-04add r200 x86 sourcesDave Airlie
2004-04-29Allow *_dri.so to build in Mesa tree with the 'linux-dri' target.Keith Whitwell
2004-04-27Use the dispatch table directly instead of calling GL functions.Ian Romanick
2004-04-27Remove include of texutil.h to get build working.Ian Romanick
2004-04-26bring over build fixes from stable branchAlan Hourihane
2004-04-23Convert R200 driver to use the t_vertex interface.Ian Romanick
2004-04-22New glTexImage code.Brian Paul
The gl_texture_format struct now has a StoreTexImageFunc that's called by glTex[Sub]Image[123]D to convert the user's texture data into the specific texture format layout. Now it's much easier to add new texture formats (like the 16/32-bit floating point formats). The texutil.[ch] and texutil_tmp.h files are obsolete.
2004-04-14disable under _SOLO buildAlan Hourihane
2004-04-13fix the usage of GLX_MESA_allocate_memoryAlan Hourihane
2004-04-13Add DRM_SOURCE_PATH to make system.Jon Smirl
Needed for linux-solo to build