Date: Tue, 26 Jun 2012 18:50:09 GMT From: Matthieu Volat <mazhe@alkumuna.eu> To: freebsd-x11@FreeBSD.org Subject: Re: powerpc/165585: x11-servers/xorg-server: Both Xorg and Xorg-server port installs break when dri is being built Message-ID: <201206261850.q5QIo9Dg068130@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
The following reply was made to PR powerpc/165585; it has been noted by GNATS. From: Matthieu Volat <mazhe@alkumuna.eu> To: bug-followup@FreeBSD.org, superbisquit@gmail.com Cc: Subject: Re: powerpc/165585: x11-servers/xorg-server: Both Xorg and Xorg-server port installs break when dri is being built Date: Tue, 26 Jun 2012 20:42:25 +0200 This is a multi-part message in MIME format. --Multipart=_Tue__26_Jun_2012_20_42_25_+0200_.5B5oeITgaHsbssf Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit I've been able to build (and run) both old and new X.org, dri enabled, on a powerpc host (powerbook 12"), but with a workaround in graphics/libdrm and patches in graphics/dri. The workaround in *new* graphics/libdrm is to manualy build and install the intel drm infrastructure (everything is correctly configured... the target are just not called by the top Makefile) : # cd /usr/ports/libdrm # make # make -C work/libdrm-2.4.31/intel # make install # make -C work/libdrm-2.4.31/intel install It even worked with KMS support enabled, but I had not the time to test a patched kernel for now. I've attached the patches for graphics/dri, the two patch-old-* are for the old X.org, the other is for the new one. That's as far as I went, next step would be to create a proper patch for those ports. -- Matthieu Volat <mazhe@alkumuna.eu> --Multipart=_Tue__26_Jun_2012_20_42_25_+0200_.5B5oeITgaHsbssf Content-Type: text/x-chdr; name="patch-old-src_mesa_drivers_dri_mach64_mach64_context.h" Content-Disposition: attachment; filename="patch-old-src_mesa_drivers_dri_mach64_mach64_context.h" Content-Transfer-Encoding: 7bit --- src/mesa/drivers/dri/mach64/mach64_context.h.orig 2012-06-21 21:04:44.000000000 +0200 +++ src/mesa/drivers/dri/mach64/mach64_context.h 2012-06-21 21:10:56.000000000 +0200 @@ -294,7 +294,7 @@ #define LE32_OUT( x, y ) do { *(GLuint *)(x) = (y); } while (0) #define LE32_OUT_FLOAT( x, y ) do { *(GLfloat *)(x) = (y); } while (0) #else -#ifndef __OpenBSD__ +#if !defined __OpenBSD__ && !defined __FreeBSD__ #include <byteswap.h> #else #include <machine/endian.h> --Multipart=_Tue__26_Jun_2012_20_42_25_+0200_.5B5oeITgaHsbssf Content-Type: text/x-chdr; name="patch-old-src_mesa_drivers_dri_sis_sis_context.h" Content-Disposition: attachment; filename="patch-old-src_mesa_drivers_dri_sis_sis_context.h" Content-Transfer-Encoding: 7bit --- src/mesa/drivers/dri/sis/sis_context.h.orig 2012-06-21 21:25:46.000000000 +0200 +++ src/mesa/drivers/dri/sis/sis_context.h 2012-06-21 21:25:07.000000000 +0200 @@ -404,6 +404,8 @@ #define MMIO_WMB() __asm __volatile("" : : : "memory") #elif defined(__ia64__) #define MMIO_WMB() __asm __volatile("mf" : : : "memory") +#elif defined(__powerpc__) +#define MMIO_WMB() __asm __volatile("eieio; sync;") #else #error platform needs WMB #endif --Multipart=_Tue__26_Jun_2012_20_42_25_+0200_.5B5oeITgaHsbssf Content-Type: text/x-csrc; name="patch-new-src_mesa_drivers_dri_r600_radeon_span.c" Content-Disposition: attachment; filename="patch-new-src_mesa_drivers_dri_r600_radeon_span.c" Content-Transfer-Encoding: 7bit --- work/Mesa-7.11.2/src/mesa/drivers/dri/r600/radeon_span.c.orig 2012-06-22 22:18:00.000000000 +0200 +++ work/Mesa-7.11.2/src/mesa/drivers/dri/r600/radeon_span.c 2012-06-22 22:23:02.000000000 +0200 @@ -51,7 +51,11 @@ #define DBG 0 #if defined(BYTE_ORDER) && defined(BIG_ENDIAN) && BYTE_ORDER == BIG_ENDIAN -#if defined(__linux__) +#if defined(__FreeBSD__) +#include <sys/endian.h> +#define CPU_TO_LE16( x ) bswap16( x ) +#define LE16_TO_CPU( x ) bswap16( x ) +#elif defined(__linux__) #include <byteswap.h> #define CPU_TO_LE16( x ) bswap_16( x ) #define LE16_TO_CPU( x ) bswap_16( x ) --Multipart=_Tue__26_Jun_2012_20_42_25_+0200_.5B5oeITgaHsbssf--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201206261850.q5QIo9Dg068130>