summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Purdie <rpurdie@linux.intel.com>2009-08-14 18:02:13 +0100
committerRichard Purdie <rpurdie@linux.intel.com>2009-08-14 18:02:13 +0100
commita0a9a2c6dfea1d6cf0cfb7bed6bd866850198656 (patch)
treee103828eb6419b36534f8f666e307f463e9d1bdd
parentc57e2d63159bc2af7f6e72dd3a83fa02ad91fc04 (diff)
downloadopenembedded-core-a0a9a2c6dfea1d6cf0cfb7bed6bd866850198656.tar.gz
openembedded-core-a0a9a2c6dfea1d6cf0cfb7bed6bd866850198656.tar.bz2
openembedded-core-a0a9a2c6dfea1d6cf0cfb7bed6bd866850198656.zip
mesa: Update mesa-dri git recipe and add recipe for 7.5
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
-rw-r--r--meta/packages/mesa/mesa-dri/cross2.patch44
-rw-r--r--meta/packages/mesa/mesa-dri/crossfix.patch16
-rw-r--r--meta/packages/mesa/mesa-dri/i586/matypes.h162
-rw-r--r--meta/packages/mesa/mesa-dri_7.5.bb48
-rw-r--r--meta/packages/mesa/mesa-dri_git.bb23
5 files changed, 286 insertions, 7 deletions
diff --git a/meta/packages/mesa/mesa-dri/cross2.patch b/meta/packages/mesa/mesa-dri/cross2.patch
new file mode 100644
index 0000000000..3c62a469ed
--- /dev/null
+++ b/meta/packages/mesa/mesa-dri/cross2.patch
@@ -0,0 +1,44 @@
+Index: git/configure.ac
+===================================================================
+--- git.orig/configure.ac 2009-08-14 16:16:23.000000000 +0100
++++ git/configure.ac 2009-08-14 16:17:27.000000000 +0100
+@@ -268,15 +268,6 @@
+ GLAPI_ASM_SOURCES=""
+ AC_MSG_CHECKING([whether to enable assembly])
+ test "x$enable_asm" = xno && AC_MSG_RESULT([no])
+-# disable if cross compiling on x86/x86_64 since we must run gen_matypes
+-if test "x$enable_asm" = xyes && test "x$cross_compiling" = xyes; then
+- case "$host_cpu" in
+- i?86 | x86_64)
+- enable_asm=no
+- AC_MSG_RESULT([no, cross compiling])
+- ;;
+- esac
+-fi
+ # check for supported arches
+ if test "x$enable_asm" = xyes; then
+ case "$host_cpu" in
+Index: git/src/mesa/x86/Makefile
+===================================================================
+--- git.orig/src/mesa/x86/Makefile 2009-08-14 16:18:23.000000000 +0100
++++ git/src/mesa/x86/Makefile 2009-08-14 16:19:10.000000000 +0100
+@@ -14,19 +14,6 @@
+ -I../tnl
+
+
+-default: gen_matypes matypes.h
+-
+-clean:
+- -rm -f matypes.h gen_matypes
+-
+-
+-gen_matypes: gen_matypes.c
+- $(HOST_CC) $(INCLUDE_DIRS) $(HOST_CFLAGS) gen_matypes.c -o gen_matypes
+-
+-# need some special rules here, unfortunately
+-matypes.h: ../main/mtypes.h ../tnl/t_context.h gen_matypes
+- ./gen_matypes > matypes.h
+-
+ common_x86_asm.o: matypes.h
+ 3dnow_normal.o: matypes.h
+ 3dnow_xform1.o: matypes.h
diff --git a/meta/packages/mesa/mesa-dri/crossfix.patch b/meta/packages/mesa/mesa-dri/crossfix.patch
new file mode 100644
index 0000000000..84be428c4f
--- /dev/null
+++ b/meta/packages/mesa/mesa-dri/crossfix.patch
@@ -0,0 +1,16 @@
+Index: Mesa-7.5/bin/mklib
+===================================================================
+--- Mesa-7.5.orig/bin/mklib 2009-08-12 13:01:34.000000000 +0100
++++ Mesa-7.5/bin/mklib 2009-08-12 13:04:19.000000000 +0100
+@@ -234,9 +234,9 @@
+ if [ "x$LINK" = "x" ] ; then
+ # -linker was not specified so set default link command now
+ if [ $CPLUSPLUS = 1 ] ; then
+- LINK=g++
++ LINK=$CXX
+ else
+- LINK=gcc
++ LINK=$CC
+ fi
+ fi
+
diff --git a/meta/packages/mesa/mesa-dri/i586/matypes.h b/meta/packages/mesa/mesa-dri/i586/matypes.h
new file mode 100644
index 0000000000..98d2188e75
--- /dev/null
+++ b/meta/packages/mesa/mesa-dri/i586/matypes.h
@@ -0,0 +1,162 @@
+/*
+ * This file is automatically generated from the Mesa internal type
+ * definitions. Do not edit directly.
+ */
+
+#ifndef __ASM_TYPES_H__
+#define __ASM_TYPES_H__
+
+
+
+/* =============================================================
+ * Offsets for GLcontext
+ */
+
+#define CTX_DRIVER_CTX 996
+
+#define CTX_LIGHT_ENABLED 39404
+#define CTX_LIGHT_SHADE_MODEL 39408
+#define CTX_LIGHT_COLOR_MAT_FACE 39412
+#define CTX_LIGHT_COLOR_MAT_MODE 39416
+#define CTX_LIGHT_COLOR_MAT_MASK 39420
+#define CTX_LIGHT_COLOR_MAT_ENABLED 39424
+#define CTX_LIGHT_ENABLED_LIST 39432
+#define CTX_LIGHT_NEED_VERTS 43793
+#define CTX_LIGHT_FLAGS 43796
+#define CTX_LIGHT_BASE_COLOR 43800
+
+
+/* =============================================================
+ * Offsets for struct vertex_buffer
+ */
+
+#define VB_SIZE 0
+#define VB_COUNT 4
+
+#define VB_ELTS 8
+#define VB_OBJ_PTR 12
+#define VB_EYE_PTR 16
+#define VB_CLIP_PTR 20
+#define VB_PROJ_CLIP_PTR 24
+#define VB_CLIP_OR_MASK 28
+#define VB_CLIP_MASK 32
+#define VB_NORMAL_PTR 36
+#define VB_EDGE_FLAG 44
+#define VB_TEX0_COORD_PTR 48
+#define VB_TEX1_COORD_PTR 52
+#define VB_TEX2_COORD_PTR 56
+#define VB_TEX3_COORD_PTR 60
+#define VB_INDEX_PTR 80
+#define VB_COLOR_PTR 88
+#define VB_SECONDARY_COLOR_PTR 96
+#define VB_FOG_COORD_PTR 104
+#define VB_PRIMITIVE 108
+
+
+/*
+ * Flags for struct vertex_buffer
+ */
+
+#define VERT_BIT_OBJ 0x1
+#define VERT_BIT_NORM 0x4
+#define VERT_BIT_RGBA 0x8
+#define VERT_BIT_SPEC_RGB 0x10
+#define VERT_BIT_FOG_COORD 0x20
+#define VERT_BIT_TEX0 0x100
+#define VERT_BIT_TEX1 0x200
+#define VERT_BIT_TEX2 0x400
+#define VERT_BIT_TEX3 0x800
+
+
+/* =============================================================
+ * Offsets for GLvector4f
+ */
+
+#define V4F_DATA 0
+#define V4F_START 4
+#define V4F_COUNT 8
+#define V4F_STRIDE 12
+#define V4F_SIZE 16
+#define V4F_FLAGS 20
+
+/*
+ * Flags for GLvector4f
+ */
+
+#define VEC_MALLOC 0x10
+#define VEC_NOT_WRITEABLE 0x40
+#define VEC_BAD_STRIDE 0x100
+
+#define VEC_SIZE_1 0x1
+#define VEC_SIZE_2 0x3
+#define VEC_SIZE_3 0x7
+#define VEC_SIZE_4 0xf
+
+
+/* =============================================================
+ * Offsets for GLmatrix
+ */
+
+#define MATRIX_DATA 0
+#define MATRIX_INV 4
+#define MATRIX_FLAGS 8
+#define MATRIX_TYPE 12
+
+
+/* =============================================================
+ * Offsets for struct gl_light
+ */
+
+#define LIGHT_NEXT 0
+#define LIGHT_PREV 4
+
+#define LIGHT_AMBIENT 8
+#define LIGHT_DIFFUSE 24
+#define LIGHT_SPECULAR 40
+#define LIGHT_EYE_POSITION 56
+#define LIGHT_SPOT_DIRECTION 72
+#define LIGHT_SPOT_EXPONENT 88
+#define LIGHT_SPOT_CUTOFF 92
+#define LIGHT_COS_CUTOFF 100
+#define LIGHT_CONST_ATTEN 104
+#define LIGHT_LINEAR_ATTEN 108
+#define LIGHT_QUADRATIC_ATTEN 112
+#define LIGHT_ENABLED 116
+
+#define LIGHT_FLAGS 120
+
+#define LIGHT_POSITION 124
+#define LIGHT_VP_INF_NORM 140
+#define LIGHT_H_INF_NORM 152
+#define LIGHT_NORM_DIRECTION 164
+#define LIGHT_VP_INF_SPOT_ATTEN 180
+
+#define LIGHT_SPOT_EXP_TABLE 184
+#define LIGHT_MAT_AMBIENT 4280
+#define LIGHT_MAT_DIFFUSE 4304
+#define LIGHT_MAT_SPECULAR 4328
+
+#define SIZEOF_GL_LIGHT 4360
+
+/*
+ * Flags for struct gl_light
+ */
+
+#define LIGHT_SPOT 0x1
+#define LIGHT_LOCAL_VIEWER 0x2
+#define LIGHT_POSITIONAL 0x4
+
+#define LIGHT_NEED_VERTICES 0x6
+
+
+/* =============================================================
+ * Offsets for struct gl_lightmodel
+ */
+
+#define LIGHT_MODEL_AMBIENT 0
+#define LIGHT_MODEL_LOCAL_VIEWER 16
+#define LIGHT_MODEL_TWO_SIDE 17
+#define LIGHT_MODEL_COLOR_CONTROL 20
+
+
+#endif /* __ASM_TYPES_H__ */
diff --git a/meta/packages/mesa/mesa-dri_7.5.bb b/meta/packages/mesa/mesa-dri_7.5.bb
new file mode 100644
index 0000000000..8b5fa7bc92
--- /dev/null
+++ b/meta/packages/mesa/mesa-dri_7.5.bb
@@ -0,0 +1,48 @@
+include mesa-common.inc
+
+SRC_URI += "file://crossfix.patch;patch=1 \
+ file://mesa-DRI2Swapbuffer.patch;patch=1 "
+
+PROTO_DEPS = "xf86driproto glproto dri2proto"
+LIB_DEPS = "libdrm virtual/libx11 libxext libxxf86vm libxdamage libxfixes expat"
+
+DEPENDS = "${PROTO_DEPS} ${LIB_DEPS}"
+
+PR = "r10"
+
+# most of our targets do not have DRI so will use mesa-xlib
+DEFAULT_PREFERENCE = "-1"
+
+# Netbooks have DRI support so use mesa-dri by default
+DEFAULT_PREFERENCE_netbook = "1"
+
+PACKAGES =+ "${PN}-xprogs"
+PACKAGES_DYNAMIC = "mesa-dri-driver-*"
+
+FILES_${PN}-dbg += "${libdir}/dri/.debug/*"
+FILES_${PN}-xprogs = "${bindir}/glxdemo ${bindir}/glxgears ${bindir}/glxheads ${bindir}/glxinfo"
+
+LEAD_SONAME = "libGL.so.1"
+
+EXTRA_OECONF += "--with-driver=dri --disable-egl --disable-gallium"
+
+do_install_append () {
+ install -d ${D}/usr/bin
+ install -m 0755 ${S}/progs/xdemos/{glxdemo,glxgears,glxheads,glxinfo} ${D}/usr/bin/
+}
+
+python populate_packages_prepend() {
+ import os.path
+
+ dri_drivers_root = os.path.join(bb.data.getVar('libdir', d, 1), "dri")
+
+ do_split_packages(d, dri_drivers_root, '^(.*)_dri\.so$', 'mesa-dri-driver-%s', 'Mesa %s DRI driver', extra_depends='')
+}
+
+COMPATIBLE_HOST = '(i.86.*-linux)'
+
+
+#
+# Header generated by i586-poky-linux-gcc gen_matypes.c -o gen_matypes -I ../../../include/GL -I ../../../include -I .. -I ../main/ -I ../math -I ../glapi/ -I ../tnl
+# then run gen_matypes > matypes.h on device
+# \ No newline at end of file
diff --git a/meta/packages/mesa/mesa-dri_git.bb b/meta/packages/mesa/mesa-dri_git.bb
index 65a4a03656..a316d580e4 100644
--- a/meta/packages/mesa/mesa-dri_git.bb
+++ b/meta/packages/mesa/mesa-dri_git.bb
@@ -1,12 +1,18 @@
include mesa-common.inc
+SRC_URI = "git://anongit.freedesktop.org/git/mesa/mesa;protocol=git;branch=mesa_7_5_branch \
+ file://cross2.patch;patch=1 \
+ file://matypes.h"
+# file://mesa-DRI2Swapbuffer.patch;patch=1 "
+S = "${WORKDIR}/git"
+
PROTO_DEPS = "xf86driproto glproto dri2proto"
LIB_DEPS = "libdrm virtual/libx11 libxext libxxf86vm libxdamage libxfixes expat"
DEPENDS = "${PROTO_DEPS} ${LIB_DEPS}"
-PV = "7.4+git${SRCPV}"
-PR = "r4"
+PV = "7.5+git${SRCPV}"
+PR = "r14"
# most of our targets do not have DRI so will use mesa-xlib
DEFAULT_PREFERENCE = "-1"
@@ -14,21 +20,24 @@ DEFAULT_PREFERENCE = "-1"
# Netbooks have DRI support so use mesa-dri by default
DEFAULT_PREFERENCE_netbook = "1"
-SRC_URI = "git://anongit.freedesktop.org/git/mesa/mesa;protocol=git;branch=master"
-S = "${WORKDIR}/git"
-
PACKAGES =+ "${PN}-xprogs"
PACKAGES_DYNAMIC = "mesa-dri-driver-*"
FILES_${PN}-dbg += "${libdir}/dri/.debug/*"
FILES_${PN}-xprogs = "${bindir}/glxdemo ${bindir}/glxgears ${bindir}/glxheads ${bindir}/glxinfo"
-EXTRA_OECONF += "--with-driver=dri --with-state-trackers=glx"
+LEAD_SONAME = "libGL.so.1"
+
+EXTRA_OECONF += "--with-driver=dri --disable-egl --disable-gallium"
+
+do_configure_prepend () {
+ cp ${WORKDIR}/matypes.h ${S}/src/mesa/x86
+ touch ${S}/src/mesa/x86/matypes.h
+}
do_install_append () {
install -d ${D}/usr/bin
install -m 0755 ${S}/progs/xdemos/{glxdemo,glxgears,glxheads,glxinfo} ${D}/usr/bin/
- rm ${D}/usr/lib/libEGL* || /bin/true
}
python populate_packages_prepend() {