X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fmesa%2Fmeson.build;h=c0e85cd70a8d366c06e0fa68abd80d7585416b10;hb=627c01977c29d142d5024591bf910a1ed92814c9;hp=665b35e53396b32e9132060a94e950c0ac8ff9a0;hpb=3218056e0eb375eeda470058d06add1532acd6d4;p=mesa.git diff --git a/src/mesa/meson.build b/src/mesa/meson.build index 665b35e5339..c0e85cd70a8 100644 --- a/src/mesa/meson.build +++ b/src/mesa/meson.build @@ -18,16 +18,9 @@ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE # SOFTWARE. -# TODO: main/tests -# TODO: xlib_glx -# TODO: osmesa -# TODO: asm_offsets - subdir('program') subdir('main') -# program files -# program nir files # files shared between classic mesa and gallium mesa files_libmesa_common = files( 'program/arbprogparse.c', @@ -70,8 +63,6 @@ files_libmesa_common = files( 'main/api_exec.h', 'main/api_loopback.c', 'main/api_loopback.h', - 'main/api_validate.c', - 'main/api_validate.h', 'main/arbprogram.c', 'main/arbprogram.h', 'main/arrayobj.c', @@ -101,17 +92,17 @@ files_libmesa_common = files( 'main/colortab.h', 'main/compute.c', 'main/compute.h', - 'main/compiler.h', 'main/condrender.c', 'main/condrender.h', 'main/config.h', + 'main/conservativeraster.c', + 'main/conservativeraster.h', 'main/context.c', 'main/context.h', 'main/convolve.c', 'main/convolve.h', 'main/copyimage.c', 'main/copyimage.h', - 'main/core.h', 'main/cpuinfo.c', 'main/cpuinfo.h', 'main/dd.h', @@ -123,10 +114,14 @@ files_libmesa_common = files( 'main/depth.h', 'main/dlist.c', 'main/dlist.h', + 'main/draw.c', + 'main/draw.h', 'main/drawpix.c', 'main/drawpix.h', 'main/drawtex.c', 'main/drawtex.h', + 'main/draw_validate.c', + 'main/draw_validate.h', 'main/enable.c', 'main/enable.h', 'main/enums.h', @@ -167,8 +162,15 @@ files_libmesa_common = files( 'main/getstring.c', 'main/glformats.c', 'main/glformats.h', + 'main/glspirv.c', + 'main/glspirv.h', 'main/glthread.c', 'main/glthread.h', + 'main/glthread_bufferobj.c', + 'main/glthread_draw.c', + 'main/glthread_marshal.h', + 'main/glthread_shaderobj.c', + 'main/glthread_varray.c', 'main/glheader.h', 'main/hash.c', 'main/hash.h', @@ -178,21 +180,17 @@ files_libmesa_common = files( 'main/histogram.h', 'main/image.c', 'main/image.h', - 'main/imports.c', - 'main/imports.h', + 'main/mesa_private.h', 'main/light.c', 'main/light.h', 'main/lines.c', 'main/lines.h', 'main/macros.h', - 'main/marshal.c', - 'main/marshal.h', 'main/matrix.c', 'main/matrix.h', 'main/mipmap.c', 'main/mipmap.h', - 'main/mm.c', - 'main/mm.h', + 'main/menums.h', 'main/mtypes.h', 'main/multisample.c', 'main/multisample.h', @@ -220,6 +218,8 @@ files_libmesa_common = files( 'main/points.h', 'main/polygon.c', 'main/polygon.h', + 'main/program_binary.c', + 'main/program_binary.h', 'main/program_resource.c', 'main/program_resource.h', 'main/querymatrix.c', @@ -248,6 +248,8 @@ files_libmesa_common = files( 'main/shader_query.cpp', 'main/shared.c', 'main/shared.h', + 'main/spirv_extensions.c', + 'main/spirv_extensions.h', 'main/state.c', 'main/state.h', 'main/stencil.c', @@ -255,6 +257,8 @@ files_libmesa_common = files( 'main/syncobj.c', 'main/syncobj.h', 'main/texcompress.c', + 'main/texcompress_astc.cpp', + 'main/texcompress_astc.h', 'main/texcompress_bptc.c', 'main/texcompress_bptc.h', 'main/texcompress_cpal.c', @@ -328,28 +332,24 @@ files_libmesa_common = files( 'vbo/vbo_attrib.h', 'vbo/vbo_attrib_tmp.h', 'vbo/vbo_context.c', - 'vbo/vbo_context.h', 'vbo/vbo_exec_api.c', - 'vbo/vbo_exec_array.c', 'vbo/vbo_exec.c', 'vbo/vbo_exec_draw.c', 'vbo/vbo_exec_eval.c', 'vbo/vbo_exec.h', 'vbo/vbo.h', + 'vbo/vbo_init_tmp.h', 'vbo/vbo_minmax_index.c', 'vbo/vbo_noop.c', 'vbo/vbo_noop.h', 'vbo/vbo_primitive_restart.c', - 'vbo/vbo_rebase.c', 'vbo/vbo_save_api.c', 'vbo/vbo_save.c', 'vbo/vbo_save_draw.c', 'vbo/vbo_save.h', 'vbo/vbo_save_loopback.c', - 'vbo/vbo_split.c', - 'vbo/vbo_split_copy.c', - 'vbo/vbo_split.h', - 'vbo/vbo_split_inplace.c', + 'vbo/vbo_util.h', + 'x86/common_x86.c', ) # mesa files @@ -367,6 +367,11 @@ files_libmesa_classic = files( 'tnl/tnl.h', 'tnl/t_pipeline.c', 'tnl/t_pipeline.h', + 'tnl/t_rebase.c', + 'tnl/t_split.c', + 'tnl/t_split_copy.c', + 'tnl/t_split.h', + 'tnl/t_split_inplace.c', 'tnl/t_vb_cliptmp.h', 'tnl/t_vb_fog.c', 'tnl/t_vb_light.c', @@ -454,10 +459,8 @@ files_libmesa_classic = files( 'drivers/common/driverfuncs.h', 'drivers/common/meta_blit.c', 'drivers/common/meta_generate_mipmap.c', - 'drivers/common/meta_tex_subimage.c', 'drivers/common/meta.c', 'drivers/common/meta.h', - 'x86/common_x86.c', 'x86/x86_xform.c', 'x86/3dnow.c', 'x86/sse.c', @@ -467,24 +470,147 @@ files_libmesa_classic = files( 'x86-64/x86-64.c', ) -# TODO: sse41 -libmesa_sse41 = [] +files_libmesa_gallium = files( + 'state_tracker/st_atifs_to_tgsi.c', + 'state_tracker/st_atifs_to_tgsi.h', + 'state_tracker/st_atom_array.c', + 'state_tracker/st_atom_atomicbuf.c', + 'state_tracker/st_atom_blend.c', + 'state_tracker/st_atom.c', + 'state_tracker/st_atom_clip.c', + 'state_tracker/st_atom_constbuf.c', + 'state_tracker/st_atom_constbuf.h', + 'state_tracker/st_atom_depth.c', + 'state_tracker/st_atom_framebuffer.c', + 'state_tracker/st_atom.h', + 'state_tracker/st_atom_list.h', + 'state_tracker/st_atom_image.c', + 'state_tracker/st_atom_msaa.c', + 'state_tracker/st_atom_pixeltransfer.c', + 'state_tracker/st_atom_rasterizer.c', + 'state_tracker/st_atom_sampler.c', + 'state_tracker/st_atom_scissor.c', + 'state_tracker/st_atom_shader.c', + 'state_tracker/st_atom_stipple.c', + 'state_tracker/st_atom_storagebuf.c', + 'state_tracker/st_atom_tess.c', + 'state_tracker/st_atom_texture.c', + 'state_tracker/st_atom_viewport.c', + 'state_tracker/st_cb_bitmap.c', + 'state_tracker/st_cb_bitmap.h', + 'state_tracker/st_cb_bitmap_shader.c', + 'state_tracker/st_cb_blit.c', + 'state_tracker/st_cb_blit.h', + 'state_tracker/st_cb_bufferobjects.c', + 'state_tracker/st_cb_bufferobjects.h', + 'state_tracker/st_cb_clear.c', + 'state_tracker/st_cb_clear.h', + 'state_tracker/st_cb_compute.c', + 'state_tracker/st_cb_compute.h', + 'state_tracker/st_cb_condrender.c', + 'state_tracker/st_cb_condrender.h', + 'state_tracker/st_cb_copyimage.c', + 'state_tracker/st_cb_copyimage.h', + 'state_tracker/st_cb_drawpixels.c', + 'state_tracker/st_cb_drawpixels.h', + 'state_tracker/st_cb_drawpixels_shader.c', + 'state_tracker/st_cb_drawtex.c', + 'state_tracker/st_cb_drawtex.h', + 'state_tracker/st_cb_eglimage.c', + 'state_tracker/st_cb_eglimage.h', + 'state_tracker/st_cb_fbo.c', + 'state_tracker/st_cb_fbo.h', + 'state_tracker/st_cb_feedback.c', + 'state_tracker/st_cb_feedback.h', + 'state_tracker/st_cb_flush.c', + 'state_tracker/st_cb_flush.h', + 'state_tracker/st_cb_memoryobjects.c', + 'state_tracker/st_cb_memoryobjects.h', + 'state_tracker/st_cb_msaa.c', + 'state_tracker/st_cb_msaa.h', + 'state_tracker/st_cb_perfmon.c', + 'state_tracker/st_cb_perfmon.h', + 'state_tracker/st_cb_perfquery.c', + 'state_tracker/st_cb_perfquery.h', + 'state_tracker/st_cb_program.c', + 'state_tracker/st_cb_program.h', + 'state_tracker/st_cb_queryobj.c', + 'state_tracker/st_cb_queryobj.h', + 'state_tracker/st_cb_rasterpos.c', + 'state_tracker/st_cb_rasterpos.h', + 'state_tracker/st_cb_readpixels.c', + 'state_tracker/st_cb_readpixels.h', + 'state_tracker/st_cb_strings.c', + 'state_tracker/st_cb_strings.h', + 'state_tracker/st_cb_semaphoreobjects.c', + 'state_tracker/st_cb_semaphoreobjects.h', + 'state_tracker/st_cb_syncobj.c', + 'state_tracker/st_cb_syncobj.h', + 'state_tracker/st_cb_texturebarrier.c', + 'state_tracker/st_cb_texturebarrier.h', + 'state_tracker/st_cb_texture.c', + 'state_tracker/st_cb_texture.h', + 'state_tracker/st_cb_viewport.c', + 'state_tracker/st_cb_viewport.h', + 'state_tracker/st_cb_xformfb.c', + 'state_tracker/st_cb_xformfb.h', + 'state_tracker/st_context.c', + 'state_tracker/st_context.h', + 'state_tracker/st_copytex.c', + 'state_tracker/st_copytex.h', + 'state_tracker/st_debug.c', + 'state_tracker/st_debug.h', + 'state_tracker/st_draw.c', + 'state_tracker/st_draw_feedback.c', + 'state_tracker/st_draw.h', + 'state_tracker/st_extensions.c', + 'state_tracker/st_extensions.h', + 'state_tracker/st_format.c', + 'state_tracker/st_format.h', + 'state_tracker/st_gen_mipmap.c', + 'state_tracker/st_gen_mipmap.h', + 'state_tracker/st_gl_api.h', + 'state_tracker/st_glsl_to_ir.cpp', + 'state_tracker/st_glsl_to_ir.h', + 'state_tracker/st_glsl_to_nir.cpp', + 'state_tracker/st_glsl_to_tgsi.cpp', + 'state_tracker/st_glsl_to_tgsi.h', + 'state_tracker/st_glsl_to_tgsi_array_merge.cpp', + 'state_tracker/st_glsl_to_tgsi_array_merge.h', + 'state_tracker/st_glsl_to_tgsi_private.cpp', + 'state_tracker/st_glsl_to_tgsi_private.h', + 'state_tracker/st_glsl_to_tgsi_temprename.cpp', + 'state_tracker/st_glsl_to_tgsi_temprename.h', + 'state_tracker/st_manager.c', + 'state_tracker/st_manager.h', + 'state_tracker/st_mesa_to_tgsi.c', + 'state_tracker/st_mesa_to_tgsi.h', + 'state_tracker/st_nir.h', + 'state_tracker/st_nir_builtins.c', + 'state_tracker/st_nir_lower_builtin.c', + 'state_tracker/st_nir_lower_tex_src_plane.c', + 'state_tracker/st_pbo.c', + 'state_tracker/st_pbo.h', + 'state_tracker/st_program.c', + 'state_tracker/st_program.h', + 'state_tracker/st_sampler_view.c', + 'state_tracker/st_sampler_view.h', + 'state_tracker/st_scissor.c', + 'state_tracker/st_scissor.h', + 'state_tracker/st_shader_cache.c', + 'state_tracker/st_shader_cache.h', + 'state_tracker/st_texture.c', + 'state_tracker/st_texture.h', + 'state_tracker/st_tgsi_lower_depth_clamp.c', + 'state_tracker/st_tgsi_lower_depth_clamp.h', + 'state_tracker/st_tgsi_lower_yuv.c', + 'state_tracker/st_tgsi_lower_yuv.h', + 'state_tracker/st_util.h', + 'state_tracker/st_vdpau.c', + 'state_tracker/st_vdpau.h', +) -matypes_h = [] -if with_asm_arch == 'x86' or with_asm_arch == 'x86_64' - gen_matypes = executable( - 'gen_matypes', - 'x86/gen_matypes.c', - c_args : [c_vis_args, c_msvc_compat_args], - include_directories : inc_common, - ) - matypes_h = custom_target( - 'matypes.h', - output : 'matypes.h', - command : [gen_matypes], - capture : true, - ) -endif +inc_libmesa_asm = [] if with_asm_arch == 'x86' files_libmesa_common += files( 'x86/assyntax.h', @@ -515,16 +641,24 @@ if with_asm_arch == 'x86' 'x86/sse_normal.S', 'x86/read_rgba_span_x86.S', ) + inc_libmesa_asm = include_directories('x86') elif with_asm_arch == 'x86_64' files_libmesa_common += files('x86-64/x86-64.h', 'x86-64/xform4.S') + inc_libmesa_asm = include_directories('x86-64') +elif with_asm_arch == 'sparc' + files_libmesa_common += files( + 'sparc/sparc_clip.S', + 'sparc/norm.S', + 'sparc/xform.S', + ) + inc_libmesa_asm = include_directories('sparc') endif -# TODO: sparc format_fallback_c = custom_target( 'format_fallback.c', input : ['main/format_fallback.py', 'main/formats.csv'], output : 'format_fallback.c', - command : [prog_python2, '@INPUT0@', '@INPUT1@', '@OUTPUT@'], + command : [prog_python, '@INPUT0@', '@INPUT1@', '@OUTPUT@'], depend_files : files('main/format_parser.py'), ) @@ -532,7 +666,7 @@ get_hash_h = custom_target( 'get_hash.h', input : ['main/get_hash_generator.py', gl_and_es_api_files], output : 'get_hash.h', - command : [prog_python2, '@INPUT0@', '-f', '@INPUT1@'], + command : [prog_python, '@INPUT0@', '-f', '@INPUT1@'], depend_files : files('main/get_hash_params.py'), capture : true, ) @@ -544,7 +678,7 @@ foreach x : [['format_info.h', 'format_info.py'], x[0], input : ['main/@0@'.format(x[1]), 'main/formats.csv'], output : x[0], - command : [prog_python2, '@INPUT0@', '@INPUT1@'], + command : [prog_python, '@INPUT0@', '@INPUT1@'], depend_files : files('main/format_parser.py'), capture : true, ) @@ -557,26 +691,83 @@ files_libmesa_common += [ main_enums_c, format_fallback_c, get_hash_h, - main_marshal_generated_c, main_marshal_generated_h, main_dispatch_h, ir_expression_operation_h, - nir_opcodes_h, main_remap_helper_h, - matypes_h, + sha1_h, +] + main_marshal_generated_c +files_libmesa_gallium += [ + ir_expression_operation_h, sha1_h, ] +if with_sse41 + libmesa_sse41 = static_library( + 'mesa_sse41', + files('main/streaming-load-memcpy.c', 'main/sse_minmax.c'), + c_args : [c_msvc_compat_args, sse41_args], + include_directories : [inc_include, inc_src, inc_mapi, inc_mesa, inc_gallium, inc_gallium_aux], + gnu_symbol_visibility : 'hidden', + ) +else + libmesa_sse41 = [] +endif + +_mesa_windows_args = [] +if with_platform_windows + _mesa_windows_args += [ + '-D_GDI32_', # prevent gl* being declared __declspec(dllimport) in MS headers + '-DBUILD_GL32' # declare gl* as __declspec(dllexport) in Mesa headers + ] + if not with_shared_glapi + # prevent _glapi_* from being declared __declspec(dllimport) + _mesa_windows_args += '-D_GLAPI_NO_EXPORTS' + endif +endif + +libmesa_common = static_library( + 'mesa_common', + files_libmesa_common, + c_args : [c_msvc_compat_args, _mesa_windows_args], + cpp_args : [cpp_msvc_compat_args, _mesa_windows_args], + gnu_symbol_visibility : 'hidden', + include_directories : [inc_include, inc_src, inc_mapi, inc_mesa, inc_gallium, inc_gallium_aux, inc_libmesa_asm, include_directories('main')], + dependencies : idep_nir_headers, + build_by_default : false, +) + libmesa_classic = static_library( 'mesa_classic', - [files_libmesa_common, files_libmesa_classic], - c_args : [c_vis_args, c_msvc_compat_args], - cpp_args : [cpp_vis_args, cpp_msvc_compat_args], - include_directories : [inc_common, include_directories('main')], - link_with : [libglsl, libmesa_sse41], + files_libmesa_classic, + c_args : [c_msvc_compat_args], + cpp_args : [cpp_msvc_compat_args], + gnu_symbol_visibility : 'hidden', + include_directories : [inc_include, inc_src, inc_mapi, inc_mesa, inc_gallium, inc_gallium_aux, inc_libmesa_asm, include_directories('main')], + link_with : [libmesa_common, libglsl, libmesa_sse41], + dependencies : idep_nir_headers, build_by_default : false, ) -# TODO: gallium +libmesa_gallium = static_library( + 'mesa_gallium', + files_libmesa_gallium, + c_args : [c_msvc_compat_args, _mesa_windows_args], + cpp_args : [cpp_msvc_compat_args, _mesa_windows_args], + gnu_symbol_visibility : 'hidden', + include_directories : [inc_include, inc_src, inc_mapi, inc_mesa, inc_gallium, inc_gallium_aux, inc_libmesa_asm, include_directories('main')], + link_with : [libmesa_common, libglsl, libmesa_sse41], + dependencies : [idep_nir_headers, dep_vdpau], + build_by_default : false, +) subdir('drivers/dri') +if with_osmesa == 'classic' + subdir('drivers/osmesa') +endif +if with_glx == 'xlib' + subdir('drivers/x11') +endif +if with_tests and dri_drivers != [] + subdir('main/tests') +endif