[Mesa-dev] [PATCH 01/19] gallium: add tessellation shader types
Fredrik Höglund
fredrik at kde.org
Sun May 3 06:26:42 PDT 2015
On Sunday 03 May 2015, Glenn Kennard wrote:
> 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
Another option, if the length is a concern, is to use the D3D names,
i.e. PIPE_SHADER_HULL and PIPE_SHADER_DOMAIN.
> > +#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>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev
>
More information about the mesa-dev
mailing list