[Mesa-dev] [PATCH] r300g: add program name check for BSD

Jonathan Gray jsg at jsg.id.au
Wed Jun 26 00:11:00 PDT 2013


program_invocation_short_name is glibc specific.  Provide an
alternative using getprogname(), which can be found on *BSD and OS X.

Signed-off-by: Jonathan Gray <jsg at jsg.id.au>
---
 src/gallium/drivers/r300/r300_chipset.c | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git src/gallium/drivers/r300/r300_chipset.c src/gallium/drivers/r300/r300_chipset.c
index 11061ed..7f51ccb 100644
--- src/gallium/drivers/r300/r300_chipset.c
+++ src/gallium/drivers/r300/r300_chipset.c
@@ -30,6 +30,14 @@
 #include <stdio.h>
 #include <errno.h>
 
+#undef GET_PROGRAM_NAME
+#ifdef __GLIBC__
+#	define GET_PROGRAM_NAME() program_invocation_short_name
+#else /* *BSD and OS X */
+#	include <stdlib.h>
+#	define GET_PROGRAM_NAME() getprogname()
+#endif
+
 /* r300_chipset: A file all to itself for deducing the various properties of
  * Radeons. */
 
@@ -49,7 +57,7 @@ static void r300_apply_hyperz_blacklist(struct r300_capabilities* caps)
     int i;
 
     for (i = 0; i < Elements(list); i++) {
-        if (strcmp(list[i], program_invocation_short_name) == 0) {
+        if (strcmp(list[i], GET_PROGRAM_NAME()) == 0) {
             caps->zmask_ram = 0;
             caps->hiz_ram = 0;
             break;
-- 
1.8.3.1



More information about the mesa-dev mailing list