Added few more stubs so that control reaches to DestroyDevice().
[mesa.git] / src / mesa / meson.build
index 66bdc931a58dfcbf36b8a2b498a2783066743f8c..c0e85cd70a8d366c06e0fa68abd80d7585416b10 100644 (file)
@@ -18,8 +18,6 @@
 # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
 # SOFTWARE.
 
-# TODO: main/tests
-
 subdir('program')
 subdir('main')
 
@@ -65,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',
@@ -96,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',
@@ -118,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',
@@ -166,6 +166,11 @@ files_libmesa_common = files(
   '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',
@@ -175,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',
@@ -247,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',
@@ -254,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,26 +333,22 @@ files_libmesa_common = files(
   'vbo/vbo_attrib_tmp.h',
   'vbo/vbo_context.c',
   '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',
 )
 
@@ -366,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',
@@ -485,7 +491,6 @@ files_libmesa_gallium = files(
   'state_tracker/st_atom_sampler.c',
   'state_tracker/st_atom_scissor.c',
   'state_tracker/st_atom_shader.c',
-  'state_tracker/st_atom_shader.h',
   'state_tracker/st_atom_stipple.c',
   'state_tracker/st_atom_storagebuf.c',
   'state_tracker/st_atom_tess.c',
@@ -525,6 +530,8 @@ files_libmesa_gallium = files(
   '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',
@@ -535,6 +542,8 @@ files_libmesa_gallium = files(
   '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',
@@ -561,20 +570,23 @@ files_libmesa_gallium = files(
   '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_glsl_types.cpp',
-  'state_tracker/st_glsl_types.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',
@@ -589,27 +601,16 @@ files_libmesa_gallium = files(
   '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',
@@ -640,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'),
 )
 
@@ -657,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,
 )
@@ -669,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,
   )
@@ -682,12 +691,14 @@ 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,
   main_remap_helper_h,
-  matypes_h,
+  sha1_h,
+] + main_marshal_generated_c
+files_libmesa_gallium += [
+  ir_expression_operation_h,
   sha1_h,
 ]
 
@@ -695,31 +706,57 @@ if with_sse41
   libmesa_sse41 = static_library(
     'mesa_sse41',
     files('main/streaming-load-memcpy.c', 'main/sse_minmax.c'),
-    c_args : [c_vis_args, c_msvc_compat_args, sse41_args],
-    include_directories : inc_common,
+    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,
 )
 
 libmesa_gallium = static_library(
   'mesa_gallium',
-  [files_libmesa_common, files_libmesa_gallium],
-  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_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,
 )
@@ -731,6 +768,6 @@ endif
 if with_glx == 'xlib'
   subdir('drivers/x11')
 endif
-if with_tests
+if with_tests and dri_drivers != []
   subdir('main/tests')
 endif