Skip site navigation (1)Skip section navigation (2)
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>