util: Add helgrind support for simple_mtx

Annoyingly mtypes.h pulls in simple_mtx, which means we end up needing
to sprinkle a lot of idep_mesautil around.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3773
Signed-off-by: Rob Clark <robdclark@chromium.org>
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7644>
This commit is contained in:
Rob Clark
2020-11-17 11:29:52 -08:00
committed by Marge Bot
parent 7f223a2329
commit 53f7d539cd
44 changed files with 81 additions and 35 deletions

View File

@@ -107,7 +107,7 @@ test(
include_directories : [ include_directories : [
inc_amd, inc_gallium, inc_include, inc_src, inc_amd, inc_gallium, inc_include, inc_src,
], ],
dependencies: [idep_amdgfxregs_h, dep_libdrm_amdgpu], dependencies: [idep_amdgfxregs_h, dep_libdrm_amdgpu, idep_mesautil],
), ),
suite: ['amd'] suite: ['amd']
) )

View File

@@ -60,6 +60,7 @@ libglcpp_standalone = static_library(
'glcpp_standalone', 'glcpp_standalone',
'pp_standalone_scaffolding.c', 'pp_standalone_scaffolding.c',
link_with : libglcpp, link_with : libglcpp,
dependencies : idep_mesautil,
include_directories : [inc_include, inc_src, inc_mapi, inc_mesa, inc_gallium, inc_gallium_aux], include_directories : [inc_include, inc_src, inc_mapi, inc_mesa, inc_gallium, inc_gallium_aux],
c_args : [no_override_init_args, c_msvc_compat_args, _extra_args], c_args : [no_override_init_args, c_msvc_compat_args, _extra_args],
cpp_args : [cpp_msvc_compat_args, _extra_args], cpp_args : [cpp_msvc_compat_args, _extra_args],

View File

@@ -254,7 +254,7 @@ glsl_compiler = executable(
c_args : [c_msvc_compat_args, no_override_init_args], c_args : [c_msvc_compat_args, no_override_init_args],
cpp_args : [cpp_msvc_compat_args], cpp_args : [cpp_msvc_compat_args],
gnu_symbol_visibility : 'hidden', gnu_symbol_visibility : 'hidden',
dependencies : [dep_clock, dep_thread, idep_getopt], dependencies : [dep_clock, dep_thread, idep_getopt, idep_mesautil],
include_directories : [inc_include, inc_src, inc_mapi, inc_mesa, inc_gallium, inc_gallium_aux], include_directories : [inc_include, inc_src, inc_mapi, inc_mesa, inc_gallium, inc_gallium_aux],
link_with : [libglsl_standalone], link_with : [libglsl_standalone],
build_by_default : with_tools.contains('glsl'), build_by_default : with_tools.contains('glsl'),
@@ -269,7 +269,7 @@ glsl_test = executable(
cpp_args : [cpp_msvc_compat_args], cpp_args : [cpp_msvc_compat_args],
gnu_symbol_visibility : 'hidden', gnu_symbol_visibility : 'hidden',
include_directories : [inc_include, inc_src, inc_mapi, inc_mesa, inc_gallium, inc_gallium_aux], include_directories : [inc_include, inc_src, inc_mapi, inc_mesa, inc_gallium, inc_gallium_aux],
dependencies : [dep_clock, dep_thread, idep_getopt], dependencies : [dep_clock, dep_thread, idep_getopt, idep_mesautil],
link_with : [libglsl, libglsl_standalone, libglsl_util], link_with : [libglsl, libglsl_standalone, libglsl_util],
build_by_default : with_tools.contains('glsl'), build_by_default : with_tools.contains('glsl'),
install : with_tools.contains('glsl'), install : with_tools.contains('glsl'),

View File

@@ -327,6 +327,7 @@ _libnir = static_library(
include_directories : [inc_include, inc_src, inc_mapi, inc_mesa, inc_gallium, inc_gallium_aux, inc_compiler, include_directories('../spirv')], include_directories : [inc_include, inc_src, inc_mapi, inc_mesa, inc_gallium, inc_gallium_aux, inc_compiler, include_directories('../spirv')],
c_args : [c_msvc_compat_args, no_override_init_args, _libnir_args], c_args : [c_msvc_compat_args, no_override_init_args, _libnir_args],
gnu_symbol_visibility : 'hidden', gnu_symbol_visibility : 'hidden',
dependencies : dep_valgrind,
link_with : libcompiler, link_with : libcompiler,
build_by_default : false, build_by_default : false,
) )
@@ -339,7 +340,7 @@ idep_nir_headers = declare_dependency(
# Also link with nir # Also link with nir
idep_nir = declare_dependency( idep_nir = declare_dependency(
dependencies : idep_nir_headers, dependencies : [idep_nir_headers, idep_mesautil],
link_with : _libnir, link_with : _libnir,
) )

View File

@@ -28,7 +28,7 @@ libfreedreno_layout = static_library(
include_directories : [inc_freedreno, inc_include, inc_src, inc_mapi, inc_mesa, inc_gallium, inc_gallium_aux], include_directories : [inc_freedreno, inc_include, inc_src, inc_mapi, inc_mesa, inc_gallium, inc_gallium_aux],
c_args : [no_override_init_args], c_args : [no_override_init_args],
gnu_symbol_visibility : 'hidden', gnu_symbol_visibility : 'hidden',
dependencies : idep_nir_headers, dependencies : [idep_nir_headers, idep_mesautil],
build_by_default : false, build_by_default : false,
) )

View File

@@ -112,7 +112,7 @@ libfreedreno_ir3 = static_library(
include_directories : [inc_freedreno, inc_include, inc_src, inc_mapi, inc_mesa, inc_gallium, inc_gallium_aux], include_directories : [inc_freedreno, inc_include, inc_src, inc_mapi, inc_mesa, inc_gallium, inc_gallium_aux],
c_args : [no_override_init_args], c_args : [no_override_init_args],
gnu_symbol_visibility : 'hidden', gnu_symbol_visibility : 'hidden',
dependencies : [idep_nir_headers, dep_dl], dependencies : [idep_nir_headers, dep_dl, idep_mesautil],
build_by_default : false, build_by_default : false,
) )

View File

@@ -42,7 +42,7 @@ libfreedreno_rnn = static_library(
'-DRNN_DEF_PATH="' + rnn_path + '"', '-DRNN_DEF_PATH="' + rnn_path + '"',
], ],
gnu_symbol_visibility: 'hidden', gnu_symbol_visibility: 'hidden',
dependencies: [ dep_libxml2 ], dependencies: [ dep_libxml2, idep_mesautil ],
build_by_default: false, build_by_default: false,
) )

View File

@@ -519,6 +519,7 @@ libgalliumvl_stub = static_library(
cpp_args : [cpp_msvc_compat_args], cpp_args : [cpp_msvc_compat_args],
gnu_symbol_visibility : 'hidden', gnu_symbol_visibility : 'hidden',
include_directories: [inc_gallium, inc_include, inc_src], include_directories: [inc_gallium, inc_include, inc_src],
dependencies : idep_mesautil,
build_by_default : false, build_by_default : false,
) )
@@ -529,6 +530,7 @@ libgalliumvl = static_library(
cpp_args : [cpp_msvc_compat_args], cpp_args : [cpp_msvc_compat_args],
gnu_symbol_visibility : 'hidden', gnu_symbol_visibility : 'hidden',
include_directories : [inc_gallium, inc_include, inc_src], include_directories : [inc_gallium, inc_include, inc_src],
dependencies : idep_mesautil,
build_by_default : false, build_by_default : false,
) )
@@ -537,6 +539,6 @@ libgalliumvlwinsys = static_library(
'galliumvlwinsys', 'galliumvlwinsys',
files_libgalliumvlwinsys, files_libgalliumvlwinsys,
include_directories : [inc_gallium, inc_include, inc_loader, inc_src], include_directories : [inc_gallium, inc_include, inc_loader, inc_src],
dependencies : [dep_libdrm, vlwinsys_deps], dependencies : [dep_libdrm, vlwinsys_deps, idep_mesautil],
build_by_default : false, build_by_default : false,
) )

View File

@@ -53,7 +53,7 @@ libpipe_loader_static = static_library(
c_args : [libpipe_loader_defines, '-DGALLIUM_STATIC_TARGETS=1'], c_args : [libpipe_loader_defines, '-DGALLIUM_STATIC_TARGETS=1'],
gnu_symbol_visibility : 'hidden', gnu_symbol_visibility : 'hidden',
link_with : [libpipe_loader_links], link_with : [libpipe_loader_links],
dependencies : [dep_libdrm, idep_xmlconfig], dependencies : [dep_libdrm, idep_xmlconfig, idep_mesautil],
build_by_default : false, build_by_default : false,
) )

View File

@@ -240,7 +240,12 @@ libfreedreno = static_library(
c_args : [freedreno_c_args], c_args : [freedreno_c_args],
cpp_args : [freedreno_cpp_args], cpp_args : [freedreno_cpp_args],
gnu_symbol_visibility : 'hidden', gnu_symbol_visibility : 'hidden',
dependencies : [dep_libdrm, idep_nir_headers, idep_libfreedreno_common], dependencies : [
dep_libdrm,
idep_mesautil,
idep_nir_headers,
idep_libfreedreno_common
],
) )
driver_freedreno = declare_dependency( driver_freedreno = declare_dependency(

View File

@@ -103,7 +103,7 @@ libllvmpipe = static_library(
cpp_args : [cpp_msvc_compat_args], cpp_args : [cpp_msvc_compat_args],
gnu_symbol_visibility : 'hidden', gnu_symbol_visibility : 'hidden',
include_directories : [inc_gallium, inc_gallium_aux, inc_include, inc_src], include_directories : [inc_gallium, inc_gallium_aux, inc_include, inc_src],
dependencies : [ dep_llvm, idep_nir_headers, ], dependencies : [ dep_llvm, idep_nir_headers, idep_mesautil ],
) )
# This overwrites the softpipe driver dependency, but itself depends on the # This overwrites the softpipe driver dependency, but itself depends on the
@@ -111,7 +111,7 @@ libllvmpipe = static_library(
driver_swrast = declare_dependency( driver_swrast = declare_dependency(
compile_args : '-DGALLIUM_LLVMPIPE', compile_args : '-DGALLIUM_LLVMPIPE',
link_with : libllvmpipe, link_with : libllvmpipe,
dependencies : [driver_swrast, dep_llvm], dependencies : [driver_swrast, dep_llvm, idep_mesautil],
) )
if with_tests and with_gallium_softpipe and with_llvm if with_tests and with_gallium_softpipe and with_llvm

View File

@@ -231,7 +231,7 @@ libnouveau = static_library(
inc_src, inc_include, inc_gallium, inc_gallium_aux, inc_mapi, inc_mesa, inc_src, inc_include, inc_gallium, inc_gallium_aux, inc_mapi, inc_mesa,
], ],
gnu_symbol_visibility : 'hidden', gnu_symbol_visibility : 'hidden',
dependencies : [dep_libdrm, dep_libdrm_nouveau, idep_nir_headers], dependencies : [dep_libdrm, dep_libdrm_nouveau, idep_mesautil, idep_nir_headers],
) )
nouveau_compiler = executable( nouveau_compiler = executable(

View File

@@ -64,6 +64,7 @@ libpanfrost = static_library(
dependencies: [ dependencies: [
dep_thread, dep_thread,
dep_libdrm, dep_libdrm,
idep_mesautil,
idep_nir, idep_nir,
idep_midgard_pack idep_midgard_pack
], ],

View File

@@ -55,5 +55,8 @@ libdri = static_library(
], ],
c_args : [libdri_c_args], c_args : [libdri_c_args],
gnu_symbol_visibility : 'hidden', gnu_symbol_visibility : 'hidden',
dependencies : dep_libdrm, dependencies : [
dep_libdrm,
idep_mesautil,
],
) )

View File

@@ -37,6 +37,6 @@ libva_st = static_library(
include_directories : [inc_include, inc_src, inc_mapi, inc_mesa, inc_gallium, inc_gallium_aux], include_directories : [inc_include, inc_src, inc_mapi, inc_mesa, inc_gallium, inc_gallium_aux],
dependencies : [ dependencies : [
dep_va_headers, dep_x11_xcb, dep_xcb, dep_xcb_dri2, dep_xcb_dri3, dep_va_headers, dep_x11_xcb, dep_xcb, dep_xcb_dri2, dep_xcb_dri3,
dep_libdrm, dep_libdrm, idep_mesautil,
], ],
) )

View File

@@ -35,5 +35,5 @@ libvdpau_st = static_library(
include_directories : [ include_directories : [
inc_include, inc_src, inc_util, inc_gallium, inc_gallium_aux, inc_include, inc_src, inc_util, inc_gallium, inc_gallium_aux,
], ],
dependencies : [dep_vdpau, dep_xcb, dep_x11_xcb, dep_xcb_dri2, dep_libdrm], dependencies : [dep_vdpau, dep_xcb, dep_x11_xcb, dep_xcb_dri2, dep_libdrm, idep_mesautil],
) )

View File

@@ -40,6 +40,7 @@ libxa_st = static_library(
)], )],
c_args : ['-pedantic'], c_args : ['-pedantic'],
gnu_symbol_visibility : 'hidden', gnu_symbol_visibility : 'hidden',
dependencies : idep_mesautil,
include_directories : [inc_include, inc_src, inc_mapi, inc_mesa, inc_gallium, inc_gallium_aux], include_directories : [inc_include, inc_src, inc_mapi, inc_mesa, inc_gallium, inc_gallium_aux],
) )

View File

@@ -28,7 +28,7 @@ libxvmc_st = static_library(
include_directories : [inc_include, inc_src, inc_mapi, inc_mesa, inc_gallium, inc_gallium_aux], include_directories : [inc_include, inc_src, inc_mapi, inc_mesa, inc_gallium, inc_gallium_aux],
dependencies : [ dependencies : [
dep_xvmc, dep_x11_xcb, dep_xcb, dep_xcb_dri2, dep_xcb_dri3, dep_xv, dep_xvmc, dep_x11_xcb, dep_xcb, dep_xcb_dri2, dep_xcb_dri3, dep_xv,
dep_libdrm, dep_libdrm, idep_mesautil,
], ],
) )

View File

@@ -29,5 +29,8 @@ libfreedrenowinsys = static_library(
inc_freedreno, inc_freedreno,
], ],
gnu_symbol_visibility : 'hidden', gnu_symbol_visibility : 'hidden',
dependencies : [dep_libdrm], dependencies : [
dep_libdrm,
idep_mesautil,
],
) )

View File

@@ -25,5 +25,5 @@ libnouveauwinsys = static_library(
inc_src, inc_include, inc_gallium, inc_gallium_aux, inc_gallium_drivers, inc_src, inc_include, inc_gallium, inc_gallium_aux, inc_gallium_drivers,
], ],
gnu_symbol_visibility : 'hidden', gnu_symbol_visibility : 'hidden',
dependencies : [dep_libdrm_nouveau], dependencies : [dep_libdrm_nouveau, idep_mesautil],
) )

View File

@@ -24,4 +24,5 @@ libswdri = static_library(
files('dri_sw_winsys.c', 'dri_sw_winsys.h'), files('dri_sw_winsys.c', 'dri_sw_winsys.h'),
gnu_symbol_visibility : 'hidden', gnu_symbol_visibility : 'hidden',
include_directories : [inc_gallium, inc_include, inc_src, inc_gallium_aux], include_directories : [inc_gallium, inc_include, inc_src, inc_gallium_aux],
dependencies : idep_mesautil,
) )

View File

@@ -24,5 +24,5 @@ libswkmsdri = static_library(
files('kms_dri_sw_winsys.c', 'kms_dri_sw_winsys.h'), files('kms_dri_sw_winsys.c', 'kms_dri_sw_winsys.h'),
gnu_symbol_visibility : 'hidden', gnu_symbol_visibility : 'hidden',
include_directories : [inc_gallium, inc_include, inc_src, inc_gallium_aux], include_directories : [inc_gallium, inc_include, inc_src, inc_gallium_aux],
dependencies : dep_libdrm, dependencies : [dep_libdrm, idep_mesautil],
) )

View File

@@ -23,5 +23,6 @@ libws_null = static_library(
files('null_sw_winsys.c', 'null_sw_winsys.h'), files('null_sw_winsys.c', 'null_sw_winsys.h'),
gnu_symbol_visibility : 'hidden', gnu_symbol_visibility : 'hidden',
include_directories : [inc_gallium, inc_src, inc_gallium_aux, inc_include], include_directories : [inc_gallium, inc_src, inc_gallium_aux, inc_include],
dependencies : idep_mesautil,
build_by_default : false, build_by_default : false,
) )

View File

@@ -23,5 +23,6 @@ libwsw = static_library(
files('wrapper_sw_winsys.c', 'wrapper_sw_winsys.h'), files('wrapper_sw_winsys.c', 'wrapper_sw_winsys.h'),
gnu_symbol_visibility : 'hidden', gnu_symbol_visibility : 'hidden',
include_directories : [inc_gallium, inc_include, inc_src, inc_gallium_aux], include_directories : [inc_gallium, inc_include, inc_src, inc_gallium_aux],
dependencies : idep_mesautil,
build_by_default : false, build_by_default : false,
) )

View File

@@ -32,6 +32,7 @@ endif
libvc4winsys = static_library( libvc4winsys = static_library(
'vc4winsys', 'vc4winsys',
files('vc4_drm_winsys.c'), files('vc4_drm_winsys.c'),
dependencies : idep_mesautil,
include_directories : [ include_directories : [
inc_src, inc_include, inc_src, inc_include,
inc_gallium, inc_gallium_aux, inc_gallium_drivers, inc_gallium_winsys, inc_gallium, inc_gallium_aux, inc_gallium_drivers, inc_gallium_winsys,

View File

@@ -34,5 +34,5 @@ libblorp = static_library(
include_directories : [inc_include, inc_src, inc_mapi, inc_mesa, inc_gallium, inc_intel], include_directories : [inc_include, inc_src, inc_mapi, inc_mesa, inc_gallium, inc_intel],
c_args : [no_override_init_args], c_args : [no_override_init_args],
gnu_symbol_visibility : 'hidden', gnu_symbol_visibility : 'hidden',
dependencies : [idep_nir_headers, idep_genxml], dependencies : [idep_nir_headers, idep_genxml, idep_mesautil],
) )

View File

@@ -48,7 +48,7 @@ libintel_common = static_library(
c_args : [no_override_init_args], c_args : [no_override_init_args],
gnu_symbol_visibility : 'hidden', gnu_symbol_visibility : 'hidden',
link_with : [libisl], link_with : [libisl],
dependencies : [dep_expat, dep_libdrm, dep_thread, idep_genxml], dependencies : [dep_expat, dep_libdrm, dep_thread, idep_genxml, idep_mesautil],
) )
libintel_extra_dependencies = [] libintel_extra_dependencies = []

View File

@@ -145,7 +145,7 @@ libintel_compiler = static_library(
include_directories : [inc_include, inc_src, inc_mapi, inc_mesa, inc_gallium, inc_intel], include_directories : [inc_include, inc_src, inc_mapi, inc_mesa, inc_gallium, inc_intel],
c_args : [no_override_init_args], c_args : [no_override_init_args],
gnu_symbol_visibility : 'hidden', gnu_symbol_visibility : 'hidden',
dependencies : idep_nir_headers, dependencies : [idep_nir_headers, idep_mesautil],
build_by_default : false, build_by_default : false,
) )

View File

@@ -31,6 +31,7 @@ libintel_dev = static_library(
['intel_dev'], ['intel_dev'],
[files_libintel_dev, sha1_h], [files_libintel_dev, sha1_h],
include_directories : [inc_include, inc_src, inc_intel], include_directories : [inc_include, inc_src, inc_intel],
dependencies : idep_mesautil,
c_args : [no_override_init_args], c_args : [no_override_init_args],
gnu_symbol_visibility : 'hidden', gnu_symbol_visibility : 'hidden',
) )

View File

@@ -62,6 +62,7 @@ foreach g : [['40', isl_gen4_files], ['50', []], ['60', isl_gen6_files],
'isl_gen@0@'.format(_gen), 'isl_gen@0@'.format(_gen),
[g[1], isl_gen_files, gen_xml_pack], [g[1], isl_gen_files, gen_xml_pack],
include_directories : [inc_include, inc_src, inc_gallium, inc_intel], include_directories : [inc_include, inc_src, inc_gallium, inc_intel],
dependencies : idep_mesautil,
c_args : [ c_args : [
no_override_init_args, no_override_init_args,
'-DGEN_VERSIONx10=@0@'.format(_gen) '-DGEN_VERSIONx10=@0@'.format(_gen)
@@ -91,6 +92,7 @@ isl_tiled_memcpy = static_library(
include_directories : [ include_directories : [
inc_include, inc_src, inc_mesa, inc_gallium, inc_intel, inc_include, inc_src, inc_mesa, inc_gallium, inc_intel,
], ],
dependencies : idep_mesautil,
c_args : [no_override_init_args, '-msse2'], c_args : [no_override_init_args, '-msse2'],
gnu_symbol_visibility : 'hidden', gnu_symbol_visibility : 'hidden',
extra_files : ['isl_tiled_memcpy.c'] extra_files : ['isl_tiled_memcpy.c']
@@ -103,6 +105,7 @@ if with_sse41
include_directories : [ include_directories : [
inc_include, inc_src, inc_mesa, inc_gallium, inc_intel, inc_include, inc_src, inc_mesa, inc_gallium, inc_intel,
], ],
dependencies : idep_mesautil,
link_args : ['-Wl,--exclude-libs=ALL'], link_args : ['-Wl,--exclude-libs=ALL'],
c_args : [no_override_init_args, '-msse2', sse41_args], c_args : [no_override_init_args, '-msse2', sse41_args],
gnu_symbol_visibility : 'hidden', gnu_symbol_visibility : 'hidden',
@@ -128,6 +131,7 @@ libisl = static_library(
[libisl_files, isl_format_layout_c, genX_bits_h], [libisl_files, isl_format_layout_c, genX_bits_h],
include_directories : [inc_include, inc_src, inc_mapi, inc_mesa, inc_gallium, inc_intel], include_directories : [inc_include, inc_src, inc_mapi, inc_mesa, inc_gallium, inc_intel],
link_with : [isl_gen_libs, isl_tiled_memcpy, isl_tiled_memcpy_sse41], link_with : [isl_gen_libs, isl_tiled_memcpy, isl_tiled_memcpy_sse41],
dependencies : idep_mesautil,
c_args : [no_override_init_args], c_args : [no_override_init_args],
gnu_symbol_visibility : 'hidden', gnu_symbol_visibility : 'hidden',
) )

View File

@@ -25,7 +25,7 @@ libdricommon = static_library(
files('utils.c', 'utils.h', 'dri_util.c', 'dri_util.h'), files('utils.c', 'utils.h', 'dri_util.c', 'dri_util.h'),
include_directories : [inc_include, inc_src, inc_mapi, inc_mesa, inc_gallium, inc_gallium_aux, inc_util], include_directories : [inc_include, inc_src, inc_mapi, inc_mesa, inc_gallium, inc_gallium_aux, inc_util],
gnu_symbol_visibility : 'hidden', gnu_symbol_visibility : 'hidden',
dependencies : dep_libdrm, dependencies : [dep_libdrm, idep_mesautil],
build_by_default : false, build_by_default : false,
) )

View File

@@ -90,5 +90,5 @@ libi915 = static_library(
include_directories : [inc_include, inc_src, inc_mapi, inc_mesa, inc_gallium, inc_gallium_aux, inc_dri_common, inc_util], include_directories : [inc_include, inc_src, inc_mapi, inc_mesa, inc_gallium, inc_gallium_aux, inc_dri_common, inc_util],
c_args : [no_override_init_args], c_args : [no_override_init_args],
gnu_symbol_visibility : 'hidden', gnu_symbol_visibility : 'hidden',
dependencies : [dep_libdrm, dep_libdrm_intel], dependencies : [dep_libdrm, dep_libdrm_intel, idep_mesautil],
) )

View File

@@ -142,7 +142,7 @@ foreach v : ['40', '45', '50', '60', '70', '75', '80', '90', '110']
'-DGEN_VERSIONx10=@0@'.format(v), '-DGEN_VERSIONx10=@0@'.format(v),
], ],
gnu_symbol_visibility : 'hidden', gnu_symbol_visibility : 'hidden',
dependencies : [dep_libdrm, idep_nir_headers], dependencies : [dep_libdrm, idep_nir_headers, idep_mesautil],
) )
endforeach endforeach

View File

@@ -84,5 +84,5 @@ libnouveau_vieux = static_library(
files_nouveau_vieux, files_nouveau_vieux,
include_directories : [inc_include, inc_src, inc_mapi, inc_mesa, inc_gallium, inc_gallium_aux, inc_dri_common, inc_util], include_directories : [inc_include, inc_src, inc_mapi, inc_mesa, inc_gallium, inc_gallium_aux, inc_dri_common, inc_util],
gnu_symbol_visibility : 'hidden', gnu_symbol_visibility : 'hidden',
dependencies : [dep_libdrm, dep_libdrm_nouveau], dependencies : [dep_libdrm, dep_libdrm_nouveau, idep_mesautil],
) )

View File

@@ -84,5 +84,5 @@ libr200 = static_library(
], ],
c_args : ['-DRADEON_R200'], c_args : ['-DRADEON_R200'],
gnu_symbol_visibility : 'hidden', gnu_symbol_visibility : 'hidden',
dependencies : [dep_libdrm, dep_libdrm_radeon], dependencies : [dep_libdrm, dep_libdrm_radeon, idep_mesautil],
) )

View File

@@ -80,5 +80,5 @@ libr100 = static_library(
], ],
c_args : ['-DRADEON_R100'], c_args : ['-DRADEON_R100'],
gnu_symbol_visibility : 'hidden', gnu_symbol_visibility : 'hidden',
dependencies : [dep_libdrm, dep_libdrm_radeon], dependencies : [dep_libdrm, dep_libdrm_radeon, idep_mesautil],
) )

View File

@@ -731,7 +731,7 @@ libmesa_common = static_library(
cpp_args : [cpp_msvc_compat_args, _mesa_windows_args], cpp_args : [cpp_msvc_compat_args, _mesa_windows_args],
gnu_symbol_visibility : 'hidden', 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')], 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, dependencies : [idep_nir_headers, idep_mesautil],
build_by_default : false, build_by_default : false,
) )
@@ -743,7 +743,7 @@ libmesa_classic = static_library(
gnu_symbol_visibility : 'hidden', 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')], 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], link_with : [libmesa_common, libglsl, libmesa_sse41],
dependencies : idep_nir_headers, dependencies : [idep_nir_headers, idep_mesautil],
build_by_default : false, build_by_default : false,
) )
@@ -755,7 +755,7 @@ libmesa_gallium = static_library(
gnu_symbol_visibility : 'hidden', 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')], 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], link_with : [libmesa_common, libglsl, libmesa_sse41],
dependencies : [idep_nir_headers, dep_vdpau], dependencies : [idep_nir_headers, dep_vdpau, idep_mesautil],
build_by_default : false, build_by_default : false,
) )

View File

@@ -35,6 +35,7 @@ libglsl_util = static_library(
'mesa/program/dummy_errors.c', 'mesa/program/dummy_errors.c',
), ),
include_directories : [inc_include, inc_src, inc_mapi, inc_mesa, inc_gallium, inc_gallium_aux], include_directories : [inc_include, inc_src, inc_mapi, inc_mesa, inc_gallium, inc_gallium_aux],
dependencies : dep_valgrind,
gnu_symbol_visibility : 'hidden', gnu_symbol_visibility : 'hidden',
build_by_default : false, build_by_default : false,
) )

View File

@@ -69,6 +69,7 @@ libpanfrost_decode = static_library(
'panfrost_decode', 'panfrost_decode',
[libpanfrost_decode_files, midgard_pack], [libpanfrost_decode_files, midgard_pack],
include_directories : [inc_include, inc_src, inc_mapi, inc_mesa, inc_gallium, inc_gallium_aux, inc_panfrost], include_directories : [inc_include, inc_src, inc_mapi, inc_mesa, inc_gallium, inc_gallium_aux, inc_panfrost],
dependencies : idep_mesautil,
c_args : [no_override_init_args], c_args : [no_override_init_args],
gnu_symbol_visibility : 'hidden', gnu_symbol_visibility : 'hidden',
build_by_default : false, build_by_default : false,

View File

@@ -31,6 +31,7 @@ libpanfrost_shared = static_library(
'panfrost_shared', 'panfrost_shared',
[libpanfrost_shared_files], [libpanfrost_shared_files],
include_directories : [inc_include, inc_src, inc_mapi, inc_mesa, inc_gallium, inc_gallium_aux], include_directories : [inc_include, inc_src, inc_mapi, inc_mesa, inc_gallium, inc_gallium_aux],
dependencies : idep_mesautil,
c_args : [no_override_init_args, '-O3'], c_args : [no_override_init_args, '-O3'],
gnu_symbol_visibility : 'hidden', gnu_symbol_visibility : 'hidden',
build_by_default : false, build_by_default : false,

View File

@@ -53,7 +53,9 @@ libmesa_format = static_library(
'mesa_format', 'mesa_format',
[files_mesa_format, u_format_table_c, u_format_pack_h], [files_mesa_format, u_format_table_c, u_format_pack_h],
include_directories : [inc_include, inc_src, inc_mapi, inc_mesa, inc_gallium, inc_gallium_aux], include_directories : [inc_include, inc_src, inc_mapi, inc_mesa, inc_gallium, inc_gallium_aux],
dependencies : dep_m, # NOTE dep_valgrind used here instead of idep_mesautil due to chicken/egg
# dependencies between util and util/format
dependencies : [dep_m, dep_valgrind],
c_args : [c_msvc_compat_args], c_args : [c_msvc_compat_args],
gnu_symbol_visibility : 'hidden', gnu_symbol_visibility : 'hidden',
build_by_default : false build_by_default : false

View File

@@ -196,7 +196,7 @@ _libmesa_util = static_library(
idep_mesautil = declare_dependency( idep_mesautil = declare_dependency(
link_with : _libmesa_util, link_with : _libmesa_util,
include_directories : inc_util, include_directories : inc_util,
dependencies : [dep_zlib, dep_clock, dep_thread, dep_atomic, dep_m], dependencies : [dep_zlib, dep_clock, dep_thread, dep_atomic, dep_m, dep_valgrind],
) )
xmlconfig_deps = [] xmlconfig_deps = []

View File

@@ -31,6 +31,14 @@
#if UTIL_FUTEX_SUPPORTED #if UTIL_FUTEX_SUPPORTED
#if defined(HAVE_VALGRIND) && !defined(NDEBUG)
# include <valgrind.h>
# include <helgrind.h>
# define HG(x) x
#else
# define HG(x)
#endif
/* mtx_t - Fast, simple mutex /* mtx_t - Fast, simple mutex
* *
* While modern pthread mutexes are very fast (implemented using futex), they * While modern pthread mutexes are very fast (implemented using futex), they
@@ -69,11 +77,14 @@ simple_mtx_init(simple_mtx_t *mtx, ASSERTED int type)
assert(type == mtx_plain); assert(type == mtx_plain);
mtx->val = 0; mtx->val = 0;
HG(ANNOTATE_RWLOCK_CREATE(mtx));
} }
static inline void static inline void
simple_mtx_destroy(ASSERTED simple_mtx_t *mtx) simple_mtx_destroy(ASSERTED simple_mtx_t *mtx)
{ {
HG(ANNOTATE_RWLOCK_DESTROY(mtx));
#ifndef NDEBUG #ifndef NDEBUG
mtx->val = _SIMPLE_MTX_INVALID_VALUE; mtx->val = _SIMPLE_MTX_INVALID_VALUE;
#endif #endif
@@ -96,6 +107,8 @@ simple_mtx_lock(simple_mtx_t *mtx)
c = __sync_lock_test_and_set(&mtx->val, 2); c = __sync_lock_test_and_set(&mtx->val, 2);
} }
} }
HG(ANNOTATE_RWLOCK_ACQUIRED(mtx, 1));
} }
static inline void static inline void
@@ -103,6 +116,8 @@ simple_mtx_unlock(simple_mtx_t *mtx)
{ {
uint32_t c; uint32_t c;
HG(ANNOTATE_RWLOCK_RELEASED(mtx, 1));
c = __sync_fetch_and_sub(&mtx->val, 1); c = __sync_fetch_and_sub(&mtx->val, 1);
assert(c != _SIMPLE_MTX_INVALID_VALUE); assert(c != _SIMPLE_MTX_INVALID_VALUE);

View File

@@ -43,7 +43,7 @@ libvulkan_util = static_library(
'vulkan_util', 'vulkan_util',
[files_vulkan_util, vk_enum_to_str], [files_vulkan_util, vk_enum_to_str],
include_directories : [inc_include, inc_src, inc_gallium], include_directories : [inc_include, inc_src, inc_gallium],
dependencies : vulkan_wsi_deps, dependencies : [vulkan_wsi_deps, idep_mesautil],
c_args : [vulkan_wsi_args], c_args : [vulkan_wsi_args],
gnu_symbol_visibility : 'hidden', gnu_symbol_visibility : 'hidden',
build_by_default : false, build_by_default : false,