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

Brian Paul brianp at vmware.com
Wed Jun 26 08:49:08 PDT 2013


On 06/26/2013 01:11 AM, Jonathan Gray wrote:
> 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;
>

I think a new gallium utility function for this would be helpful.  In 
fact I've already implemented something like this for our windows driver.

Does the attached code look OK you to guys?

-Brian


-------------- next part --------------
A non-text attachment was scrubbed...
Name: os_process.c
Type: text/x-csrc
Size: 1196 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/mesa-dev/attachments/20130626/1e675104/attachment.c>


More information about the mesa-dev mailing list