[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