[Mesa-dev] [PATCH 1/6] compiler: introduce a libcompiler static library

Emil Velikov emil.l.velikov at gmail.com
Mon Jan 18 04:02:23 PST 2016


From: Emil Velikov <emil.velikov at collabora.com>

Currently it's an empty library, although it'll be used to store common
code between GLSL and NIR that is compiler specific (rather than generic
as the one in src/util).

XXX: strictly speaking we could add a python/mako parser to generate the
relevant files instead including builtin_type_macros.h in such a manner.

Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
---
 configure.ac                                     |  1 +
 src/Makefile.am                                  |  3 +++
 src/compiler/Makefile.am                         | 25 ++++++++++++++++++++++++
 src/compiler/Makefile.sources                    |  2 ++
 src/{glsl/nir => compiler}/builtin_type_macros.h |  0
 src/glsl/Makefile.sources                        |  1 -
 src/glsl/builtin_types.cpp                       |  2 +-
 src/glsl/nir/glsl_types.cpp                      |  2 +-
 src/glsl/nir/glsl_types.h                        |  4 ++--
 9 files changed, 35 insertions(+), 5 deletions(-)
 create mode 100644 src/compiler/Makefile.am
 create mode 100644 src/compiler/Makefile.sources
 rename src/{glsl/nir => compiler}/builtin_type_macros.h (100%)

diff --git a/configure.ac b/configure.ac
index 8d19dab..dc1e995 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2436,6 +2436,7 @@ CXXFLAGS="$CXXFLAGS $USER_CXXFLAGS"
 dnl Substitute the config
 AC_CONFIG_FILES([Makefile
 		src/Makefile
+		src/compiler/Makefile
 		src/egl/Makefile
 		src/egl/main/egl.pc
 		src/egl/wayland/wayland-drm/Makefile
diff --git a/src/Makefile.am b/src/Makefile.am
index 0d49bcd..a0ec401 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -21,6 +21,9 @@
 
 SUBDIRS = . gtest util mapi/glapi/gen mapi
 
+# include only conditionally ?
+SUBDIRS += compiler
+
 if NEED_OPENGL_COMMON
 SUBDIRS += glsl mesa
 endif
diff --git a/src/compiler/Makefile.am b/src/compiler/Makefile.am
new file mode 100644
index 0000000..8ed8205
--- /dev/null
+++ b/src/compiler/Makefile.am
@@ -0,0 +1,25 @@
+#
+# Copyright (C) 2015 Intel Corporation
+#
+# Permission is hereby granted, free of charge, to any person obtaining a
+# copy of this software and associated documentation files (the "Software"),
+# to deal in the Software without restriction, including without limitation
+# the rights to use, copy, modify, merge, publish, distribute, sublicense,
+# and/or sell copies of the Software, and to permit persons to whom the
+# Software is furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice (including the next
+# paragraph) shall be included in all copies or substantial portions of the
+# Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
+# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
+# IN THE SOFTWARE.
+
+include Makefile.sources
+
+EXTRA_DIST = $(LIBCOMPILER_FILES)
diff --git a/src/compiler/Makefile.sources b/src/compiler/Makefile.sources
new file mode 100644
index 0000000..f154062
--- /dev/null
+++ b/src/compiler/Makefile.sources
@@ -0,0 +1,2 @@
+LIBCOMPILER_FILES = \
+	builtin_type_macros.h
diff --git a/src/glsl/nir/builtin_type_macros.h b/src/compiler/builtin_type_macros.h
similarity index 100%
rename from src/glsl/nir/builtin_type_macros.h
rename to src/compiler/builtin_type_macros.h
diff --git a/src/glsl/Makefile.sources b/src/glsl/Makefile.sources
index fd28f5c..8b43eb8 100644
--- a/src/glsl/Makefile.sources
+++ b/src/glsl/Makefile.sources
@@ -20,7 +20,6 @@ NIR_GENERATED_FILES = \
 NIR_FILES = \
 	nir/glsl_types.cpp \
 	nir/glsl_types.h \
-	nir/builtin_type_macros.h \
 	nir/nir.c \
 	nir/nir.h \
 	nir/nir_array.h \
diff --git a/src/glsl/builtin_types.cpp b/src/glsl/builtin_types.cpp
index bbdcd19..4402e28 100644
--- a/src/glsl/builtin_types.cpp
+++ b/src/glsl/builtin_types.cpp
@@ -112,7 +112,7 @@ static const struct glsl_struct_field gl_FogParameters_fields[] = {
    glsl_struct_field(glsl_type::float_type, "scale"),
 };
 
-#include "builtin_type_macros.h"
+#include "compiler/builtin_type_macros.h"
 /** @} */
 
 /**
diff --git a/src/glsl/nir/glsl_types.cpp b/src/glsl/nir/glsl_types.cpp
index 44d3056..655d3b1 100644
--- a/src/glsl/nir/glsl_types.cpp
+++ b/src/glsl/nir/glsl_types.cpp
@@ -1754,5 +1754,5 @@ glsl_type::coordinate_components() const
 
 #define STRUCT_TYPE(NAME)
 
-#include "builtin_type_macros.h"
+#include "compiler/builtin_type_macros.h"
 /** @} */
diff --git a/src/glsl/nir/glsl_types.h b/src/glsl/nir/glsl_types.h
index 0b83727..e63d794 100644
--- a/src/glsl/nir/glsl_types.h
+++ b/src/glsl/nir/glsl_types.h
@@ -201,7 +201,7 @@ struct glsl_type {
 #undef  STRUCT_TYPE
 #define STRUCT_TYPE(NAME) \
    static const glsl_type *const struct_##NAME##_type;
-#include "builtin_type_macros.h"
+#include "compiler/builtin_type_macros.h"
    /*@}*/
 
    /**
@@ -787,7 +787,7 @@ private:
 #define DECL_TYPE(NAME, ...) static const glsl_type _##NAME##_type;
 #undef  STRUCT_TYPE
 #define STRUCT_TYPE(NAME)        static const glsl_type _struct_##NAME##_type;
-#include "builtin_type_macros.h"
+#include "compiler/builtin_type_macros.h"
    /*@}*/
 
    /**
-- 
2.6.2



More information about the mesa-dev mailing list