Mesa (master): radeon: Drop dri2 checks now that it's always true.

Eric Anholt anholt at kemper.freedesktop.org
Fri Oct 28 11:39:37 PDT 2011


Module: Mesa
Branch: master
Commit: 53b382637ca5462b15a430abbfc070e799d70b97
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=53b382637ca5462b15a430abbfc070e799d70b97

Author: Eric Anholt <eric at anholt.net>
Date:   Fri Oct 14 12:49:59 2011 -0700

radeon: Drop dri2 checks now that it's always true.

This makes LOCK_HARDWARE empty, so it goes away.

---

 src/mesa/drivers/dri/r200/Makefile           |    1 -
 src/mesa/drivers/dri/r200/r200_context.h     |    2 -
 src/mesa/drivers/dri/r200/r200_ioctl.c       |    9 --
 src/mesa/drivers/dri/r200/r200_swtcl.c       |    2 -
 src/mesa/drivers/dri/r200/radeon_lock.c      |    1 -
 src/mesa/drivers/dri/r200/radeon_lock.h      |    1 -
 src/mesa/drivers/dri/radeon/Makefile         |    1 -
 src/mesa/drivers/dri/radeon/radeon_common.c  |   72 ------------
 src/mesa/drivers/dri/radeon/radeon_common.h  |    3 -
 src/mesa/drivers/dri/radeon/radeon_context.h |    2 -
 src/mesa/drivers/dri/radeon/radeon_dma.c     |    5 -
 src/mesa/drivers/dri/radeon/radeon_ioctl.c   |    8 --
 src/mesa/drivers/dri/radeon/radeon_ioctl.h   |    1 -
 src/mesa/drivers/dri/radeon/radeon_lock.c    |  156 --------------------------
 src/mesa/drivers/dri/radeon/radeon_lock.h    |   69 -----------
 src/mesa/drivers/dri/radeon/radeon_span.c    |   16 ---
 16 files changed, 0 insertions(+), 349 deletions(-)

diff --git a/src/mesa/drivers/dri/r200/Makefile b/src/mesa/drivers/dri/r200/Makefile
index 60d9c49..694479f 100644
--- a/src/mesa/drivers/dri/r200/Makefile
+++ b/src/mesa/drivers/dri/r200/Makefile
@@ -20,7 +20,6 @@ RADEON_COMMON_SOURCES = \
 	radeon_dma.c \
 	radeon_debug.c \
 	radeon_fbo.c \
-	radeon_lock.c \
 	radeon_mipmap_tree.c \
 	radeon_pixel_read.c \
 	radeon_queryobj.c \
diff --git a/src/mesa/drivers/dri/r200/r200_context.h b/src/mesa/drivers/dri/r200/r200_context.h
index 38b00e5..b4003c3 100644
--- a/src/mesa/drivers/dri/r200/r200_context.h
+++ b/src/mesa/drivers/dri/r200/r200_context.h
@@ -54,8 +54,6 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #include "radeon_screen.h"
 #include "radeon_common.h"
 
-#include "radeon_lock.h"
-
 struct r200_context;
 typedef struct r200_context r200ContextRec;
 typedef struct r200_context *r200ContextPtr;
diff --git a/src/mesa/drivers/dri/r200/r200_ioctl.c b/src/mesa/drivers/dri/r200/r200_ioctl.c
index 018e78d..3b0e431 100644
--- a/src/mesa/drivers/dri/r200/r200_ioctl.c
+++ b/src/mesa/drivers/dri/r200/r200_ioctl.c
@@ -44,7 +44,6 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 
 
 #include "radeon_common.h"
-#include "radeon_lock.h"
 #include "r200_context.h"
 #include "r200_ioctl.h"
 #include "radeon_reg.h"
@@ -60,7 +59,6 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 static void r200Clear( struct gl_context *ctx, GLbitfield mask )
 {
    r200ContextPtr rmesa = R200_CONTEXT(ctx);
-   __DRIdrawable *dPriv = radeon_get_drawable(&rmesa->radeon);
    GLuint flags = 0;
    GLuint orig_mask = mask;
 
@@ -71,13 +69,6 @@ static void r200Clear( struct gl_context *ctx, GLbitfield mask )
 	       fprintf( stderr, "r200Clear %x radeon->sarea is NULL\n", mask);
    }
 
-   {
-      LOCK_HARDWARE( &rmesa->radeon );
-      UNLOCK_HARDWARE( &rmesa->radeon );
-      if ( dPriv->numClipRects == 0 )
-	 return;
-   }
-
    radeonFlush( ctx );
 
    if ( mask & BUFFER_BIT_FRONT_LEFT ) {
diff --git a/src/mesa/drivers/dri/r200/r200_swtcl.c b/src/mesa/drivers/dri/r200/r200_swtcl.c
index c56a49d..dad2bc7 100644
--- a/src/mesa/drivers/dri/r200/r200_swtcl.c
+++ b/src/mesa/drivers/dri/r200/r200_swtcl.c
@@ -851,8 +851,6 @@ r200PointsBitmap( struct gl_context *ctx, GLint px, GLint py,
 
    /* Update window height
     */
-   LOCK_HARDWARE( &rmesa->radeon );
-   UNLOCK_HARDWARE( &rmesa->radeon );
    h = radeon_get_drawable(&rmesa->radeon)->h + radeon_get_drawable(&rmesa->radeon)->y;
    px += radeon_get_drawable(&rmesa->radeon)->x;
 
diff --git a/src/mesa/drivers/dri/r200/radeon_lock.c b/src/mesa/drivers/dri/r200/radeon_lock.c
deleted file mode 120000
index af4108a..0000000
--- a/src/mesa/drivers/dri/r200/radeon_lock.c
+++ /dev/null
@@ -1 +0,0 @@
-../radeon/radeon_lock.c
\ No newline at end of file
diff --git a/src/mesa/drivers/dri/r200/radeon_lock.h b/src/mesa/drivers/dri/r200/radeon_lock.h
deleted file mode 120000
index 64bdf94..0000000
--- a/src/mesa/drivers/dri/r200/radeon_lock.h
+++ /dev/null
@@ -1 +0,0 @@
-../radeon/radeon_lock.h
\ No newline at end of file
diff --git a/src/mesa/drivers/dri/radeon/Makefile b/src/mesa/drivers/dri/radeon/Makefile
index 5ee8022..e54891f 100644
--- a/src/mesa/drivers/dri/radeon/Makefile
+++ b/src/mesa/drivers/dri/radeon/Makefile
@@ -21,7 +21,6 @@ RADEON_COMMON_SOURCES = \
 	radeon_dma.c \
 	radeon_debug.c \
 	radeon_fbo.c \
-	radeon_lock.c \
 	radeon_mipmap_tree.c \
 	radeon_pixel_read.c \
 	radeon_queryobj.c \
diff --git a/src/mesa/drivers/dri/radeon/radeon_common.c b/src/mesa/drivers/dri/radeon/radeon_common.c
index 51ae9cc..64a7c3f 100644
--- a/src/mesa/drivers/dri/radeon/radeon_common.c
+++ b/src/mesa/drivers/dri/radeon/radeon_common.c
@@ -54,7 +54,6 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 
 #include "radeon_common.h"
 #include "radeon_bocs_wrapper.h"
-#include "radeon_lock.h"
 #include "radeon_drm.h"
 #include "radeon_queryobj.h"
 
@@ -277,58 +276,6 @@ uint32_t radeonGetAge(radeonContextPtr radeon)
 	return age;
 }
 
-
-/* wait for idle */
-void radeonWaitForIdleLocked(radeonContextPtr radeon)
-{
-	int ret;
-	int i = 0;
-
-	do {
-		ret = drmCommandNone(radeon->dri.fd, DRM_RADEON_CP_IDLE);
-		if (ret)
-			DO_USLEEP(1);
-	} while (ret && ++i < 100);
-
-	if (ret < 0) {
-		UNLOCK_HARDWARE(radeon);
-		fprintf(stderr, "Error: R300 timed out... exiting\n");
-		exit(-1);
-	}
-}
-
-static void radeon_flip_renderbuffers(struct radeon_framebuffer *rfb)
-{
-	int current_page = rfb->pf_current_page;
-	int next_page = (current_page + 1) % rfb->pf_num_pages;
-	struct gl_renderbuffer *tmp_rb;
-
-	/* Exchange renderbuffers if necessary but make sure their
-	 * reference counts are preserved.
-	 */
-	if (rfb->color_rb[current_page] &&
-	    rfb->base.Attachment[BUFFER_FRONT_LEFT].Renderbuffer !=
-	    &rfb->color_rb[current_page]->base) {
-		tmp_rb = NULL;
-		_mesa_reference_renderbuffer(&tmp_rb,
-					     rfb->base.Attachment[BUFFER_FRONT_LEFT].Renderbuffer);
-		tmp_rb = &rfb->color_rb[current_page]->base;
-		_mesa_reference_renderbuffer(&rfb->base.Attachment[BUFFER_FRONT_LEFT].Renderbuffer, tmp_rb);
-		_mesa_reference_renderbuffer(&tmp_rb, NULL);
-	}
-
-	if (rfb->color_rb[next_page] &&
-	    rfb->base.Attachment[BUFFER_BACK_LEFT].Renderbuffer !=
-	    &rfb->color_rb[next_page]->base) {
-		tmp_rb = NULL;
-		_mesa_reference_renderbuffer(&tmp_rb,
-					     rfb->base.Attachment[BUFFER_BACK_LEFT].Renderbuffer);
-		tmp_rb = &rfb->color_rb[next_page]->base;
-		_mesa_reference_renderbuffer(&rfb->base.Attachment[BUFFER_BACK_LEFT].Renderbuffer, tmp_rb);
-		_mesa_reference_renderbuffer(&tmp_rb, NULL);
-	}
-}
-
 /**
  * Check if we're about to draw into the front color buffer.
  * If so, set the intel->front_buffer_dirty field to true.
@@ -556,27 +503,10 @@ void radeonReadBuffer( struct gl_context *ctx, GLenum mode )
 	}
 }
 
-
-/* Turn on/off page flipping according to the flags in the sarea:
- */
-void radeonUpdatePageFlipping(radeonContextPtr radeon)
-{
-	struct radeon_framebuffer *rfb = radeon_get_drawable(radeon)->driverPrivate;
-
-	rfb->pf_active = radeon->sarea->pfState;
-	rfb->pf_current_page = radeon->sarea->pfCurrentPage;
-	rfb->pf_num_pages = 2;
-	radeon_flip_renderbuffers(rfb);
-	radeon_draw_buffer(radeon->glCtx, radeon->glCtx->DrawBuffer);
-}
-
 void radeon_window_moved(radeonContextPtr radeon)
 {
 	/* Cliprects has to be updated before doing anything else */
 	radeonSetCliprects(radeon);
-	if (!radeon->radeonScreen->driScreen->dri2.enabled) {
-		radeonUpdatePageFlipping(radeon);
-	}
 }
 
 void radeon_viewport(struct gl_context *ctx, GLint x, GLint y, GLsizei width, GLsizei height)
@@ -862,9 +792,7 @@ int rcommonFlushCmdBuf(radeonContextPtr rmesa, const char *caller)
 
 	radeonReleaseDmaRegions(rmesa);
 
-	LOCK_HARDWARE(rmesa);
 	ret = rcommonFlushCmdBufLocked(rmesa, caller);
-	UNLOCK_HARDWARE(rmesa);
 
 	if (ret) {
 		fprintf(stderr, "drmRadeonCmdBuffer: %d. Kernel failed to "
diff --git a/src/mesa/drivers/dri/radeon/radeon_common.h b/src/mesa/drivers/dri/radeon/radeon_common.h
index 0389f5a..344250e 100644
--- a/src/mesa/drivers/dri/radeon/radeon_common.h
+++ b/src/mesa/drivers/dri/radeon/radeon_common.h
@@ -11,11 +11,8 @@ void radeonSetCliprects(radeonContextPtr radeon);
 void radeonUpdateScissor( struct gl_context *ctx );
 void radeonScissor(struct gl_context* ctx, GLint x, GLint y, GLsizei w, GLsizei h);
 
-void radeonWaitForIdleLocked(radeonContextPtr radeon);
 extern uint32_t radeonGetAge(radeonContextPtr radeon);
 
-void radeonUpdatePageFlipping(radeonContextPtr rmesa);
-
 void radeonFlush(struct gl_context *ctx);
 void radeonFinish(struct gl_context * ctx);
 void radeonEmitState(radeonContextPtr radeon);
diff --git a/src/mesa/drivers/dri/radeon/radeon_context.h b/src/mesa/drivers/dri/radeon/radeon_context.h
index de71aa2..90c3668 100644
--- a/src/mesa/drivers/dri/radeon/radeon_context.h
+++ b/src/mesa/drivers/dri/radeon/radeon_context.h
@@ -60,8 +60,6 @@ struct r100_context;
 typedef struct r100_context r100ContextRec;
 typedef struct r100_context *r100ContextPtr;
 
-#include "radeon_lock.h"
-
 
 
 #define R100_TEX_ALL 0x7
diff --git a/src/mesa/drivers/dri/radeon/radeon_dma.c b/src/mesa/drivers/dri/radeon/radeon_dma.c
index 03d4e96..1f87a0f 100644
--- a/src/mesa/drivers/dri/radeon/radeon_dma.c
+++ b/src/mesa/drivers/dri/radeon/radeon_dma.c
@@ -328,11 +328,6 @@ void radeonReleaseDmaRegions(radeonContextPtr rmesa)
 		      __FUNCTION__, free, wait, reserved, rmesa->dma.minimum_size);
 	}
 
-	if (!rmesa->radeonScreen->driScreen->dri2.enabled) {
-		/* request updated cs processing information from kernel */
-		legacy_track_pending(rmesa->radeonScreen->bom, 0);
-	}
-
 	/* move waiting bos to free list.
 	   wait list provides gpu time to handle data before reuse */
 	foreach_s(dma_bo, temp, &rmesa->dma.wait) {
diff --git a/src/mesa/drivers/dri/radeon/radeon_ioctl.c b/src/mesa/drivers/dri/radeon/radeon_ioctl.c
index bbc0467..d1ae9fc 100644
--- a/src/mesa/drivers/dri/radeon/radeon_ioctl.c
+++ b/src/mesa/drivers/dri/radeon/radeon_ioctl.c
@@ -383,7 +383,6 @@ void radeonEmitAOS( r100ContextPtr rmesa,
 static void radeonClear( struct gl_context *ctx, GLbitfield mask )
 {
    r100ContextPtr rmesa = R100_CONTEXT(ctx);
-   __DRIdrawable *dPriv = radeon_get_drawable(&rmesa->radeon);
    GLuint flags = 0;
    GLuint orig_mask = mask;
 
@@ -395,13 +394,6 @@ static void radeonClear( struct gl_context *ctx, GLbitfield mask )
       fprintf( stderr, "radeonClear\n");
    }
 
-   {
-      LOCK_HARDWARE( &rmesa->radeon );
-      UNLOCK_HARDWARE( &rmesa->radeon );
-      if ( dPriv->numClipRects == 0 )
-	 return;
-   }
-
    radeon_firevertices(&rmesa->radeon);
 
    if ( mask & BUFFER_BIT_FRONT_LEFT ) {
diff --git a/src/mesa/drivers/dri/radeon/radeon_ioctl.h b/src/mesa/drivers/dri/radeon/radeon_ioctl.h
index c92d54e..d7d1d84 100644
--- a/src/mesa/drivers/dri/radeon/radeon_ioctl.h
+++ b/src/mesa/drivers/dri/radeon/radeon_ioctl.h
@@ -37,7 +37,6 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define __RADEON_IOCTL_H__
 
 #include "main/simple_list.h"
-#include "radeon_lock.h"
 #include "radeon_bocs_wrapper.h"
 
 extern void radeonEmitVertexAOS( r100ContextPtr rmesa,
diff --git a/src/mesa/drivers/dri/radeon/radeon_lock.c b/src/mesa/drivers/dri/radeon/radeon_lock.c
deleted file mode 100644
index ae8a212..0000000
--- a/src/mesa/drivers/dri/radeon/radeon_lock.c
+++ /dev/null
@@ -1,156 +0,0 @@
-/**************************************************************************
-
-Copyright 2000, 2001 ATI Technologies Inc., Ontario, Canada, and
-                     VA Linux Systems Inc., Fremont, California.
-Copyright (C) The Weather Channel, Inc.  2002.  All Rights Reserved.
-
-The Weather Channel (TM) funded Tungsten Graphics to develop the
-initial release of the Radeon 8500 driver under the XFree86 license.
-This notice must be preserved.
-
-All Rights Reserved.
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice (including the
-next paragraph) shall be included in all copies or substantial
-portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-IN NO EVENT SHALL THE COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-**************************************************************************/
-
-/*
- * Authors:
- *   Gareth Hughes <gareth at valinux.com>
- *   Keith Whitwell <keith at tungstengraphics.com>
- *   Kevin E. Martin <martin at valinux.com>
- */
-
-#include "main/glheader.h"
-#include "main/mtypes.h"
-#include "main/colormac.h"
-#include "dri_util.h"
-#include "radeon_screen.h"
-#include "radeon_common.h"
-#include "radeon_lock.h"
-
-/* Update the hardware state.  This is called if another context has
- * grabbed the hardware lock, which includes the X server.  This
- * function also updates the driver's window state after the X server
- * moves, resizes or restacks a window -- the change will be reflected
- * in the drawable position and clip rects.  Since the X server grabs
- * the hardware lock when it changes the window state, this routine will
- * automatically be called after such a change.
- */
-void radeonGetLock(radeonContextPtr rmesa, GLuint flags)
-{
-	__DRIdrawable *const drawable = radeon_get_drawable(rmesa);
-	__DRIdrawable *const readable = radeon_get_readable(rmesa);
-	__DRIscreen *sPriv = rmesa->dri.screen;
-
-	drmGetLock(rmesa->dri.fd, rmesa->dri.hwContext, flags);
-
-	/* The window might have moved, so we might need to get new clip
-	 * rects.
-	 *
-	 * NOTE: This releases and regrabs the hw lock to allow the X server
-	 * to respond to the DRI protocol request for new drawable info.
-	 * Since the hardware state depends on having the latest drawable
-	 * clip rects, all state checking must be done _after_ this call.
-	 */
-	if (drawable)
-		DRI_VALIDATE_DRAWABLE_INFO(sPriv, drawable);
-	if (readable && drawable != readable) {
-		DRI_VALIDATE_DRAWABLE_INFO(sPriv, readable);
-	}
-
-	if (drawable && (rmesa->lastStamp != drawable->lastStamp)) {
-		radeon_window_moved(rmesa);
-		rmesa->lastStamp = drawable->lastStamp;
-	}
-
-	rmesa->vtbl.get_lock(rmesa);
-}
-#ifndef NDEBUG
-struct lock_debug {
-	const char* function;
-	const char* file;
-	int line;
-};
-
-static struct lock_debug ldebug = {0};
-#endif
-
-#if 0
-/** TODO: use atomic operations for reference counting **/
-/** gcc 4.2 has builtin functios for this **/
-#define ATOMIC_INC_AND_FETCH(atomic) __sync_add_and_fetch(&atomic, 1)
-#define ATOMIC_DEC_AND_FETCH(atomic) __sync_sub_and_fetch(&atomic, 1)
-#else
-#define ATOMIC_INC_AND_FETCH(atomic) (++atomic)
-#define ATOMIC_DEC_AND_FETCH(atomic) (--atomic)
-#endif
-
-
-void radeon_lock_hardware(radeonContextPtr radeon
-#ifndef NDEBUG
-		,const char* function
-		,const char* file
-		,const int line
-#endif
-		)
-{
-	char ret = 0;
-
-	if (!radeon->radeonScreen->driScreen->dri2.enabled) {
-		if (ATOMIC_INC_AND_FETCH(radeon->dri.hwLockCount) > 1)
-		{
-#ifndef NDEBUG
-			if ( RADEON_DEBUG & RADEON_SANITY )
-				fprintf(stderr, "*** %d times of recursive call to %s ***\n"
-						"Original call was from %s (file: %s line: %d)\n"
-						"Now call is coming from %s (file: %s line: %d)\n"
-						, radeon->dri.hwLockCount, __FUNCTION__
-						, ldebug.function, ldebug.file, ldebug.line
-						, function, file, line
-					   );
-#endif
-			return;
-		}
-		DRM_CAS(radeon->dri.hwLock, radeon->dri.hwContext,
-			 (DRM_LOCK_HELD | radeon->dri.hwContext), ret );
-		if (ret)
-			radeonGetLock(radeon, 0);
-#ifndef NDEBUG
-		ldebug.function = function;
-		ldebug.file = file;
-		ldebug.line = line;
-#endif
-	}
-}
-
-void radeon_unlock_hardware(radeonContextPtr radeon)
-{
-	if (!radeon->radeonScreen->driScreen->dri2.enabled) {
-		if (ATOMIC_DEC_AND_FETCH(radeon->dri.hwLockCount) > 0)
-		{
-			return;
-		}
-		DRM_UNLOCK( radeon->dri.fd,
-			    radeon->dri.hwLock,
-			    radeon->dri.hwContext );
-	}
-}
diff --git a/src/mesa/drivers/dri/radeon/radeon_lock.h b/src/mesa/drivers/dri/radeon/radeon_lock.h
deleted file mode 100644
index da5a5b4..0000000
--- a/src/mesa/drivers/dri/radeon/radeon_lock.h
+++ /dev/null
@@ -1,69 +0,0 @@
-/**************************************************************************
-
-Copyright 2000, 2001 ATI Technologies Inc., Ontario, Canada, and
-                     VA Linux Systems Inc., Fremont, California.
-Copyright (C) The Weather Channel, Inc.  2002.  All Rights Reserved.
-
-The Weather Channel (TM) funded Tungsten Graphics to develop the
-initial release of the Radeon 8500 driver under the XFree86 license.
-This notice must be preserved.
-
-All Rights Reserved.
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice (including the
-next paragraph) shall be included in all copies or substantial
-portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-IN NO EVENT SHALL THE COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-**************************************************************************/
-
-/*
- * Authors:
- *   Gareth Hughes <gareth at valinux.com>
- *   Keith Whitwell <keith at tungstengraphics.com>
- *   Kevin E. Martin <martin at valinux.com>
- */
-
-#ifndef COMMON_LOCK_H
-#define COMMON_LOCK_H
-
-#include "main/colormac.h"
-#include "radeon_screen.h"
-#include "radeon_common.h"
-
-extern void radeonGetLock(radeonContextPtr rmesa, GLuint flags);
-
-void radeon_lock_hardware(radeonContextPtr rmesa
-#ifndef NDEBUG
-		,const char* function
-		,const char* file
-		,const int line
-#endif
-		);
-void radeon_unlock_hardware(radeonContextPtr rmesa);
-
-/* Lock the hardware and validate our state.
- */
-#ifdef NDEBUG
-#define LOCK_HARDWARE( rmesa )	radeon_lock_hardware(rmesa)
-#else
-#define LOCK_HARDWARE( rmesa )	radeon_lock_hardware(rmesa, __FUNCTION__, __FILE__, __LINE__)
-#endif
-#define UNLOCK_HARDWARE( rmesa )  radeon_unlock_hardware(rmesa)
-
-#endif
diff --git a/src/mesa/drivers/dri/radeon/radeon_span.c b/src/mesa/drivers/dri/radeon/radeon_span.c
index 9d88ce9..dbb1671 100644
--- a/src/mesa/drivers/dri/radeon/radeon_span.c
+++ b/src/mesa/drivers/dri/radeon/radeon_span.c
@@ -45,7 +45,6 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #include "swrast/swrast.h"
 
 #include "radeon_common.h"
-#include "radeon_lock.h"
 #include "radeon_span.h"
 
 #define DBG 0
@@ -608,16 +607,6 @@ static void radeonSpanRenderStart(struct gl_context * ctx)
 
 	radeon_firevertices(rmesa);
 
-	/* The locking and wait for idle should really only be needed in classic mode.
-	 * In a future memory manager based implementation, this should become
-	 * unnecessary due to the fact that mapping our buffers, textures, etc.
-	 * should implicitly wait for any previous rendering commands that must
-	 * be waited on. */
-	if (!rmesa->radeonScreen->driScreen->dri2.enabled) {
-		LOCK_HARDWARE(rmesa);
-		radeonWaitForIdleLocked(rmesa);
-	}
-
 	for (i = 0; i < ctx->Const.MaxTextureImageUnits; i++) {
 		if (ctx->Texture.Unit[i]._ReallyEnabled)
 			ctx->Driver.MapTexture(ctx, ctx->Texture.Unit[i]._Current);
@@ -630,7 +619,6 @@ static void radeonSpanRenderStart(struct gl_context * ctx)
 
 static void radeonSpanRenderFinish(struct gl_context * ctx)
 {
-	radeonContextPtr rmesa = RADEON_CONTEXT(ctx);
 	int i;
 
 	_swrast_flush(ctx);
@@ -643,10 +631,6 @@ static void radeonSpanRenderFinish(struct gl_context * ctx)
 	radeon_map_unmap_framebuffer(ctx, ctx->DrawBuffer, GL_FALSE);
 	if (ctx->ReadBuffer != ctx->DrawBuffer)
 		radeon_map_unmap_framebuffer(ctx, ctx->ReadBuffer, GL_FALSE);
-
-	if (!rmesa->radeonScreen->driScreen->dri2.enabled) {
-		UNLOCK_HARDWARE(rmesa);
-	}
 }
 
 void radeonInitSpanFuncs(struct gl_context * ctx)



More information about the mesa-commit mailing list