From c2d37a2c8238cb4c6659a04ed9b2fcb048f60754 Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Sat, 13 Mar 2010 19:50:45 +0100 Subject: [PATCH] Mesa: - downgrade to Mesa-7.7 --- packages/graphics/Mesa/build | 14 ++----- packages/graphics/Mesa/install | 8 ++-- .../patches/101_ubuntu_hidden_glname.patch | 12 ++++++ .../Mesa/patches/102_dont-vblank.diff | 14 +++++++ .../Mesa/patches/108_big_endian.patch | 18 +++++++++ ...fix_relocation_delta_for_wm_surfaces.patch | 26 ++++++++++++ .../Mesa/patches/110_fix-libkms-api.diff | 40 +++++++++++++++++++ packages/graphics/Mesa/url | 3 +- 8 files changed, 119 insertions(+), 16 deletions(-) create mode 100644 packages/graphics/Mesa/patches/101_ubuntu_hidden_glname.patch create mode 100644 packages/graphics/Mesa/patches/102_dont-vblank.diff create mode 100644 packages/graphics/Mesa/patches/108_big_endian.patch create mode 100644 packages/graphics/Mesa/patches/109_fix_relocation_delta_for_wm_surfaces.patch create mode 100644 packages/graphics/Mesa/patches/110_fix-libkms-api.diff diff --git a/packages/graphics/Mesa/build b/packages/graphics/Mesa/build index 12822b2d41..c4543087c8 100755 --- a/packages/graphics/Mesa/build +++ b/packages/graphics/Mesa/build @@ -5,7 +5,7 @@ $SCRIPTS/build expat $SCRIPTS/build glproto $SCRIPTS/build dri2proto -$SCRIPTS/build $LIBDRM +$SCRIPTS/build libdrm $SCRIPTS/build libXext $SCRIPTS/build libXdamage $SCRIPTS/build libXfixes @@ -17,6 +17,7 @@ get_graphicdrivers cd $PKG_BUILD HOST_CC=$HOST_CC \ +OPT_FLAGS="$CFLAGS -D_GNU_SOURCE" \ HOST_OPT_FLAGS="$HOST_CFLAGS" \ X11_INCLUDES= \ DRI_DRIVER_INSTALL_DIR="$XORG_PATH_DRI" \ @@ -46,17 +47,8 @@ DRI_DRIVER_SEARCH_DIR="$XORG_PATH_DRI" \ --with-x \ --without-demos \ --disable-gallium \ - --disable-gallium-svga \ - --disable-gallium-intel \ - --disable-gallium-radeon \ - --disable-gallium-nouveau \ -make -C src/glsl CC=$HOST_CC CFLAGS="" -mv src/glsl/apps/compile ./host_compile - -make clean - -make GLSL_CL="\$(TOP)/host_compile" +make make -C progs/xdemos diff --git a/packages/graphics/Mesa/install b/packages/graphics/Mesa/install index 450eb89300..3b02a82bd2 100755 --- a/packages/graphics/Mesa/install +++ b/packages/graphics/Mesa/install @@ -3,7 +3,7 @@ . config/options $SCRIPTS/install libXdamage -$SCRIPTS/install $LIBDRM +$SCRIPTS/install libdrm $SCRIPTS/install expat $SCRIPTS/install libXext $SCRIPTS/install libXfixes @@ -18,8 +18,8 @@ mkdir -p $INSTALL/usr/lib cp -PR $PKG_BUILD/lib/libGLU.so* $INSTALL/usr/lib mkdir -p $INSTALL/usr/lib/dri - cp -PR $PKG_BUILD/lib/*_dri.so $INSTALL/usr/lib/dri || true + cp -PR $PKG_BUILD/lib/*_dri.so $INSTALL/usr/lib/dri +# todo: only in devel build mkdir -p $INSTALL/usr/bin - cp -PR $PKG_BUILD/progs/xdemos/glxgears $INSTALL/usr/bin - cp -PR $PKG_BUILD/progs/xdemos/glxinfo $INSTALL/usr/bin + cp -PR $PKG_BUILD/progs/xdemos/{glxdemo,glxgears,glxinfo} $INSTALL/usr/bin diff --git a/packages/graphics/Mesa/patches/101_ubuntu_hidden_glname.patch b/packages/graphics/Mesa/patches/101_ubuntu_hidden_glname.patch new file mode 100644 index 0000000000..a04106c4b0 --- /dev/null +++ b/packages/graphics/Mesa/patches/101_ubuntu_hidden_glname.patch @@ -0,0 +1,12 @@ +Index: mesa/src/mesa/x86/glapi_x86.S +=================================================================== +--- mesa.orig/src/mesa/x86/glapi_x86.S 2009-06-29 14:43:07.000000000 +0300 ++++ mesa/src/mesa/x86/glapi_x86.S 2009-06-29 14:45:38.000000000 +0300 +@@ -148,7 +148,6 @@ + + ALIGNTEXT16 + GLOBL GLNAME(gl_dispatch_functions_start) +- HIDDEN(GLNAME(gl_dispatch_functions_start)) + GLNAME(gl_dispatch_functions_start): + + GL_STUB(NewList, _gloffset_NewList, NewList@8) diff --git a/packages/graphics/Mesa/patches/102_dont-vblank.diff b/packages/graphics/Mesa/patches/102_dont-vblank.diff new file mode 100644 index 0000000000..3f1c3ae615 --- /dev/null +++ b/packages/graphics/Mesa/patches/102_dont-vblank.diff @@ -0,0 +1,14 @@ +diff --git a/src/mesa/drivers/dri/intel/intel_screen.c b/src/mesa/drivers/dri/intel/intel_screen.c +index 5233e58..5dded4b 100644 +--- a/src/mesa/drivers/dri/intel/intel_screen.c ++++ b/src/mesa/drivers/dri/intel/intel_screen.c +@@ -55,7 +55,7 @@ PUBLIC const char __driConfigOptions[] = + DRI_CONF_BEGIN + DRI_CONF_SECTION_PERFORMANCE + DRI_CONF_FTHROTTLE_MODE(DRI_CONF_FTHROTTLE_IRQS) +- DRI_CONF_VBLANK_MODE(DRI_CONF_VBLANK_ALWAYS_SYNC) ++ DRI_CONF_VBLANK_MODE(DRI_CONF_VBLANK_DEF_INTERVAL_0) + /* Options correspond to DRI_CONF_BO_REUSE_DISABLED, + * DRI_CONF_BO_REUSE_ALL + */ + diff --git a/packages/graphics/Mesa/patches/108_big_endian.patch b/packages/graphics/Mesa/patches/108_big_endian.patch new file mode 100644 index 0000000000..7341119082 --- /dev/null +++ b/packages/graphics/Mesa/patches/108_big_endian.patch @@ -0,0 +1,18 @@ +diff -Nurp mesa-7.6.0~git20090817.7c422387/src/mesa/drivers/dri/r300/r300_draw.c mesa-7.6.0~git20090817.7c422387-working/src/mesa/drivers/dri/r300/r300_draw.c +--- mesa-7.6.0~git20090817.7c422387/src/mesa/drivers/dri/r300/r300_draw.c 2009-08-17 07:30:14.000000000 -0700 ++++ mesa-7.6.0~git20090817.7c422387-working/src/mesa/drivers/dri/r300/r300_draw.c 2009-08-26 13:38:46.000000000 -0700 +@@ -108,12 +108,13 @@ static void r300FixupIndexBuffer(GLconte + + #if MESA_BIG_ENDIAN + } else { /* if (mesa_ind_buf->type == GL_UNSIGNED_SHORT) */ ++ GLuint size; + GLushort *in = (GLushort *)src_ptr; + size = sizeof(GLushort) * ((mesa_ind_buf->count + 1) & ~1); + + radeonAllocDmaRegion(&r300->radeon, &r300->ind_buf.bo, &r300->ind_buf.bo_offet, size, 4); + +- assert(r300->ind_buf.bo->ptr != NULL) ++ assert(r300->ind_buf.bo->ptr != NULL); + out = (GLuint *)ADD_POINTERS(r300->ind_buf.bo->ptr, r300->ind_buf.bo_offset); + + for (i = 0; i + 1 < mesa_ind_buf->count; i += 2) { diff --git a/packages/graphics/Mesa/patches/109_fix_relocation_delta_for_wm_surfaces.patch b/packages/graphics/Mesa/patches/109_fix_relocation_delta_for_wm_surfaces.patch new file mode 100644 index 0000000000..34279dda97 --- /dev/null +++ b/packages/graphics/Mesa/patches/109_fix_relocation_delta_for_wm_surfaces.patch @@ -0,0 +1,26 @@ +From acfea5c705f383692e661d37c5cd7da2f3db559b Mon Sep 17 00:00:00 2001 +From: Eric Anholt +Date: Wed, 09 Sep 2009 19:35:30 +0000 +Subject: i965: Fix relocation delta for WM surfaces. + +This was a regression in 0f328c90dbc893e15005f2ab441d309c1c176245. + +Bug #23688 +Bug #23254 +(cherry picked from commit 5604b27b9326ac542069a49ed9650c4b0d3e939a) +--- +diff --git a/src/mesa/drivers/dri/i965/brw_wm_surface_state.c b/src/mesa/drivers/dri/i965/brw_wm_surface_state.c +index 096f743..3dcc592 100644 +--- a/src/mesa/drivers/dri/i965/brw_wm_surface_state.c ++++ b/src/mesa/drivers/dri/i965/brw_wm_surface_state.c +@@ -629,7 +629,7 @@ brw_update_renderbuffer_surface(struct brw_context *brw, + drm_intel_bo_emit_reloc(brw->wm.surf_bo[unit], + offsetof(struct brw_surface_state, ss1), + region_bo, +- surf.ss1.base_addr, ++ surf.ss1.base_addr - region_bo->offset, + I915_GEM_DOMAIN_RENDER, + I915_GEM_DOMAIN_RENDER); + } +-- +cgit v0.8.2 diff --git a/packages/graphics/Mesa/patches/110_fix-libkms-api.diff b/packages/graphics/Mesa/patches/110_fix-libkms-api.diff new file mode 100644 index 0000000000..cea46b01fe --- /dev/null +++ b/packages/graphics/Mesa/patches/110_fix-libkms-api.diff @@ -0,0 +1,40 @@ +From 8db8adfd01a1ff1e2a160ae3b0199bd3daa4191a Mon Sep 17 00:00:00 2001 +From: Jakob Bornecrantz +Date: Thu, 28 Jan 2010 16:59:26 +0000 +Subject: st/xorg: Update to new libkms interface but be backwards compatible + +--- +diff --git a/src/gallium/state_trackers/xorg/xorg_crtc.c b/src/gallium/state_trackers/xorg/xorg_crtc.c +index 0160b1a..daa9f8b 100644 +--- a/src/gallium/state_trackers/xorg/xorg_crtc.c ++++ b/src/gallium/state_trackers/xorg/xorg_crtc.c +@@ -243,7 +243,11 @@ crtc_load_cursor_argb_kms(xf86CrtcPtr crtc, CARD32 * image) + unsigned attr[8]; + + attr[0] = KMS_BO_TYPE; ++#ifdef KMS_BO_TYPE_CURSOR_64X64_A8R8G8B8 ++ attr[1] = KMS_BO_TYPE_CURSOR_64X64_A8R8G8B8; ++#else + attr[1] = KMS_BO_TYPE_CURSOR; ++#endif + attr[2] = KMS_WIDTH; + attr[3] = 64; + attr[4] = KMS_HEIGHT; +diff --git a/src/gallium/state_trackers/xorg/xorg_driver.c b/src/gallium/state_trackers/xorg/xorg_driver.c +index e4ad789..f53a879 100644 +--- a/src/gallium/state_trackers/xorg/xorg_driver.c ++++ b/src/gallium/state_trackers/xorg/xorg_driver.c +@@ -1008,7 +1008,11 @@ drv_create_front_buffer_kms(ScrnInfoPtr pScrn) + int ret; + + attr[0] = KMS_BO_TYPE; ++#ifdef KMS_BO_TYPE_SCANOUT_X8R8G8B8 ++ attr[1] = KMS_BO_TYPE_SCANOUT_X8R8G8B8; ++#else + attr[1] = KMS_BO_TYPE_SCANOUT; ++#endif + attr[2] = KMS_WIDTH; + attr[3] = pScrn->virtualX; + attr[4] = KMS_HEIGHT; +-- +cgit v0.8.3-6-g21f6 diff --git a/packages/graphics/Mesa/url b/packages/graphics/Mesa/url index 2e883a99b3..162dcaf14a 100644 --- a/packages/graphics/Mesa/url +++ b/packages/graphics/Mesa/url @@ -1 +1,2 @@ -http://sources.openelec.tv/svn/Mesa-7.8-20100309.tar.bz2 +ftp://ftp.freedesktop.org/pub/mesa/7.7/MesaLib-7.7.tar.bz2 +ftp://ftp.freedesktop.org/pub/mesa/7.7/MesaDemos-7.7.tar.bz2 \ No newline at end of file