diff options
Diffstat (limited to 'src/mesa/SConscript')
-rw-r--r-- | src/mesa/SConscript | 82 |
1 files changed, 78 insertions, 4 deletions
diff --git a/src/mesa/SConscript b/src/mesa/SConscript index cc4ad09fa3..261242f6fc 100644 --- a/src/mesa/SConscript +++ b/src/mesa/SConscript @@ -12,12 +12,18 @@ env.Append(CPPPATH = [ '#/src/mesa', ]) +env.Append(CPPDEFINES = [ + 'FEATURE_GL=1', +]) + 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 ]) - env.Prepend(CPPPATH = ['#src/talloc']) + if not env['gles']: + # prevent _glapi_* from being declared __declspec(dllimport) + env.Append(CPPDEFINES = ['_GLAPI_NO_EXPORTS']) else: env.Append(CPPDEFINES = [ 'IN_DRI_DRIVER', # enable the remap table (for DRI drivers) @@ -62,6 +68,7 @@ main_sources = [ 'main/extensions.c', 'main/fbobject.c', 'main/feedback.c', + 'main/ff_fragment_shader.cpp', 'main/ffvertex_prog.c', 'main/fog.c', 'main/formats.c', @@ -81,6 +88,7 @@ main_sources = [ 'main/multisample.c', 'main/nvprogram.c', 'main/pack.c', + 'main/pbo.c', 'main/pixel.c', 'main/pixelstore.c', 'main/pixeltransfer.c', @@ -100,10 +108,10 @@ main_sources = [ 'main/stencil.c', 'main/syncobj.c', 'main/texcompress.c', + 'main/texcompress_rgtc.c', 'main/texcompress_s3tc.c', 'main/texcompress_fxt1.c', 'main/texenv.c', - 'main/texenvprogram.c', 'main/texfetch.c', 'main/texformat.c', 'main/texgen.c', @@ -115,6 +123,7 @@ main_sources = [ 'main/texrender.c', 'main/texstate.c', 'main/texstore.c', + 'main/texturebarrier.c', 'main/transformfeedback.c', 'main/uniforms.c', 'main/varray.c', @@ -189,8 +198,10 @@ statetracker_sources = [ 'state_tracker/st_cb_queryobj.c', 'state_tracker/st_cb_rasterpos.c', 'state_tracker/st_cb_readpixels.c', + 'state_tracker/st_cb_syncobj.c', 'state_tracker/st_cb_strings.c', 'state_tracker/st_cb_texture.c', + 'state_tracker/st_cb_texturebarrier.c', 'state_tracker/st_cb_viewport.c', 'state_tracker/st_cb_xformfb.c', 'state_tracker/st_context.c', @@ -206,15 +217,21 @@ statetracker_sources = [ 'state_tracker/st_texture.c', ] +env.Append(YACCFLAGS = '-d') +program_lex = env.CFile('program/lex.yy.c', 'program/program_lexer.l') +program_parse = env.CFile('program/program_parse.tab.c', + 'program/program_parse.y') + +# Make program/program_parse.tab.h reacheable from the include path +env.Append(CPPPATH = [Dir('.').abspath]) + program_sources = [ 'program/arbprogparse.c', 'program/hash_table.c', 'program/ir_to_mesa.cpp', - 'program/lex.yy.c', 'program/nvfragparse.c', 'program/nvvertparse.c', 'program/program.c', - 'program/program_parse.tab.c', 'program/program_parse_extra.c', 'program/prog_cache.c', 'program/prog_execute.c', @@ -229,6 +246,8 @@ program_sources = [ 'program/programopt.c', 'program/sampler.cpp', 'program/symbol_table.c', + program_lex, + program_parse[0], ] mesa_sources = ( @@ -240,6 +259,61 @@ mesa_sources = ( statetracker_sources ) +if env['gles']: + from sys import executable as python_cmd + + env.Append(CPPDEFINES = ['FEATURE_ES1=1', 'FEATURE_ES2=1']) + + # generate GLES sources + gles_sources = [] + gles_sources += env.CodeGenerate( + target = 'main/api_exec_es1.c', + script = 'main/es_generator.py', + source = 'main/APIspec.xml', + command = python_cmd + ' $SCRIPT -S $SOURCE -V GLES1.1 > $TARGET' + ) + gles_sources += env.CodeGenerate( + target = 'main/api_exec_es2.c', + script = 'main/es_generator.py', + source = 'main/APIspec.xml', + command = python_cmd + ' $SCRIPT -S $SOURCE -V GLES2.0 > $TARGET' + ) + + # generate GLES headers + GLAPI = '#src/mapi/glapi/' + gles_headers = [] + gles_headers += env.CodeGenerate( + target = 'es1api/main/glapidispatch.h', + script = GLAPI + 'gen/gl_table.py', + source = GLAPI + 'gen-es/es1_API.xml', + command = python_cmd + ' $SCRIPT -c -m remap_table -f $SOURCE > $TARGET', + ) + gles_headers += env.CodeGenerate( + target = 'es1api/main/remap_helper.h', + script = GLAPI + 'gen/remap_helper.py', + source = GLAPI + 'gen-es/es1_API.xml', + command = python_cmd + ' $SCRIPT -f $SOURCE > $TARGET', + ) + gles_headers += env.CodeGenerate( + target = 'es2api/main/glapidispatch.h', + script = GLAPI + 'gen/gl_table.py', + source = GLAPI + 'gen-es/es2_API.xml', + command = python_cmd + ' $SCRIPT -c -m remap_table -f $SOURCE > $TARGET', + ) + gles_headers += env.CodeGenerate( + target = 'es2api/main/remap_helper.h', + script = GLAPI + 'gen/remap_helper.py', + source = GLAPI + 'gen-es/es2_API.xml', + command = python_cmd + ' $SCRIPT -f $SOURCE > $TARGET', + ) + + env.Depends(gles_sources, gles_headers) + + # gles_sources #include gles_headers with full path + env.Append(CPPPATH = [gles_headers[0].dir.up().up()]) + + mesa_sources += gles_sources + # # Assembly sources # |