[Mesa-dev] [PATCH 5/6] nir: remove dependency on glsl

Rob Clark robdclark at gmail.com
Thu Oct 15 14:57:17 PDT 2015


On Tue, Oct 13, 2015 at 12:15 PM, Emil Velikov <emil.l.velikov at gmail.com> wrote:
> On 13 October 2015 at 16:37, Rob Clark <robdclark at gmail.com> wrote:
>> On Tue, Oct 13, 2015 at 11:22 AM, Emil Velikov <emil.l.velikov at gmail.com> wrote:
>>> Hi Rob,
>>>
>>> On 10 October 2015 at 19:47, Rob Clark <robdclark at gmail.com> wrote:
>>>> From: Rob Clark <robclark at freedesktop.org>
>>>>
>>>> Move glsl_types into NIR, now that the dependency on glsl_symbol_table
>>>> has been split out.
>>>>
>>>> Possibly makes sense to rename things at this point, but if we do that
>>>> I'd like to keep it split out into a separate patch to make git history
>>>> easier to follow (IMHO).
>>>>
>>>> Signed-off-by: Rob Clark <robclark at freedesktop.org>
>>>> ---
>>>>  src/glsl/Makefile.am                               |    3 -
>>>>  src/glsl/Makefile.sources                          |    4 +-
>>>>  src/glsl/builtin_type_macros.h                     |  172 --
>>>>  src/glsl/glsl_types.cpp                            | 1729 --------------------
>>>>  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_types.h                           |    2 +-
>>>>  .../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/uniforms.h                           |    2 +-
>>>>  src/mesa/program/ir_to_mesa.cpp                    |    2 +-
>>>>  src/mesa/program/sampler.cpp                       |    2 +-
>>>>  22 files changed, 2784 insertions(+), 2787 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
>>>>
>>>> diff --git a/src/glsl/Makefile.am b/src/glsl/Makefile.am
>>>> index 347919b..437c6a5 100644
>>>> --- a/src/glsl/Makefile.am
>>>> +++ b/src/glsl/Makefile.am
>>>> @@ -148,9 +148,6 @@ libglsl_la_SOURCES =                                        \
>>>>
>>>>
>>>>  libnir_la_SOURCES =                                    \
>>>> -       glsl_types.cpp                                  \
>>>> -       builtin_types.cpp                               \
>>>> -       glsl_symbol_table.cpp                           \
>>>>         $(NIR_FILES)                                    \
>>>>         $(NIR_GENERATED_FILES)
>>>>
>>>> diff --git a/src/glsl/Makefile.sources b/src/glsl/Makefile.sources
>>>> index 436949c..6e61f23 100644
>>>> --- a/src/glsl/Makefile.sources
>>>> +++ b/src/glsl/Makefile.sources
>>>> @@ -20,6 +20,8 @@ NIR_GENERATED_FILES = \
>>>>  NIR_FILES = \
>>>>         nir/glsl_to_nir.cpp \
>>>>         nir/glsl_to_nir.h \
>>>> +       nir/glsl_types.cpp \
>>>> +       nir/glsl_types.h \
>>>>         nir/nir.c \
>>>>         nir/nir.h \
>>>>         nir/nir_array.h \
>>>> @@ -103,8 +105,6 @@ LIBGLSL_FILES = \
>>>>         glsl_parser_extras.h \
>>>>         glsl_symbol_table.cpp \
>>>>         glsl_symbol_table.h \
>>>> -       glsl_types.cpp \
>>>> -       glsl_types.h \
>>>>         hir_field_selection.cpp \
>>>>         ir_basic_block.cpp \
>>>>         ir_basic_block.h \
>>> Can we split this into two (or more) patches.
>>>  - move the files from glsl to glsl/nir, updating scons/android. note
>>> scons is missing everything NIR related.
>>>  - fold/nuke the additional glsl requirements, from NIR.
>>
>> It is already split up this way.. this patch is primarily the move
>> (plus header path tweaks, etc, to keep things compiling).  I don't see
>> how it could be split up any finer while keeping bisectability (ie.
>> not breaking compile in the middle).
>>
>> That said, I did completely ignore scons/android.  I don't know the
>> first thing about scons or how to do a scons build, so I think I'll
>> ignore that and let someone else fix it up.  I suppose I could fix
>> android build, although I can't build android on my laptop (and I
>> guess I'd have to rebase some of the other android related stuff that
>> isn't upstream yet), so maybe I'll just fix that in a follow-on patch
>> this weekend.
>>
> Essentially you'd want (I've expanded greatly, but feel free do you
> your own split)
>  - Add libnir for scons.

sounds a bit out of scope, and, well, I think I'll pass on touching scons..

>  - Android split out libnir static lib.
>  - Move the file - GLSL_FILES -> NIR_FILES, glsl{,/nir}, sed
> "s|glsl/foo.h/|glsl/nir/foo.h|"

this patch is essentially that w/ addition of hunk below

>  - Remove all the unused code from libnir (i.e. the following patch)

just fwiw, if I split it up, then the second patch would amount to just:

--------------
diff --git a/src/glsl/Makefile.am b/src/glsl/Makefile.am
index 347919b..437c6a5 100644
--- a/src/glsl/Makefile.am
+++ b/src/glsl/Makefile.am
@@ -148,9 +148,6 @@ libglsl_la_SOURCES =
         \


 libnir_la_SOURCES =                                    \
-       builtin_types.cpp                               \
-       glsl_symbol_table.cpp                           \
        $(NIR_FILES)                                    \
        $(NIR_GENERATED_FILES)
--------------

Sorry, I admit that was a bit hard to see without having used -M for
format-patch..

I do have one other small fix for srcdir != objdir build, and I'll try
to fix up the Android build files, which should just be minor tweaks,
and squash that in over the weekend..  after that I think I have beat
this horse about as dead as it can get..


BR,
-R


> libnir_la_SOURCES =                                    \
> -       builtin_types.cpp                               \
> -       glsl_symbol_table.cpp                           \
>         $(NIR_FILES)                                    \
>         $(NIR_GENERATED_FILES)
>
>
> Thanks
> Emil


More information about the mesa-dev mailing list