Hi fellow Slackers
I recently downloaded Slackware 13.37 (thanks Pat and all the team!), and I tried to compile the newest Mesa (to take advantage of some small performance improvements as advertised). I first compiled the newer 2.6.38 kernel,then libdrm 2.4.25, then I went to compile the newest Mesa from /testing. It gave me many build errors, as found here
https://bugs.freedesktop.org/show_bug.cgi?id=35562. (the error references 7.10.1 but i had the same error compiling 7.10.2). I tried the patch and it did work when removing nouveau from the list of drivers to build, (leaving the nouveau gallium config option though) but not when nouveau is in that list. So this is the full patch (mostly written by Bernhard Rosenkraenzer - thanks!).
Code:
--- Mesa-7.10.1/src/gallium/drivers/nv50/nv50_clear.c.ark 2011-04-11 10:26:00.717291484 +0200
+++ Mesa-7.10.1/src/gallium/drivers/nv50/nv50_clear.c 2011-04-11 10:26:05.600624698 +0200
@@ -24,6 +24,8 @@
#include "pipe/p_defines.h"
#include "pipe/p_state.h"
+#include <nouveau/nv04_pushbuf.h>
+
#include "nv50_context.h"
void
--- Mesa-7.10.1/src/gallium/drivers/nv50/nv50_context.c.ark 2011-04-11 10:25:55.913958268 +0200
+++ Mesa-7.10.1/src/gallium/drivers/nv50/nv50_context.c 2011-04-11 10:26:00.663958154 +0200
@@ -23,6 +23,8 @@
#include "draw/draw_context.h"
#include "pipe/p_defines.h"
+#include <nouveau/nv04_pushbuf.h>
+
#include "nv50_context.h"
#include "nv50_screen.h"
#include "nv50_resource.h"
--- Mesa-7.10.1/src/gallium/drivers/nv50/nv50_push.c.ark 2011-04-11 10:25:50.250625073 +0200
+++ Mesa-7.10.1/src/gallium/drivers/nv50/nv50_push.c 2011-04-11 10:25:55.873958269 +0200
@@ -4,6 +4,8 @@
#include "util/u_format.h"
#include "util/u_split_prim.h"
+#include <nouveau/nv04_pushbuf.h>
+
#include "nv50_context.h"
#include "nv50_resource.h"
--- Mesa-7.10.1/src/gallium/drivers/nv50/nv50_query.c.ark 2011-04-11 10:25:44.790625206 +0200
+++ Mesa-7.10.1/src/gallium/drivers/nv50/nv50_query.c 2011-04-11 10:25:50.183958407 +0200
@@ -23,6 +23,8 @@
#include "pipe/p_context.h"
#include "util/u_inlines.h"
+#include <nouveau/nv04_pushbuf.h>
+
#include "nv50_context.h"
struct nv50_query {
--- Mesa-7.10.1/src/gallium/drivers/nv50/nv50_screen.c.ark 2011-04-11 10:25:32.790625497 +0200
+++ Mesa-7.10.1/src/gallium/drivers/nv50/nv50_screen.c 2011-04-11 10:25:38.633958688 +0200
@@ -23,6 +23,8 @@
#include "util/u_format_s3tc.h"
#include "pipe/p_screen.h"
+#include <nouveau/nv04_pushbuf.h>
+
#include "nv50_context.h"
#include "nv50_screen.h"
#include "nv50_resource.h"
--- Mesa-7.10.1/src/gallium/drivers/nv50/nv50_shader_state.c.ark 2011-04-11 10:25:38.710625354 +0200
+++ Mesa-7.10.1/src/gallium/drivers/nv50/nv50_shader_state.c 2011-04-11 10:25:44.713958540 +0200
@@ -26,6 +26,8 @@
#include "pipe/p_state.h"
#include "util/u_inlines.h"
+#include <nouveau/nv04_pushbuf.h>
+
#include "nv50_context.h"
static void
--- Mesa-7.10.1/src/gallium/drivers/nv50/nv50_state_validate.c.ark 2011-04-11 10:25:27.520625626 +0200
+++ Mesa-7.10.1/src/gallium/drivers/nv50/nv50_state_validate.c 2011-04-11 10:25:32.737292166 +0200
@@ -22,6 +22,7 @@
#include "util/u_format.h"
+#include <nouveau/nv04_pushbuf.h>
#include "nv50_context.h"
#include "nv50_resource.h"
#include "nouveau/nouveau_stateobj.h"
--- Mesa-7.10.1/src/gallium/drivers/nv50/nv50_surface.c.ark 2011-04-11 10:25:22.407292417 +0200
+++ Mesa-7.10.1/src/gallium/drivers/nv50/nv50_surface.c 2011-04-11 10:25:27.450625628 +0200
@@ -22,6 +22,7 @@
#define __NOUVEAU_PUSH_H__
#include <stdint.h>
+#include <nouveau/nv04_pushbuf.h>
#include "nouveau/nouveau_pushbuf.h"
#include "nv50_context.h"
#include "nv50_resource.h"
--- Mesa-7.10.1/src/gallium/drivers/nv50/nv50_transfer.c.ark 2011-04-11 10:25:14.903959267 +0200
+++ Mesa-7.10.1/src/gallium/drivers/nv50/nv50_transfer.c 2011-04-11 10:25:22.353959086 +0200
@@ -4,6 +4,8 @@
#include "util/u_format.h"
#include "util/u_math.h"
+#include <nouveau/nv04_pushbuf.h>
+
#include "nv50_context.h"
#include "nv50_transfer.h"
#include "nv50_resource.h"
--- Mesa-7.10.1/src/gallium/drivers/nv50/nv50_vbo.c.ark 2011-04-11 10:25:01.717292921 +0200
+++ Mesa-7.10.1/src/gallium/drivers/nv50/nv50_vbo.c 2011-04-11 10:25:14.850625935 +0200
@@ -26,6 +26,8 @@
#include "util/u_format.h"
#include "util/u_split_prim.h"
+#include <nouveau/nv04_pushbuf.h>
+
#include "nv50_context.h"
#include "nv50_resource.h"
--- Mesa-7.10.1/src/gallium/drivers/nvfx/nv04_2d.c.ark 2011-04-11 10:23:22.800628664 +0200
+++ Mesa-7.10.1/src/gallium/drivers/nvfx/nv04_2d.c 2011-04-11 10:25:01.640626257 +0200
@@ -39,6 +39,7 @@
#include <nouveau/nouveau_bo.h>
#include <nouveau/nouveau_notifier.h>
#include <nouveau/nouveau_grobj.h>
+#include <nouveau/nv04_pushbuf.h>
#include "nv04_2d.h"
#include "nouveau/nv_object.xml.h"
--- Mesa-7.10.1/src/gallium/drivers/nvfx/nvfx_screen.c.ark 2011-04-11 10:27:59.380621927 +0200
+++ Mesa-7.10.1/src/gallium/drivers/nvfx/nvfx_screen.c 2011-04-11 10:28:02.833955176 +0200
@@ -3,6 +3,7 @@
#include "util/u_format_s3tc.h"
#include "util/u_simple_screen.h"
+#include <nouveau/nv04_pushbuf.h>
#include "nouveau/nouveau_screen.h"
#include "nouveau/nv_object.xml.h"
#include "nvfx_context.h"
--- Mesa-7.10.1/src/mesa/drivers/dri/nouveau/nv04_context.c.ark 2011-04-11 10:27:27.220622711 +0200
+++ Mesa-7.10.1/src/mesa/drivers/dri/nouveau/nv04_context.c 2011-04-11 11:09:24.147228063 +0200
@@ -24,6 +24,8 @@
*
*/
+#include <stdint.h>
+#include <nouveau/nv04_pushbuf.h>
#include "nouveau_driver.h"
#include "nouveau_context.h"
#include "nouveau_fbo.h"
--- Mesa-7.10.2/src/mesa/drivers/dri/nouveau/nouveau_driver-orig.h 2011-01-26 01:52:45.000000000 +0200
+++ Mesa-7.10.2/src/mesa/drivers/dri/nouveau/nouveau_driver.h 2011-05-03 13:04:57.000000000 +0300
@@ -37,6 +37,7 @@
#undef NDEBUG
#include <assert.h>
+#include <nouveau/nv04_pushbuf.h>
#include "nouveau_device.h"
#include "nouveau_pushbuf.h"
#include "nouveau_grobj.h"
I don't own any NVIDIA cards at the moment, so if someone out there does, and wants to compile these toys, and has the same problem, a test would be welcome.