On Sat, Dec 19, 2015 at 04:36:53PM +0100, Martin Pieuchot wrote: > On 20/12/15(Sun) 00:05, Jonathan Gray wrote: > > On Sat, Dec 19, 2015 at 01:06:28PM +0100, Martin Pieuchot wrote: > > > When I start glxgears(1) (on macppc) I see: > > > > > > glxgears:/usr/X11R6/lib/modules/dri/r300_dri.so: undefined symbol > > > 'drisw_create_screen' > > > libGL error: unable to load driver: r300_dri.so > > > libGL error: driver pointer missing > > > libGL error: failed to load driver: r300 > > > > > > > > > I don't have a Radeon card on !macppc machine but on my amd64 I also > > > see: > > > > > > $ nm /usr/X11R6/lib/modules/dri/r300_dri.so |grep drisw_create_screen > > > U drisw_create_screen > > > > > > Sin the r300 and the r600 dri DSO are the same, I wonder if anybody is > > > able to load them? > > > > > > $ ls -li r[36]00_dri.so > > > 26355 -rw-r--r-- 2 root wheel 18913848 Dec 12 06:14 r300_dri.so > > > 26355 -rw-r--r-- 2 root wheel 18913848 Dec 12 06:14 r600_dri.so > > > > > > Diff below works for me. It clearly seems to be a workaround. > > > > I wonder if this is another powerpc binutils bug. > > Are you saying that it works for you on amd64/i386? Which shared object > provides the 'drisw_create_screen' symbol then because I cannot find it > on my amd64 system under /usr/X11R6: > > $ find . -name "*.so*" |xargs nm |grep drisw_create_screen > U drisw_create_screen > U drisw_create_screen >
I can't easily test r300/r600 at the moment but the update was tested by at least r600 users on amd64. I tested at least one of the 11.0 releases on r300/r600 with amd64 at some point but I don't recall if that was with autoconf build or an update to the custom makefiles that wasn't committed. The code in question seems to have been removed sometime after Mesa 11.0 was branched. So how about we build softpipe everywhere for now (not just dri archs as your diff had) and revisit this later if needed. Building this way means the gallium software rasteriser will be used instead of the dri one even though both are built. The intel dri drivers use floating point textures regardless of configure options but others don't. I think we should enable that everywhere as well. It may make Mesa advertise OpenGL 3.x for r600 instead of 2.1. Index: Makefile.bsd-wrapper =================================================================== RCS file: /cvs/xenocara/lib/mesa/Makefile.bsd-wrapper,v retrieving revision 1.2 diff -u -p -r1.2 Makefile.bsd-wrapper --- Makefile.bsd-wrapper 26 Nov 2015 19:05:49 -0000 1.2 +++ Makefile.bsd-wrapper 20 Dec 2015 02:48:55 -0000 @@ -6,16 +6,16 @@ SHARED_LIBS= EGL 1.0 gbm 0.0 glapi 0.1 G OSMesa 9.0 DRI_DRIVERS= swrast -GALLIUM_DRIVERS= +GALLIUM_DRIVERS= swrast .if ${MACHINE} == i386 || ${MACHINE} == amd64 DRI_DRIVERS=swrast,radeon,r200,i915,i965 -GALLIUM_DRIVERS=r300,r600 +GALLIUM_DRIVERS=swrast,r300,r600 .endif .if ${MACHINE} == macppc || ${MACHINE} == sparc64 DRI_DRIVERS=swrast,radeon,r200 -GALLIUM_DRIVERS=r300,r600 +GALLIUM_DRIVERS=swrast,r300,r600 .endif CONFIGURE_ARGS= --with-dri-drivers=${DRI_DRIVERS} \ @@ -27,6 +27,7 @@ CONFIGURE_ARGS= --with-dri-drivers=${DR --enable-shared-glapi \ --enable-osmesa \ --enable-gbm \ + --enable-texture-float \ --with-egl-platforms="x11,drm" \ --prefix=${X11BASE} \ --with-dri-driverdir=${X11BASE}/lib/modules/dri \