]> code.ossystems Code Review - openembedded-core.git/commitdiff
mesa: Update mesa-dri git recipe and add recipe for 7.5
authorRichard Purdie <rpurdie@linux.intel.com>
Fri, 14 Aug 2009 17:02:13 +0000 (18:02 +0100)
committerRichard Purdie <rpurdie@linux.intel.com>
Fri, 14 Aug 2009 17:02:13 +0000 (18:02 +0100)
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
meta/packages/mesa/mesa-dri/cross2.patch [new file with mode: 0644]
meta/packages/mesa/mesa-dri/crossfix.patch [new file with mode: 0644]
meta/packages/mesa/mesa-dri/i586/matypes.h [new file with mode: 0644]
meta/packages/mesa/mesa-dri_7.5.bb [new file with mode: 0644]
meta/packages/mesa/mesa-dri_git.bb

diff --git a/meta/packages/mesa/mesa-dri/cross2.patch b/meta/packages/mesa/mesa-dri/cross2.patch
new file mode 100644 (file)
index 0000000..3c62a46
--- /dev/null
@@ -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 (file)
index 0000000..84be428
--- /dev/null
@@ -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 (file)
index 0000000..98d2188
--- /dev/null
@@ -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 (file)
index 0000000..8b5fa7b
--- /dev/null
@@ -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
index 65a4a03656830d1a69469b908afcc0350caf8b91..a316d580e4891794b2d45f930b42724a65690f52 100644 (file)
@@ -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() {