Sun Jun 7 15:48:12 2015 UTC ()
Update to MesaLib-10.5.7.

MesaLib-10.5.7 2015-06-07
"The current release includes over a dozen nouveau fixes (mostly targeting
nv30/nv40 era hardware), i965 patches and a crash fix common to all the
gallium dri modules."

MesaLib-10.5.6 2015-05-24
"This time around we have fixes from all over mesa - core mesa, driver
specific patches (i965, nouveau, freedreno), reentrancy improvements
in Clover (OpenCL), GLX and EGL loader patches, and Darwin build fixes."


(tnn)
diff -r1.103 -r1.104 pkgsrc/graphics/MesaLib/Makefile
diff -r1.95 -r1.96 pkgsrc/graphics/MesaLib/distinfo
diff -r1.1 -r1.2 pkgsrc/graphics/MesaLib/patches/patch-src_mesa_drivers_dri_i915_intel__screen.c
diff -r1.1 -r1.2 pkgsrc/graphics/MesaLib/patches/patch-src_mesa_drivers_dri_i965_intel__screen.c
diff -r1.1 -r1.2 pkgsrc/graphics/MesaLib/patches/patch-src_mesa_drivers_dri_swrast_swrast.c

cvs diff -r1.103 -r1.104 pkgsrc/graphics/MesaLib/Makefile (expand / switch to unified diff)

--- pkgsrc/graphics/MesaLib/Makefile 2015/05/15 14:27:42 1.103
+++ pkgsrc/graphics/MesaLib/Makefile 2015/06/07 15:48:12 1.104
@@ -1,19 +1,19 @@ @@ -1,19 +1,19 @@
1# $NetBSD: Makefile,v 1.103 2015/05/15 14:27:42 nros Exp $ 1# $NetBSD: Makefile,v 1.104 2015/06/07 15:48:12 tnn Exp $
2 2
3DISTNAME= mesa-10.5.5 3DISTNAME= mesa-10.5.7
4PKGNAME= ${DISTNAME:S/mesa/MesaLib/} 4PKGNAME= ${DISTNAME:S/mesa/MesaLib/}
5CATEGORIES= graphics x11 5CATEGORIES= graphics x11
6MASTER_SITES= ftp://ftp.freedesktop.org/pub/mesa/10.5.5/ 6MASTER_SITES= ftp://ftp.freedesktop.org/pub/mesa/${PKGVERSION_NOREV}/
7EXTRACT_SUFX= .tar.xz 7EXTRACT_SUFX= .tar.xz
8 8
9MAINTAINER= pkgsrc-users@NetBSD.org 9MAINTAINER= pkgsrc-users@NetBSD.org
10HOMEPAGE= http://www.mesa3d.org/ 10HOMEPAGE= http://www.mesa3d.org/
11COMMENT= The Mesa 3D Graphics Library 11COMMENT= The Mesa 3D Graphics Library
12LICENSE= mit 12LICENSE= mit
13 13
14GNU_CONFIGURE= yes 14GNU_CONFIGURE= yes
15USE_TOOLS+= pkg-config gmake 15USE_TOOLS+= pkg-config gmake
16USE_LANGUAGES= c99 c++ 16USE_LANGUAGES= c99 c++
17USE_LIBTOOL= yes 17USE_LIBTOOL= yes
18 18
19GCC_REQD+= 4.2 19GCC_REQD+= 4.2

cvs diff -r1.95 -r1.96 pkgsrc/graphics/MesaLib/distinfo (expand / switch to unified diff)

--- pkgsrc/graphics/MesaLib/distinfo 2015/05/16 16:39:52 1.95
+++ pkgsrc/graphics/MesaLib/distinfo 2015/06/07 15:48:12 1.96
@@ -1,36 +1,36 @@ @@ -1,36 +1,36 @@
1$NetBSD: distinfo,v 1.95 2015/05/16 16:39:52 tnn Exp $ 1$NetBSD: distinfo,v 1.96 2015/06/07 15:48:12 tnn Exp $
2 2
3SHA1 (mesa-10.5.5.tar.xz) = 367f78c244a34eeb5e8fc4531228166ea1118165 3SHA1 (mesa-10.5.7.tar.xz) = b600f09ccaeab9f6bb5b98091cf01732bab854a2
4RMD160 (mesa-10.5.5.tar.xz) = 3d73894defb5badf8bde0d026c7802f55aa24484 4RMD160 (mesa-10.5.7.tar.xz) = 0e15cf97678ecdc95996b598169130dcfd239533
5Size (mesa-10.5.5.tar.xz) = 6989964 bytes 5Size (mesa-10.5.7.tar.xz) = 6992848 bytes
6SHA1 (patch-configure) = 3fc150370e36fc49382b491d907608f00cf99a72 6SHA1 (patch-configure) = 3fc150370e36fc49382b491d907608f00cf99a72
7SHA1 (patch-include_EGL_eglplatform.h) = c34bac7386fd93ee8d0b83a748ae14dc4742d776 7SHA1 (patch-include_EGL_eglplatform.h) = c34bac7386fd93ee8d0b83a748ae14dc4742d776
8SHA1 (patch-include_GL_glxext.h) = 830902f2d38a8395cda682c059fc5223e1b0e89e 8SHA1 (patch-include_GL_glxext.h) = 830902f2d38a8395cda682c059fc5223e1b0e89e
9SHA1 (patch-src_gallium_auxiliary_util_u__format__tests.c) = 4d5e4677c2825778c43440ab131b8807f6840975 9SHA1 (patch-src_gallium_auxiliary_util_u__format__tests.c) = 4d5e4677c2825778c43440ab131b8807f6840975
10SHA1 (patch-src_gallium_auxiliary_util_u__math.h) = b126390d4a8ee495edfb4c3b1dfdab981445969e 10SHA1 (patch-src_gallium_auxiliary_util_u__math.h) = b126390d4a8ee495edfb4c3b1dfdab981445969e
11SHA1 (patch-src_gallium_auxiliary_util_u__network.c) = 283f505af780071dc9fd7914f8065e3fb7d8a4fd 11SHA1 (patch-src_gallium_auxiliary_util_u__network.c) = 283f505af780071dc9fd7914f8065e3fb7d8a4fd
12SHA1 (patch-src_gallium_auxiliary_util_u__network.h) = c6106d67b4fa9db0d790474182d6e0ce0c5da677 12SHA1 (patch-src_gallium_auxiliary_util_u__network.h) = c6106d67b4fa9db0d790474182d6e0ce0c5da677
13SHA1 (patch-src_gallium_drivers_nouveau_codegen_nv50__ir__peephole.cpp) = 5fc2ef7eafac3006896af96bac8176c79b17cfdc 13SHA1 (patch-src_gallium_drivers_nouveau_codegen_nv50__ir__peephole.cpp) = 5fc2ef7eafac3006896af96bac8176c79b17cfdc
14SHA1 (patch-src_gallium_drivers_nouveau_nouveau__vp3__video.c) = ae1b6eb4df3e4db0f37e44118cdf69b16f3c471e 14SHA1 (patch-src_gallium_drivers_nouveau_nouveau__vp3__video.c) = ae1b6eb4df3e4db0f37e44118cdf69b16f3c471e
15SHA1 (patch-src_gallium_drivers_nouveau_nv50_nv84__video.c) = 1b4239fe053523835ecac006894bdb0cde0ee626 15SHA1 (patch-src_gallium_drivers_nouveau_nv50_nv84__video.c) = 1b4239fe053523835ecac006894bdb0cde0ee626
16SHA1 (patch-src_gallium_include_pipe_p__config.h) = 1698482bb7b468c6fa5f9bb553f9065cecc33f0d 16SHA1 (patch-src_gallium_include_pipe_p__config.h) = 1698482bb7b468c6fa5f9bb553f9065cecc33f0d
17SHA1 (patch-src_gallium_targets_dri_Makefile.in) = a9a8265d97297040a3e3260b362ca920ec852280 17SHA1 (patch-src_gallium_targets_dri_Makefile.in) = a9a8265d97297040a3e3260b362ca920ec852280
18SHA1 (patch-src_gallium_winsys_radeon_drm_radeon__drm__winsys.c) = 2358b7d5ea89e28cb3ac07a408b18e8bf55e057a 18SHA1 (patch-src_gallium_winsys_radeon_drm_radeon__drm__winsys.c) = 2358b7d5ea89e28cb3ac07a408b18e8bf55e057a
19SHA1 (patch-src_gallium_winsys_svga_drm_vmw__screen.c) = 4b2ae565377b1a0396c8bf6b2663c261592b8e5e 19SHA1 (patch-src_gallium_winsys_svga_drm_vmw__screen.c) = 4b2ae565377b1a0396c8bf6b2663c261592b8e5e
20SHA1 (patch-src_gallium_winsys_svga_drm_vmw__screen__ioctl.c) = e4b891e8b4ebe5b8e8c7b8c2c1dbed11b9c417df 20SHA1 (patch-src_gallium_winsys_svga_drm_vmw__screen__ioctl.c) = e4b891e8b4ebe5b8e8c7b8c2c1dbed11b9c417df
21SHA1 (patch-src_gbm_main_gbm.c) = 70225ab7352f123c9efc68b6d4ff0d9675b6f9dc 21SHA1 (patch-src_gbm_main_gbm.c) = 70225ab7352f123c9efc68b6d4ff0d9675b6f9dc
22SHA1 (patch-src_glsl_ralloc.c) = 7443d00ff05ee1e1dcfa2b76972b55abadebcad8 22SHA1 (patch-src_glsl_ralloc.c) = 7443d00ff05ee1e1dcfa2b76972b55abadebcad8
23SHA1 (patch-src_mapi_entry__x86-64__tls.h) = c722ce4a22911d9a3d04e1a4fd6ab1a5ddd81cf0 23SHA1 (patch-src_mapi_entry__x86-64__tls.h) = c722ce4a22911d9a3d04e1a4fd6ab1a5ddd81cf0
24SHA1 (patch-src_mapi_entry__x86__tls.h) = 51d6ef1aa3db69b23eea6fe145a54c0e7e265190 24SHA1 (patch-src_mapi_entry__x86__tls.h) = 51d6ef1aa3db69b23eea6fe145a54c0e7e265190
25SHA1 (patch-src_mapi_entry__x86__tsd.h) = 62501b6e609fa81e33fd826a694e9d9752a7ba21 25SHA1 (patch-src_mapi_entry__x86__tsd.h) = 62501b6e609fa81e33fd826a694e9d9752a7ba21
26SHA1 (patch-src_mesa_drivers_dri_Makefile.in) = b016b3f9324b05e4206e1c23150bd1cde9b9e100 26SHA1 (patch-src_mesa_drivers_dri_Makefile.in) = b016b3f9324b05e4206e1c23150bd1cde9b9e100
27SHA1 (patch-src_mesa_drivers_dri_common_Makefile.in) = 5e160f7d92c2e9f3fa36e52a082a496af67e634e 27SHA1 (patch-src_mesa_drivers_dri_common_Makefile.in) = 5e160f7d92c2e9f3fa36e52a082a496af67e634e
28SHA1 (patch-src_mesa_drivers_dri_common_xmlconfig.c) = 8c8e748397bcdc9b9abbd14604af5d79de08dfbf 28SHA1 (patch-src_mesa_drivers_dri_common_xmlconfig.c) = 8c8e748397bcdc9b9abbd14604af5d79de08dfbf
29SHA1 (patch-src_mesa_drivers_dri_i915_intel__screen.c) = 616cec356fb098e9fd349489a577aeacf6f412e4 29SHA1 (patch-src_mesa_drivers_dri_i915_intel__screen.c) = fd8436e4e3a69250256c2cddf8138effb16bd7b3
30SHA1 (patch-src_mesa_drivers_dri_i965_intel__screen.c) = 632d9a95e514d0b63fb54f31827c0aacc28ace94 30SHA1 (patch-src_mesa_drivers_dri_i965_intel__screen.c) = 7c1a1e5c549f64d4c390e0c87984c44a88d4abfe
31SHA1 (patch-src_mesa_drivers_dri_swrast_swrast.c) = abca30898144b7014cdddcc7c7e808087704b596 31SHA1 (patch-src_mesa_drivers_dri_swrast_swrast.c) = b8a6cca517e1cccbdb2c59cf67a6d2481cdfebd4
32SHA1 (patch-src_mesa_main_compiler.h) = fc0e2b6be8afa9e21ddca1d1a14608a1687bddd8 32SHA1 (patch-src_mesa_main_compiler.h) = fc0e2b6be8afa9e21ddca1d1a14608a1687bddd8
33SHA1 (patch-src_mesa_main_context.c) = 30c3796865372aa16297c2aaa647ddb49958fa64 33SHA1 (patch-src_mesa_main_context.c) = 30c3796865372aa16297c2aaa647ddb49958fa64
34SHA1 (patch-src_mesa_main_shader__query.cpp) = 6273c74161f045363c58f38adeb672287f6a0898 34SHA1 (patch-src_mesa_main_shader__query.cpp) = 6273c74161f045363c58f38adeb672287f6a0898
35SHA1 (patch-src_mesa_x86_common__x86.c) = f8b36603f7495b7712943c4a86459bcdd733d6a2 35SHA1 (patch-src_mesa_x86_common__x86.c) = f8b36603f7495b7712943c4a86459bcdd733d6a2
36SHA1 (patch-src_util_u__atomic.h) = 4a567b6fe5bf67fb7f386fa5f37bedb66d593085 36SHA1 (patch-src_util_u__atomic.h) = 4a567b6fe5bf67fb7f386fa5f37bedb66d593085

cvs diff -r1.1 -r1.2 pkgsrc/graphics/MesaLib/patches/Attic/patch-src_mesa_drivers_dri_i915_intel__screen.c (expand / switch to unified diff)

--- pkgsrc/graphics/MesaLib/patches/Attic/patch-src_mesa_drivers_dri_i915_intel__screen.c 2015/04/25 11:19:18 1.1
+++ pkgsrc/graphics/MesaLib/patches/Attic/patch-src_mesa_drivers_dri_i915_intel__screen.c 2015/06/07 15:48:12 1.2
@@ -1,37 +1,39 @@ @@ -1,37 +1,39 @@
1$NetBSD: patch-src_mesa_drivers_dri_i915_intel__screen.c,v 1.1 2015/04/25 11:19:18 tnn Exp $ 1$NetBSD: patch-src_mesa_drivers_dri_i915_intel__screen.c,v 1.2 2015/06/07 15:48:12 tnn Exp $
2 2
3Fix build on older NetBSD w/o _SC_PHYS_PAGES. 3Fix build on older NetBSD w/o _SC_PHYS_PAGES.
4 4
5--- src/mesa/drivers/dri/i915/intel_screen.c.orig 2015-03-28 18:20:39.000000000 +0000 5--- src/mesa/drivers/dri/i915/intel_screen.c.orig 2015-06-07 10:06:53.000000000 +0000
6+++ src/mesa/drivers/dri/i915/intel_screen.c 6+++ src/mesa/drivers/dri/i915/intel_screen.c
7@@ -41,6 +41,11 @@ 7@@ -41,6 +41,10 @@
8 #include "utils.h" 8 #include "utils.h"
9 #include "xmlpool.h" 9 #include "xmlpool.h"
10  10
11+#if defined(__NetBSD__) 11+#ifdef HAVE_SYS_SYSCTL_H
12+#include <sys/param.h> 12+# include <sys/sysctl.h>
13+#include <sys/sysctl.h> 
14+#endif 13+#endif
15+ 14+
16 static const __DRIconfigOptionsExtension i915_config_options = { 15 static const __DRIconfigOptionsExtension i915_config_options = {
17 .base = { __DRI_CONFIG_OPTIONS, 1 }, 16 .base = { __DRI_CONFIG_OPTIONS, 1 },
18 .xml = 17 .xml =
19@@ -732,7 +737,18 @@ i915_query_renderer_integer(__DRIscreen  18@@ -732,6 +736,13 @@ i915_query_renderer_integer(__DRIscreen
20 const unsigned gpu_mappable_megabytes = 19 const unsigned gpu_mappable_megabytes =
21 (aper_size / (1024 * 1024)) * 3 / 4; 20 (aper_size / (1024 * 1024)) * 3 / 4;
22  21
23+#if !defined(_SC_PHYS_PAGES) && defined(__NetBSD__) 22+#if defined(HW_PHYSMEM64)
24+ uint64_t physmem64; 23+ int mib[2] = { CTL_HW, HW_PHYSMEM64 };
25+ uint32_t pagesize; 24+ uint64_t system_memory_bytes;
26+ size_t len; 25+ size_t len = sizeof(system_memory_bytes);
27+ int ret1 = sysctlbyname("hw.physmem64", &physmem64, &len, (void*)NULL, 0); 26+ if (sysctl(mib, 2, &system_memory_bytes, &len, NULL, 0) != 0)
28+ int ret2 = sysctlbyname("hw.pagesize", &pagesize, &len, (void*)NULL, 0); 27+ return -1;
29+ const long system_memory_pages = \ 
30+ (ret1 == 0 && ret2 == 0 && physmem64 > 0 && pagesize > 0) ? 
31+ (physmem64 / pagesize) : -1; 
32+#else 28+#else
33 const long system_memory_pages = sysconf(_SC_PHYS_PAGES); 29 const long system_memory_pages = sysconf(_SC_PHYS_PAGES);
34+#endif 
35 const long system_page_size = sysconf(_SC_PAGE_SIZE); 30 const long system_page_size = sysconf(_SC_PAGE_SIZE);
36  31
37 if (system_memory_pages <= 0 || system_page_size <= 0) 32@@ -740,6 +751,7 @@ i915_query_renderer_integer(__DRIscreen
 33
 34 const uint64_t system_memory_bytes = (uint64_t) system_memory_pages
 35 * (uint64_t) system_page_size;
 36+#endif
 37
 38 const unsigned system_memory_megabytes =
 39 (unsigned) (system_memory_bytes / (1024 * 1024));

cvs diff -r1.1 -r1.2 pkgsrc/graphics/MesaLib/patches/Attic/patch-src_mesa_drivers_dri_i965_intel__screen.c (expand / switch to unified diff)

--- pkgsrc/graphics/MesaLib/patches/Attic/patch-src_mesa_drivers_dri_i965_intel__screen.c 2015/04/25 11:19:18 1.1
+++ pkgsrc/graphics/MesaLib/patches/Attic/patch-src_mesa_drivers_dri_i965_intel__screen.c 2015/06/07 15:48:12 1.2
@@ -1,37 +1,39 @@ @@ -1,37 +1,39 @@
1$NetBSD: patch-src_mesa_drivers_dri_i965_intel__screen.c,v 1.1 2015/04/25 11:19:18 tnn Exp $ 1$NetBSD: patch-src_mesa_drivers_dri_i965_intel__screen.c,v 1.2 2015/06/07 15:48:12 tnn Exp $
2 2
3Fix build on older NetBSD w/o _SC_PHYS_PAGES. 3Fix build on older NetBSD w/o _SC_PHYS_PAGES.
4 4
5--- src/mesa/drivers/dri/i965/intel_screen.c.orig 2015-03-28 18:20:39.000000000 +0000 5--- src/mesa/drivers/dri/i965/intel_screen.c.orig 2015-06-07 10:06:53.000000000 +0000
6+++ src/mesa/drivers/dri/i965/intel_screen.c 6+++ src/mesa/drivers/dri/i965/intel_screen.c
7@@ -42,6 +42,11 @@ 7@@ -42,6 +42,10 @@
8 #include "utils.h" 8 #include "utils.h"
9 #include "xmlpool.h" 9 #include "xmlpool.h"
10  10
11+#if defined(__NetBSD__) 11+#ifdef HAVE_SYS_SYSCTL_H
12+#include <sys/param.h> 12+# include <sys/sysctl.h>
13+#include <sys/sysctl.h> 
14+#endif 13+#endif
15+ 14+
16 static const __DRIconfigOptionsExtension brw_config_options = { 15 static const __DRIconfigOptionsExtension brw_config_options = {
17 .base = { __DRI_CONFIG_OPTIONS, 1 }, 16 .base = { __DRI_CONFIG_OPTIONS, 1 },
18 .xml = 17 .xml =
19@@ -829,7 +834,18 @@ brw_query_renderer_integer(__DRIscreen * 18@@ -829,6 +833,13 @@ brw_query_renderer_integer(__DRIscreen *
20 const unsigned gpu_mappable_megabytes = 19 const unsigned gpu_mappable_megabytes =
21 (aper_size / (1024 * 1024)) * 3 / 4; 20 (aper_size / (1024 * 1024)) * 3 / 4;
22  21
23+#if !defined(_SC_PHYS_PAGES) && defined(__NetBSD__) 22+#if defined(HW_PHYSMEM64)
24+ uint64_t physmem64; 23+ int mib[2] = { CTL_HW, HW_PHYSMEM64 };
25+ uint32_t pagesize; 24+ const uint64_t system_memory_bytes;
26+ size_t len; 25+ size_t len = sizeof(system_memory_bytes);
27+ int ret1 = sysctlbyname("hw.physmem64", &physmem64, &len, (void*)NULL, 0); 26+ if (sysctl(mib, 2, &system_memory_bytes, &len, NULL, 0) != 0)
28+ int ret2 = sysctlbyname("hw.pagesize", &pagesize, &len, (void*)NULL, 0); 27+ return -1;
29+ const long system_memory_pages = \ 
30+ (ret1 == 0 && ret2 == 0 && physmem64 > 0 && pagesize > 0) ? 
31+ (physmem64 / pagesize) : -1; 
32+#else 28+#else
33 const long system_memory_pages = sysconf(_SC_PHYS_PAGES); 29 const long system_memory_pages = sysconf(_SC_PHYS_PAGES);
34+#endif 
35 const long system_page_size = sysconf(_SC_PAGE_SIZE); 30 const long system_page_size = sysconf(_SC_PAGE_SIZE);
36  31
37 if (system_memory_pages <= 0 || system_page_size <= 0) 32@@ -837,6 +848,7 @@ brw_query_renderer_integer(__DRIscreen *
 33
 34 const uint64_t system_memory_bytes = (uint64_t) system_memory_pages
 35 * (uint64_t) system_page_size;
 36+#endif
 37
 38 const unsigned system_memory_megabytes =
 39 (unsigned) (system_memory_bytes / (1024 * 1024));

cvs diff -r1.1 -r1.2 pkgsrc/graphics/MesaLib/patches/Attic/patch-src_mesa_drivers_dri_swrast_swrast.c (expand / switch to unified diff)

--- pkgsrc/graphics/MesaLib/patches/Attic/patch-src_mesa_drivers_dri_swrast_swrast.c 2015/04/25 11:19:18 1.1
+++ pkgsrc/graphics/MesaLib/patches/Attic/patch-src_mesa_drivers_dri_swrast_swrast.c 2015/06/07 15:48:12 1.2
@@ -1,37 +1,19 @@ @@ -1,37 +1,19 @@
1$NetBSD: patch-src_mesa_drivers_dri_swrast_swrast.c,v 1.1 2015/04/25 11:19:18 tnn Exp $ 1$NetBSD: patch-src_mesa_drivers_dri_swrast_swrast.c,v 1.2 2015/06/07 15:48:12 tnn Exp $
2 2
3Fix build on older NetBSD w/o _SC_PHYS_PAGES. 3Fix build on older NetBSD w/o _SC_PHYS_PAGES.
4 4
5--- src/mesa/drivers/dri/swrast/swrast.c.orig 2015-03-28 18:20:39.000000000 +0000 5--- src/mesa/drivers/dri/swrast/swrast.c.orig 2015-06-07 10:06:53.000000000 +0000
6+++ src/mesa/drivers/dri/swrast/swrast.c 6+++ src/mesa/drivers/dri/swrast/swrast.c
7@@ -60,6 +60,11 @@ 7@@ -150,6 +150,12 @@ swrast_query_renderer_integer(__DRIscree
8 #include "swrast_priv.h" 8 size_t len = sizeof(system_memory_bytes);
9 #include "swrast/s_context.h" 9 if (sysctl(mib, 2, &system_memory_bytes, &len, NULL, 0) != 0)
10  10 return -1;
11+#if defined(__NetBSD__) 11+#elif defined(HW_PHYSMEM64)
12+#include <sys/param.h> 12+ int mib[2] = { CTL_HW, HW_PHYSMEM64 };
13+#include <sys/sysctl.h> 13+ uint64_t system_memory_bytes;
14+#endif 14+ size_t len = sizeof(system_memory_bytes);
15+ 15+ if (sysctl(mib, 2, &system_memory_bytes, &len, NULL, 0) != 0)
16 const __DRIextension **__driDriverGetExtensions_swrast(void); 16+ return -1;
17  17 #elif defined(_SC_PHYS_PAGES) && defined(_SC_PAGE_SIZE)
18 const char * const swrast_vendor_string = "Mesa Project"; 
19@@ -137,7 +142,18 @@ swrast_query_renderer_integer(__DRIscree 
20 return 0; 
21 case __DRI2_RENDERER_VIDEO_MEMORY: { 
22 /* XXX: Do we want to return the full amount of system memory ? */ 18 /* XXX: Do we want to return the full amount of system memory ? */
23+#if !defined(_SC_PHYS_PAGES) && defined(__NetBSD__) 
24+ uint64_t physmem64; 
25+ uint32_t pagesize; 
26+ size_t len; 
27+ int ret1 = sysctlbyname("hw.physmem64", &physmem64, &len, (void*)NULL, 0); 
28+ int ret2 = sysctlbyname("hw.pagesize", &pagesize, &len, (void*)NULL, 0); 
29+ const long system_memory_pages = \ 
30+ (ret1 == 0 && ret2 == 0 && physmem64 > 0 && pagesize > 0) ? 
31+ (physmem64 / pagesize) : -1; 
32+#else 
33 const long system_memory_pages = sysconf(_SC_PHYS_PAGES); 19 const long system_memory_pages = sysconf(_SC_PHYS_PAGES);
34+#endif 
35 const long system_page_size = sysconf(_SC_PAGE_SIZE); 
36  
37 if (system_memory_pages <= 0 || system_page_size <= 0)