[Mesa-dev] [PATCH 0/6] Remove NIR dependency on GLSL

Rob Clark robdclark at gmail.com
Sat Oct 10 11:51:18 PDT 2015


On Sat, Oct 10, 2015 at 2:47 PM, Rob Clark <robdclark at gmail.com> wrote:
> From: Rob Clark <robclark at freedesktop.org>
>
> This patchset removes the NIR dependency on GLSL (and includes resend
> of shader_enums cleanups w/ addition of STATIC_ASSERT()'s)
>
> Split up glsl_types so the builtin-types go w/ glsl_types but the parts
> that add them to glsl_symbol_table stay with glsl.  This way we can move
> glsl_types into NIR without dragging along glsl_symbol_table and all of
> it's dependencies.
>
> Also move the half/float conversion into util so it can be used from NIR
> without bringing an external dependency.
>
> With this we can move glsl_types into NIR and drop the dependency on
> GLSL, and mostly remove the libglsl_util hack.  (The standalone glsl-
> compiler util still needs libglsl_util, so we can't remove it completely
> yet, but we can remove the dependency on libglsl_util from non-mesa
> state trackers.  And a hypothetical vulkan implementation using NIR
> should also not need to suck in libglsl_util.)
>
> Probably there is some room to rename things to complete the cleanup,
> but I figured it was good to split things up into moving things first,
> and do flag-day renames second (if desired).
>
> Rob Clark (6):
>   glsl: couple shader_enums cleanups
>   glsl: move builtin types to glsl_types.cpp
>   glsl: move half<->float convertion to util
>   nir: use util/convert.h
>   nir: remove dependency on glsl

btw, this one seems to have bounced due to size (since moving files),
but you can find it here:

https://github.com/freedreno/mesa/commits/wip-nir-no-glsl

BR,
-R

>   glsl: (mostly) remove libglsl_util
>
>  src/gallium/drivers/freedreno/Makefile.am          |    3 +-
>  src/gallium/targets/d3dadapter9/Makefile.am        |    1 -
>  src/gallium/targets/pipe-loader/Makefile.am        |    1 -
>  src/gallium/targets/xa/Makefile.am                 |    1 -
>  src/glsl/Makefile.am                               |   10 +-
>  src/glsl/Makefile.sources                          |    4 +-
>  src/glsl/builtin_type_macros.h                     |  172 --
>  src/glsl/builtin_types.cpp                         |    4 +-
>  src/glsl/glsl_types.cpp                            | 1715 -------------------
>  src/glsl/glsl_types.h                              |  867 ----------
>  src/glsl/nir/builtin_type_macros.h                 |  172 ++
>  src/glsl/nir/glsl_types.cpp                        | 1729 ++++++++++++++++++++
>  src/glsl/nir/glsl_types.h                          |  867 ++++++++++
>  src/glsl/nir/nir_constant_expressions.py           |    5 +-
>  src/glsl/nir/nir_types.h                           |    2 +-
>  src/glsl/nir/shader_enums.c                        |    8 +
>  src/glsl/nir/shader_enums.h                        |    7 +
>  .../drivers/dri/i965/brw_cubemap_normalize.cpp     |    2 +-
>  src/mesa/drivers/dri/i965/brw_fs.cpp               |    2 +-
>  src/mesa/drivers/dri/i965/brw_fs.h                 |    2 +-
>  .../dri/i965/brw_fs_channel_expressions.cpp        |    2 +-
>  src/mesa/drivers/dri/i965/brw_fs_reg_allocate.cpp  |    2 +-
>  .../drivers/dri/i965/brw_fs_vector_splitting.cpp   |    2 +-
>  src/mesa/drivers/dri/i965/brw_fs_visitor.cpp       |    2 +-
>  .../dri/i965/brw_lower_unnormalized_offset.cpp     |    2 +-
>  .../drivers/dri/i965/brw_schedule_instructions.cpp |    2 +-
>  src/mesa/main/ff_fragment_shader.cpp               |    2 +-
>  src/mesa/main/imports.c                            |  148 --
>  src/mesa/main/imports.h                            |   38 +-
>  src/mesa/main/mtypes.h                             |    5 -
>  src/mesa/main/uniforms.h                           |    2 +-
>  src/mesa/program/ir_to_mesa.cpp                    |    2 +-
>  src/mesa/program/sampler.cpp                       |    2 +-
>  src/util/Makefile.sources                          |    2 +
>  src/util/convert.c                                 |  179 ++
>  src/util/convert.h                                 |   43 +
>  36 files changed, 3063 insertions(+), 2946 deletions(-)
>  delete mode 100644 src/glsl/builtin_type_macros.h
>  delete mode 100644 src/glsl/glsl_types.cpp
>  delete mode 100644 src/glsl/glsl_types.h
>  create mode 100644 src/glsl/nir/builtin_type_macros.h
>  create mode 100644 src/glsl/nir/glsl_types.cpp
>  create mode 100644 src/glsl/nir/glsl_types.h
>  create mode 100644 src/util/convert.c
>  create mode 100644 src/util/convert.h
>
> --
> 2.4.3
>


More information about the mesa-dev mailing list