Mesa (master): nir: remove dependency on glsl

Rob Clark robclark at kemper.freedesktop.org
Fri Oct 16 23:40:26 UTC 2015


Module: Mesa
Branch: master
Commit: b9b40ef9b7644ea24768bc8b7464b1719efe99bf
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=b9b40ef9b7644ea24768bc8b7464b1719efe99bf

Author: Rob Clark <robclark at freedesktop.org>
Date:   Sat Oct 10 13:55:07 2015 -0400

nir: remove dependency on glsl

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).

v2: fix android build
v3: I f***ing hate scons.. but at least it builds

Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
Signed-off-by: Rob Clark <robclark at freedesktop.org>

---

 src/gallium/targets/libgl-xlib/SConscript                   |    3 +++
 src/gallium/targets/libgl-xlib/glsl_types_hack.cpp          |    3 +++
 src/glsl/Makefile.am                                        |    3 ---
 src/glsl/Makefile.sources                                   |    4 ++--
 src/glsl/SConscript                                         |    2 ++
 src/glsl/{ => nir}/builtin_type_macros.h                    |    0
 src/glsl/{ => nir}/glsl_types.cpp                           |    0
 src/glsl/{ => nir}/glsl_types.h                             |    0
 src/glsl/nir/nir_types.h                                    |    2 +-
 src/mesa/Android.libmesa_dricore.mk                         |    1 +
 src/mesa/Android.libmesa_glsl_utils.mk                      |    2 ++
 src/mesa/Android.libmesa_st_mesa.mk                         |    1 +
 src/mesa/Makefile.sources                                   |    1 +
 src/mesa/SConscript                                         |    1 +
 src/mesa/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 +-
 src/mesa/drivers/dri/i965/brw_fs_channel_expressions.cpp    |    2 +-
 src/mesa/drivers/dri/i965/brw_fs_reg_allocate.cpp           |    2 +-
 src/mesa/drivers/dri/i965/brw_fs_vector_splitting.cpp       |    2 +-
 src/mesa/drivers/dri/i965/brw_fs_visitor.cpp                |    2 +-
 src/mesa/drivers/dri/i965/brw_lower_unnormalized_offset.cpp |    2 +-
 src/mesa/drivers/dri/i965/brw_schedule_instructions.cpp     |    2 +-
 src/mesa/drivers/x11/SConscript                             |    3 +++
 src/mesa/main/ff_fragment_shader.cpp                        |    2 +-
 src/mesa/main/uniforms.h                                    |    2 +-
 src/mesa/program/Android.mk                                 |    1 +
 src/mesa/program/ir_to_mesa.cpp                             |    2 +-
 src/mesa/program/sampler.cpp                                |    2 +-
 29 files changed, 34 insertions(+), 19 deletions(-)

diff --git a/src/gallium/targets/libgl-xlib/SConscript b/src/gallium/targets/libgl-xlib/SConscript
index df5a220..fedc522 100644
--- a/src/gallium/targets/libgl-xlib/SConscript
+++ b/src/gallium/targets/libgl-xlib/SConscript
@@ -6,6 +6,8 @@ Import('*')
 env = env.Clone()
 
 env.Append(CPPPATH = [
+    '#/src/glsl',
+    '#/src/glsl/nir',
     '#/src/mapi',
     '#/src/mesa',
     '#/src/mesa/main',
@@ -36,6 +38,7 @@ env.Prepend(LIBS = [
 
 sources = [
     'xlib.c',
+    'glsl_types_hack.cpp',
 ]
 
 if True:
diff --git a/src/gallium/targets/libgl-xlib/glsl_types_hack.cpp b/src/gallium/targets/libgl-xlib/glsl_types_hack.cpp
new file mode 100644
index 0000000..5c042f2
--- /dev/null
+++ b/src/gallium/targets/libgl-xlib/glsl_types_hack.cpp
@@ -0,0 +1,3 @@
+/* errrg scons.. otherwise "scons: *** Two environments with different actions were specified for the same target: $mesa/build/linux-x86_64-debug/glsl/nir/glsl_types.os" */
+#include "glsl_types.cpp"
+
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 4da64f4..ca87036 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 \
@@ -104,8 +106,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 \
diff --git a/src/glsl/SConscript b/src/glsl/SConscript
index 89c6035..927cbdc 100644
--- a/src/glsl/SConscript
+++ b/src/glsl/SConscript
@@ -16,6 +16,7 @@ env.Prepend(CPPPATH = [
     '#src/gallium/include',
     '#src/gallium/auxiliary',
     '#src/glsl',
+    '#src/glsl/nir',
     '#src/glsl/glcpp',
 ])
 
@@ -80,6 +81,7 @@ mesa_objs = env.StaticObject([
     'prog_hash_table.c',
     'symbol_table.c',
     'dummy_errors.c',
+    'nir/glsl_types.cpp',
 ])
 
 compiler_objs += mesa_objs
diff --git a/src/glsl/builtin_type_macros.h b/src/glsl/nir/builtin_type_macros.h
similarity index 100%
rename from src/glsl/builtin_type_macros.h
rename to src/glsl/nir/builtin_type_macros.h
diff --git a/src/glsl/glsl_types.cpp b/src/glsl/nir/glsl_types.cpp
similarity index 100%
rename from src/glsl/glsl_types.cpp
rename to src/glsl/nir/glsl_types.cpp
diff --git a/src/glsl/glsl_types.h b/src/glsl/nir/glsl_types.h
similarity index 100%
rename from src/glsl/glsl_types.h
rename to src/glsl/nir/glsl_types.h
diff --git a/src/glsl/nir/nir_types.h b/src/glsl/nir/nir_types.h
index 009a0fb..60d561b 100644
--- a/src/glsl/nir/nir_types.h
+++ b/src/glsl/nir/nir_types.h
@@ -31,7 +31,7 @@
 
 /* C wrapper around glsl_types.h */
 
-#include "../glsl_types.h"
+#include "glsl_types.h"
 
 #ifdef __cplusplus
 extern "C" {
diff --git a/src/mesa/Android.libmesa_dricore.mk b/src/mesa/Android.libmesa_dricore.mk
index fef76c8..cd31e14 100644
--- a/src/mesa/Android.libmesa_dricore.mk
+++ b/src/mesa/Android.libmesa_dricore.mk
@@ -60,6 +60,7 @@ LOCAL_C_INCLUDES := \
 	$(MESA_TOP)/src/mapi \
 	$(MESA_TOP)/src/mesa/main \
 	$(MESA_TOP)/src/glsl \
+	$(MESA_TOP)/src/glsl/nir \
 	$(MESA_TOP)/src/gallium/include \
 	$(MESA_TOP)/src/gallium/auxiliary
 
diff --git a/src/mesa/Android.libmesa_glsl_utils.mk b/src/mesa/Android.libmesa_glsl_utils.mk
index ed620ac..9e150ea 100644
--- a/src/mesa/Android.libmesa_glsl_utils.mk
+++ b/src/mesa/Android.libmesa_glsl_utils.mk
@@ -37,6 +37,7 @@ LOCAL_MODULE := libmesa_glsl_utils
 
 LOCAL_C_INCLUDES := \
 	$(MESA_TOP)/src/glsl \
+	$(MESA_TOP)/src/glsl/nir \
 	$(MESA_TOP)/src/mapi \
 	$(MESA_TOP)/src/gallium/include \
 	$(MESA_TOP)/src/gallium/auxiliary
@@ -62,6 +63,7 @@ LOCAL_CFLAGS := -D_POSIX_C_SOURCE=199309L
 
 LOCAL_C_INCLUDES := \
 	$(MESA_TOP)/src/glsl \
+	$(MESA_TOP)/src/glsl/nir \
 	$(MESA_TOP)/src/mapi \
 	$(MESA_TOP)/src/gallium/include \
 	$(MESA_TOP)/src/gallium/auxiliary
diff --git a/src/mesa/Android.libmesa_st_mesa.mk b/src/mesa/Android.libmesa_st_mesa.mk
index b4b7fd9..427a35f 100644
--- a/src/mesa/Android.libmesa_st_mesa.mk
+++ b/src/mesa/Android.libmesa_st_mesa.mk
@@ -55,6 +55,7 @@ LOCAL_C_INCLUDES := \
 	$(MESA_TOP)/src/mapi \
 	$(MESA_TOP)/src/mesa/main \
 	$(MESA_TOP)/src/glsl \
+	$(MESA_TOP)/src/glsl/nir \
 	$(MESA_TOP)/src/gallium/auxiliary \
 	$(MESA_TOP)/src/gallium/include
 
diff --git a/src/mesa/Makefile.sources b/src/mesa/Makefile.sources
index 13208b5..34fb446 100644
--- a/src/mesa/Makefile.sources
+++ b/src/mesa/Makefile.sources
@@ -620,6 +620,7 @@ INCLUDE_DIRS = \
 	-I$(top_srcdir)/include \
 	-I$(top_srcdir)/src \
 	-I$(top_srcdir)/src/glsl \
+	-I$(top_srcdir)/src/glsl/nir \
 	-I$(top_builddir)/src/glsl \
 	-I$(top_builddir)/src/glsl/nir \
 	-I$(top_srcdir)/src/glsl/glcpp \
diff --git a/src/mesa/SConscript b/src/mesa/SConscript
index 5b80a21..c986326 100644
--- a/src/mesa/SConscript
+++ b/src/mesa/SConscript
@@ -16,6 +16,7 @@ env.Append(CPPPATH = [
     '#/src',
     '#/src/mapi',
     '#/src/glsl',
+    '#/src/glsl/nir',
     '#/src/mesa',
     '#/src/gallium/include',
     '#/src/gallium/auxiliary',
diff --git a/src/mesa/drivers/dri/i965/brw_cubemap_normalize.cpp b/src/mesa/drivers/dri/i965/brw_cubemap_normalize.cpp
index 3357129..33d2048 100644
--- a/src/mesa/drivers/dri/i965/brw_cubemap_normalize.cpp
+++ b/src/mesa/drivers/dri/i965/brw_cubemap_normalize.cpp
@@ -30,7 +30,7 @@
  * \author Eric Anholt <eric at anholt.net>
  */
 
-#include "glsl/glsl_types.h"
+#include "glsl/nir/glsl_types.h"
 #include "glsl/ir.h"
 #include "program/prog_instruction.h" /* For WRITEMASK_* */
 
diff --git a/src/mesa/drivers/dri/i965/brw_fs.cpp b/src/mesa/drivers/dri/i965/brw_fs.cpp
index 01a7c99..a2fd441 100644
--- a/src/mesa/drivers/dri/i965/brw_fs.cpp
+++ b/src/mesa/drivers/dri/i965/brw_fs.cpp
@@ -47,7 +47,7 @@
 #include "brw_dead_control_flow.h"
 #include "main/uniforms.h"
 #include "brw_fs_live_variables.h"
-#include "glsl/glsl_types.h"
+#include "glsl/nir/glsl_types.h"
 #include "program/sampler.h"
 
 using namespace brw;
diff --git a/src/mesa/drivers/dri/i965/brw_fs.h b/src/mesa/drivers/dri/i965/brw_fs.h
index e8b511f..29a009e 100644
--- a/src/mesa/drivers/dri/i965/brw_fs.h
+++ b/src/mesa/drivers/dri/i965/brw_fs.h
@@ -48,7 +48,7 @@ extern "C" {
 #include "brw_wm.h"
 #include "intel_asm_annotation.h"
 }
-#include "glsl/glsl_types.h"
+#include "glsl/nir/glsl_types.h"
 #include "glsl/ir.h"
 #include "glsl/nir/nir.h"
 #include "program/sampler.h"
diff --git a/src/mesa/drivers/dri/i965/brw_fs_channel_expressions.cpp b/src/mesa/drivers/dri/i965/brw_fs_channel_expressions.cpp
index 277b6cc..a13d001 100644
--- a/src/mesa/drivers/dri/i965/brw_fs_channel_expressions.cpp
+++ b/src/mesa/drivers/dri/i965/brw_fs_channel_expressions.cpp
@@ -45,7 +45,7 @@
 #include "brw_wm.h"
 #include "glsl/ir.h"
 #include "glsl/ir_expression_flattening.h"
-#include "glsl/glsl_types.h"
+#include "glsl/nir/glsl_types.h"
 
 class ir_channel_expressions_visitor : public ir_hierarchical_visitor {
 public:
diff --git a/src/mesa/drivers/dri/i965/brw_fs_reg_allocate.cpp b/src/mesa/drivers/dri/i965/brw_fs_reg_allocate.cpp
index c3a037b..36388fa 100644
--- a/src/mesa/drivers/dri/i965/brw_fs_reg_allocate.cpp
+++ b/src/mesa/drivers/dri/i965/brw_fs_reg_allocate.cpp
@@ -27,7 +27,7 @@
 
 #include "brw_fs.h"
 #include "brw_cfg.h"
-#include "glsl/glsl_types.h"
+#include "glsl/nir/glsl_types.h"
 #include "glsl/ir_optimization.h"
 
 using namespace brw;
diff --git a/src/mesa/drivers/dri/i965/brw_fs_vector_splitting.cpp b/src/mesa/drivers/dri/i965/brw_fs_vector_splitting.cpp
index 6000e35..cab5af3 100644
--- a/src/mesa/drivers/dri/i965/brw_fs_vector_splitting.cpp
+++ b/src/mesa/drivers/dri/i965/brw_fs_vector_splitting.cpp
@@ -42,7 +42,7 @@
 #include "glsl/ir.h"
 #include "glsl/ir_visitor.h"
 #include "glsl/ir_rvalue_visitor.h"
-#include "glsl/glsl_types.h"
+#include "glsl/nir/glsl_types.h"
 #include "util/hash_table.h"
 
 static bool debug = false;
diff --git a/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp b/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp
index 8aee2c0..eac1ec0 100644
--- a/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp
+++ b/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp
@@ -43,7 +43,7 @@
 #include "brw_vec4.h"
 #include "brw_fs.h"
 #include "main/uniforms.h"
-#include "glsl/glsl_types.h"
+#include "glsl/nir/glsl_types.h"
 #include "glsl/ir_optimization.h"
 #include "program/sampler.h"
 
diff --git a/src/mesa/drivers/dri/i965/brw_lower_unnormalized_offset.cpp b/src/mesa/drivers/dri/i965/brw_lower_unnormalized_offset.cpp
index 8c59b9e..4219d47 100644
--- a/src/mesa/drivers/dri/i965/brw_lower_unnormalized_offset.cpp
+++ b/src/mesa/drivers/dri/i965/brw_lower_unnormalized_offset.cpp
@@ -31,7 +31,7 @@
  * \author Chris Forbes <chrisf at ijw.co.nz>
  */
 
-#include "glsl/glsl_types.h"
+#include "glsl/nir/glsl_types.h"
 #include "glsl/ir.h"
 #include "glsl/ir_builder.h"
 
diff --git a/src/mesa/drivers/dri/i965/brw_schedule_instructions.cpp b/src/mesa/drivers/dri/i965/brw_schedule_instructions.cpp
index 4e43e5c..b710c60 100644
--- a/src/mesa/drivers/dri/i965/brw_schedule_instructions.cpp
+++ b/src/mesa/drivers/dri/i965/brw_schedule_instructions.cpp
@@ -29,7 +29,7 @@
 #include "brw_vec4.h"
 #include "brw_cfg.h"
 #include "brw_shader.h"
-#include "glsl/glsl_types.h"
+#include "glsl/nir/glsl_types.h"
 #include "glsl/ir_optimization.h"
 
 using namespace brw;
diff --git a/src/mesa/drivers/x11/SConscript b/src/mesa/drivers/x11/SConscript
index d29f987..aa1e73a 100644
--- a/src/mesa/drivers/x11/SConscript
+++ b/src/mesa/drivers/x11/SConscript
@@ -4,6 +4,8 @@ env = env.Clone()
 
 env.Append(CPPPATH = [
     '#/src',
+    '#/src/glsl',
+    '#/src/glsl/nir',
     '#/src/mapi',
     '#/src/mesa',
     '#/src/mesa/main',
@@ -31,6 +33,7 @@ sources = [
 	'xm_dd.c',
 	'xm_line.c',
 	'xm_tri.c',
+	'../../../glsl/nir/glsl_types.cpp',
 ]
 
 # Disallow undefined symbols
diff --git a/src/mesa/main/ff_fragment_shader.cpp b/src/mesa/main/ff_fragment_shader.cpp
index aad7266..e63d0f1 100644
--- a/src/mesa/main/ff_fragment_shader.cpp
+++ b/src/mesa/main/ff_fragment_shader.cpp
@@ -40,7 +40,7 @@
 #include "glsl/ir_optimization.h"
 #include "glsl/glsl_parser_extras.h"
 #include "glsl/glsl_symbol_table.h"
-#include "glsl/glsl_types.h"
+#include "glsl/nir/glsl_types.h"
 #include "program/ir_to_mesa.h"
 #include "program/program.h"
 #include "program/programopt.h"
diff --git a/src/mesa/main/uniforms.h b/src/mesa/main/uniforms.h
index bec035c..2f88b65 100644
--- a/src/mesa/main/uniforms.h
+++ b/src/mesa/main/uniforms.h
@@ -27,7 +27,7 @@
 #define UNIFORMS_H
 
 #include "main/glheader.h"
-#include "glsl/glsl_types.h"
+#include "glsl/nir/glsl_types.h"
 #include "glsl/ir_uniform.h"
 #include "program/prog_parameter.h"
 
diff --git a/src/mesa/program/Android.mk b/src/mesa/program/Android.mk
index ccb0fa5..cc67f8a 100644
--- a/src/mesa/program/Android.mk
+++ b/src/mesa/program/Android.mk
@@ -75,6 +75,7 @@ LOCAL_C_INCLUDES := \
 	$(MESA_TOP)/src/mapi \
 	$(MESA_TOP)/src/mesa \
 	$(MESA_TOP)/src/glsl \
+	$(MESA_TOP)/src/glsl/nir \
 	$(MESA_TOP)/src/gallium/auxiliary \
 	$(MESA_TOP)/src/gallium/include
 
diff --git a/src/mesa/program/ir_to_mesa.cpp b/src/mesa/program/ir_to_mesa.cpp
index e81f459..61a5064 100644
--- a/src/mesa/program/ir_to_mesa.cpp
+++ b/src/mesa/program/ir_to_mesa.cpp
@@ -42,7 +42,7 @@
 #include "glsl/ir_optimization.h"
 #include "glsl/ir_uniform.h"
 #include "glsl/glsl_parser_extras.h"
-#include "glsl/glsl_types.h"
+#include "glsl/nir/glsl_types.h"
 #include "glsl/linker.h"
 #include "glsl/program.h"
 #include "program/hash_table.h"
diff --git a/src/mesa/program/sampler.cpp b/src/mesa/program/sampler.cpp
index 1198a3c..84e2504 100644
--- a/src/mesa/program/sampler.cpp
+++ b/src/mesa/program/sampler.cpp
@@ -24,7 +24,7 @@
  */
 
 #include "main/mtypes.h"
-#include "glsl/glsl_types.h"
+#include "glsl/nir/glsl_types.h"
 #include "glsl/ir.h"
 #include "glsl/ir_uniform.h"
 #include "glsl/ir_visitor.h"




More information about the mesa-commit mailing list