spirv: Change spirv_to_nir() to return a nir_shader
[mesa.git] / src / mesa / SConscript
index d20b1585a259186c0e1731ad6ad1e51dbc5a02dd..eaf23fbae1865b2fe99c7a3b8b60420f7a86a588 100644 (file)
@@ -11,29 +11,23 @@ env.MSVC2013Compat()
 
 env.Append(CPPPATH = [
     '../compiler/nir',  # for generated nir_opcodes.h, etc
+    '../compiler/glsl',  # for generated headers
     '#/src',
+    Dir('../mapi'), # src/mapi build path
     '#/src/mapi',
-    '#/src/glsl',
+    Dir('.'), # src/mesa build path
     '#/src/mesa',
+    Dir('main'),  # src/mesa/main/ build path
     '#/src/mesa/main',
     '#/src/gallium/include',
     '#/src/gallium/auxiliary',
-    Dir('../mapi'), # src/mapi build path
-    Dir('.'), # src/mesa build path
-    Dir('main'),  # src/mesa/main/ build path
 ])
 
 if env['platform'] == 'windows':
     env.Append(CPPDEFINES = [
         '_GDI32_', # prevent gl* being declared __declspec(dllimport) in MS headers
         'BUILD_GL32', # declare gl* as __declspec(dllexport) in Mesa headers
-    ])
-    if not env['gles']:
-        # prevent _glapi_* from being declared __declspec(dllimport)
-        env.Append(CPPDEFINES = ['_GLAPI_NO_EXPORTS'])
-else:
-    env.Append(CPPDEFINES = [
-        ('HAVE_DLOPEN', '1'),
+        '_GLAPI_NO_EXPORTS', # prevent _glapi_* from being declared __declspec(dllimport)
     ])
 
 # parse Makefile.sources
@@ -46,6 +40,7 @@ env.CFile('program/program_parse.tab.c', 'program/program_parse.y')
 mesa_sources = (
     source_lists['MESA_FILES'] +
     source_lists['PROGRAM_FILES'] +
+    source_lists['PROGRAM_NIR_FILES'] +
     source_lists['STATETRACKER_FILES']
 )
 
@@ -54,7 +49,7 @@ GLAPI = '#src/mapi/glapi/'
 get_hash_header = env.CodeGenerate(
       target = 'main/get_hash.h',
       script = 'main/get_hash_generator.py',
-      source = GLAPI + 'gen/gl_and_es_API.xml',
+      source = [GLAPI + 'gen/gl_and_es_API.xml'] + env.Glob(GLAPI + 'gen/*.xml'),
       command = python_cmd + ' $SCRIPT ' + ' -f $SOURCE > $TARGET'
 )
 
@@ -79,6 +74,13 @@ format_unpack = env.CodeGenerate(
       command = python_cmd + ' $SCRIPT ' + ' $SOURCE > $TARGET'
 )
 
+format_fallback = env.CodeGenerate(
+      target = 'main/format_fallback.c',
+      script = 'main/format_fallback.py',
+      source = 'main/formats.csv',
+      command = python_cmd + ' $SCRIPT ' + ' $SOURCE ' + ' $TARGET'
+)
+
 #
 # Assembly sources
 #
@@ -115,8 +117,24 @@ if env['platform'] not in ('cygwin', 'darwin', 'windows', 'haiku'):
         )
         # Add the dir containing the generated header (somewhere inside  the
         # build dir) to the include path
-        env.Append(CPPPATH = [matypes[0].dir])
-
+        env.Prepend(CPPPATH = [matypes[0].dir])
+
+
+# The marshal_generated.c file is generated from the GL/ES API.xml file
+env.CodeGenerate(
+    target = 'main/marshal_generated.c',
+    script = GLAPI + 'gen/gl_marshal.py',
+    source = [GLAPI + 'gen/gl_and_es_API.xml'] + env.Glob(GLAPI + 'gen/*.xml'),
+    command = python_cmd + ' $SCRIPT -f $SOURCE > $TARGET'
+    )
+
+# The marshal_generated.h file is generated from the GL/ES API.xml file
+env.CodeGenerate(
+    target = 'main/marshal_generated.h',
+    script = GLAPI + 'gen/gl_marshal_h.py',
+    source = [GLAPI + 'gen/gl_and_es_API.xml'] + env.Glob(GLAPI + 'gen/*.xml'),
+    command = python_cmd + ' $SCRIPT -f $SOURCE > $TARGET'
+    )
 
 #
 # Libraries