diff --git a/pkgs/development/libraries/mesa/default.nix b/pkgs/development/libraries/mesa/default.nix index edbde5a9b494..8543b6324ad0 100644 --- a/pkgs/development/libraries/mesa/default.nix +++ b/pkgs/development/libraries/mesa/default.nix @@ -17,7 +17,8 @@ stdenv.mkDerivation { sha256 = "0msk1fh4yw4yi7z37v75vhpa23z49lkwgin6drczbihbqsl6lx2p"; }; - patches = [ ./swrast-settexbuffer.patch ]; + patches = [ ./swrast-settexbuffer.patch ] ++ stdenv.lib.optional + (stdenv.system == "mips64-linux") ./mips_wmb.patch; prePatch = "patchShebangs ."; diff --git a/pkgs/development/libraries/mesa/mips_wmb.patch b/pkgs/development/libraries/mesa/mips_wmb.patch new file mode 100644 index 000000000000..1ffa1bdd8df4 --- /dev/null +++ b/pkgs/development/libraries/mesa/mips_wmb.patch @@ -0,0 +1,16 @@ +rixed told me (viric) it's the patch to apply for mesa. +I adapted his patch for mesa 7.5 to this 7.10 + +diff --git a/src/mesa/drivers/dri/sis/sis_context.h b/src/mesa/drivers/dri/sis/sis_context.h +index a82a659..d8d8d9a 100644 +--- a/src/mesa/drivers/dri/sis/sis_context.h ++++ b/src/mesa/drivers/dri/sis/sis_context.h +@@ -404,6 +404,8 @@ struct sis_context + #define MMIO_WMB() __asm __volatile("" : : : "memory") + #elif defined(__ia64__) + #define MMIO_WMB() __asm __volatile("mf" : : : "memory") ++#elif defined(__mips__) ++#define MMIO_WMB() __asm __volatile("" : : : "memory") + #else + #error platform needs WMB + #endif