[Mesa-dev] [PATCH 01/19] gallium: add tessellation shader types

Glenn Kennard glenn.kennard at gmail.com
Sun May 3 03:19:12 PDT 2015


On Sat, 02 May 2015 22:16:25 +0200, Ilia Mirkin <imirkin at alum.mit.edu>  
wrote:

> Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
> ---
>  src/gallium/auxiliary/tgsi/tgsi_info.c     | 4 ++++
>  src/gallium/auxiliary/tgsi/tgsi_strings.c  | 4 +++-
>  src/gallium/auxiliary/tgsi/tgsi_strings.h  | 2 +-
>  src/gallium/include/pipe/p_defines.h       | 6 ++++--
>  src/gallium/include/pipe/p_shader_tokens.h | 4 +++-
>  5 files changed, 15 insertions(+), 5 deletions(-)
>
> diff --git a/src/gallium/auxiliary/tgsi/tgsi_info.c  
> b/src/gallium/auxiliary/tgsi/tgsi_info.c
> index 3cab86e..eb447cb 100644
> --- a/src/gallium/auxiliary/tgsi/tgsi_info.c
> +++ b/src/gallium/auxiliary/tgsi/tgsi_info.c
> @@ -302,6 +302,10 @@ tgsi_get_processor_name( uint processor )
>        return "fragment shader";
>     case TGSI_PROCESSOR_GEOMETRY:
>        return "geometry shader";
> +   case TGSI_PROCESSOR_TESSCTRL:
> +      return "tessellation control shader";
> +   case TGSI_PROCESSOR_TESSEVAL:
> +      return "tessellation evaluation shader";
>     default:
>        return "unknown shader type!";
>     }
> diff --git a/src/gallium/auxiliary/tgsi/tgsi_strings.c  
> b/src/gallium/auxiliary/tgsi/tgsi_strings.c
> index 9b727cf..e712f30 100644
> --- a/src/gallium/auxiliary/tgsi/tgsi_strings.c
> +++ b/src/gallium/auxiliary/tgsi/tgsi_strings.c
> @@ -32,11 +32,13 @@
>  #include "tgsi_strings.h"
> -const char *tgsi_processor_type_names[4] =
> +const char *tgsi_processor_type_names[6] =

Don't forget to update the declaration in tgsi_strings.h

>  {
>     "FRAG",
>     "VERT",
>     "GEOM",
> +   "TESSC",
> +   "TESSE",

A bit silly to shorten these when the dumps dedicate an entire line for  
printing the name.

>     "COMP"
>  };
> diff --git a/src/gallium/auxiliary/tgsi/tgsi_strings.h  
> b/src/gallium/auxiliary/tgsi/tgsi_strings.h
> index 90014a2..71e7437 100644
> --- a/src/gallium/auxiliary/tgsi/tgsi_strings.h
> +++ b/src/gallium/auxiliary/tgsi/tgsi_strings.h
> @@ -38,7 +38,7 @@ extern "C" {
>  #endif
> -extern const char *tgsi_processor_type_names[4];
> +extern const char *tgsi_processor_type_names[6];
> extern const char *tgsi_semantic_names[TGSI_SEMANTIC_COUNT];
> diff --git a/src/gallium/include/pipe/p_defines.h  
> b/src/gallium/include/pipe/p_defines.h
> index 67f48e4..48c182f 100644
> --- a/src/gallium/include/pipe/p_defines.h
> +++ b/src/gallium/include/pipe/p_defines.h
> @@ -404,8 +404,10 @@ enum pipe_flush_flags
>  #define PIPE_SHADER_VERTEX   0
>  #define PIPE_SHADER_FRAGMENT 1
>  #define PIPE_SHADER_GEOMETRY 2
> -#define PIPE_SHADER_COMPUTE  3
> -#define PIPE_SHADER_TYPES    4
> +#define PIPE_SHADER_TESSCTRL 3
> +#define PIPE_SHADER_TESSEVAL 4

Most of the gallium names are typed out without contractions, ie  
PIPE_SHADER_TESSELLATION_CONTROL/EVALUATION

> +#define PIPE_SHADER_COMPUTE  5
> +#define PIPE_SHADER_TYPES    6
> /**
> diff --git a/src/gallium/include/pipe/p_shader_tokens.h  
> b/src/gallium/include/pipe/p_shader_tokens.h
> index c14bcbc..776b0d4 100644
> --- a/src/gallium/include/pipe/p_shader_tokens.h
> +++ b/src/gallium/include/pipe/p_shader_tokens.h
> @@ -43,7 +43,9 @@ struct tgsi_header
>  #define TGSI_PROCESSOR_FRAGMENT  0
>  #define TGSI_PROCESSOR_VERTEX    1
>  #define TGSI_PROCESSOR_GEOMETRY  2
> -#define TGSI_PROCESSOR_COMPUTE   3
> +#define TGSI_PROCESSOR_TESSCTRL  3
> +#define TGSI_PROCESSOR_TESSEVAL  4
> +#define TGSI_PROCESSOR_COMPUTE   5
> struct tgsi_processor
>  {

With above niggles fixed
Reviewed-by: Glenn Kennard <glenn.kennard at gmail.com>


More information about the mesa-dev mailing list