tor, 29.04.2004 kl. 17.07 skrev Ronny V. Vindenes:
> tor, 29.04.2004 kl. 16.45 skrev Keith Whitwell:
> > Keith Whitwell wrote:
> > > Ronny V. Vindenes wrote:
> > >
> > >> 0x0000002a9579b885 in DoBindContext (dpy=0x5045a0, draw=52428802,
> > >> read=52428802, ctx=0x511070, modes=0x50c4d0, psp=0x50ed40)
> > >> at dri_util.c:480
> > >> 480 DRM_SPINLOCK(&psp->pSAREA->drawable_lock,
> > >> psp->drawLockID);
> > >
> > >
> > > OK, it looks like there might be some x86_64 magic missing to get
> > > spinlocks working...
> >
> > Please try this diff - it will complain if no DRM_CAS is defined, which is one
> > way to cause the infinite loop in DRM_SPINLOCK.
> >
> > Keith
> >
>
> That helped track it down. Using this target instead of the one I posted
> earlier fixes it.
Actually, scratch that. Here's simple patch and a new config.
--
Ronny V. Vindenes <[EMAIL PROTECTED]>
Index: src/mesa/drivers/dri/dri_client/imports/xf86drm.h
===================================================================
RCS file: /cvs/mesa/Mesa/src/mesa/drivers/dri/dri_client/imports/xf86drm.h,v
retrieving revision 1.1
diff -u -r1.1 xf86drm.h
--- src/mesa/drivers/dri/dri_client/imports/xf86drm.h 14 Apr 2004 12:39:58 -0000 1.1
+++ src/mesa/drivers/dri/dri_client/imports/xf86drm.h 29 Apr 2004 15:25:48 -0000
@@ -295,7 +295,7 @@
#define DRM_LOCK_CONT 0x40000000 /**< Hardware lock is contended */
#if defined(__GNUC__) && (__GNUC__ >= 2)
-# if defined(__i386) || defined(__AMD64__)
+# if defined(__i386) || defined(__amd64__)
/* Reflect changes here to drmP.h */
#define DRM_CAS(lock,old,new,__ret) \
do { \
# -*-makefile-*-
# Configuration for linux-dri: Linux DRI hardware drivers for XFree86 & others
include $(TOP)/configs/default
CONFIG_NAME = linux-dri-x86-64
# Compiler and flags
CC = gcc
CXX = g++
CFLAGS = -m64 -Wmissing-prototypes -g -std=c99 -Wundef -fPIC -ffast-math
-D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DPTHREADS
-D_GNU_SOURCE -DGLX_DIRECT_RENDERING -I/usr/X11R6/include
-I/usr/X11R6/include/X11/extensions
CXXFLAGS = -m64 -Wall -g -ansi -pedantic -fPIC -D_POSIX_SOURCE
-D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE
#ASM_SOURCES = $(X86_SOURCES)
LIB_DIR = $(TOP)/lib64
# Library/program dependencies
GL_LIB_DEPS = -L/usr/X11R6/lib64 -lX11 -lXext -lm -lpthread -lexpat -ldl
GLUT_LIB_DEPS = -L$(LIB_DIR) -lGLU -lGL -L/usr/X11R6/lib64 -lX11 -lXmu -lXt -lXi -lm
GLW_LIB_DEPS = -L$(LIB_DIR) -lGL -L/usr/X11R6/lib64 -lXt -lXm -lX11
# Directories
SRC_DIRS = mesa glu glut/glx glw
DRIVER_DIRS = dri
PROGRAM_DIRS =
WINDOW_SYSTEM=dri
# ffb & savage missing:
#
DRI_DIRS = dri_client gamma i810 i830 mach64 mga r128 r200 radeon sis tdfx unichrome