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:
parent
7f223a2329
commit
53f7d539cd
|
@ -107,7 +107,7 @@ test(
|
|||
include_directories : [
|
||||
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']
|
||||
)
|
||||
|
|
|
@ -60,6 +60,7 @@ libglcpp_standalone = static_library(
|
|||
'glcpp_standalone',
|
||||
'pp_standalone_scaffolding.c',
|
||||
link_with : libglcpp,
|
||||
dependencies : idep_mesautil,
|
||||
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],
|
||||
cpp_args : [cpp_msvc_compat_args, _extra_args],
|
||||
|
|
|
@ -254,7 +254,7 @@ glsl_compiler = executable(
|
|||
c_args : [c_msvc_compat_args, no_override_init_args],
|
||||
cpp_args : [cpp_msvc_compat_args],
|
||||
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],
|
||||
link_with : [libglsl_standalone],
|
||||
build_by_default : with_tools.contains('glsl'),
|
||||
|
@ -269,7 +269,7 @@ glsl_test = executable(
|
|||
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],
|
||||
dependencies : [dep_clock, dep_thread, idep_getopt],
|
||||
dependencies : [dep_clock, dep_thread, idep_getopt, idep_mesautil],
|
||||
link_with : [libglsl, libglsl_standalone, libglsl_util],
|
||||
build_by_default : with_tools.contains('glsl'),
|
||||
install : with_tools.contains('glsl'),
|
||||
|
|
|
@ -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')],
|
||||
c_args : [c_msvc_compat_args, no_override_init_args, _libnir_args],
|
||||
gnu_symbol_visibility : 'hidden',
|
||||
dependencies : dep_valgrind,
|
||||
link_with : libcompiler,
|
||||
build_by_default : false,
|
||||
)
|
||||
|
@ -339,7 +340,7 @@ idep_nir_headers = declare_dependency(
|
|||
|
||||
# Also link with nir
|
||||
idep_nir = declare_dependency(
|
||||
dependencies : idep_nir_headers,
|
||||
dependencies : [idep_nir_headers, idep_mesautil],
|
||||
link_with : _libnir,
|
||||
)
|
||||
|
||||
|
|
|
@ -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],
|
||||
c_args : [no_override_init_args],
|
||||
gnu_symbol_visibility : 'hidden',
|
||||
dependencies : idep_nir_headers,
|
||||
dependencies : [idep_nir_headers, idep_mesautil],
|
||||
build_by_default : false,
|
||||
)
|
||||
|
||||
|
|
|
@ -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],
|
||||
c_args : [no_override_init_args],
|
||||
gnu_symbol_visibility : 'hidden',
|
||||
dependencies : [idep_nir_headers, dep_dl],
|
||||
dependencies : [idep_nir_headers, dep_dl, idep_mesautil],
|
||||
build_by_default : false,
|
||||
)
|
||||
|
||||
|
|
|
@ -42,7 +42,7 @@ libfreedreno_rnn = static_library(
|
|||
'-DRNN_DEF_PATH="' + rnn_path + '"',
|
||||
],
|
||||
gnu_symbol_visibility: 'hidden',
|
||||
dependencies: [ dep_libxml2 ],
|
||||
dependencies: [ dep_libxml2, idep_mesautil ],
|
||||
build_by_default: false,
|
||||
)
|
||||
|
||||
|
|
|
@ -519,6 +519,7 @@ libgalliumvl_stub = static_library(
|
|||
cpp_args : [cpp_msvc_compat_args],
|
||||
gnu_symbol_visibility : 'hidden',
|
||||
include_directories: [inc_gallium, inc_include, inc_src],
|
||||
dependencies : idep_mesautil,
|
||||
build_by_default : false,
|
||||
)
|
||||
|
||||
|
@ -529,6 +530,7 @@ libgalliumvl = static_library(
|
|||
cpp_args : [cpp_msvc_compat_args],
|
||||
gnu_symbol_visibility : 'hidden',
|
||||
include_directories : [inc_gallium, inc_include, inc_src],
|
||||
dependencies : idep_mesautil,
|
||||
build_by_default : false,
|
||||
)
|
||||
|
||||
|
@ -537,6 +539,6 @@ libgalliumvlwinsys = static_library(
|
|||
'galliumvlwinsys',
|
||||
files_libgalliumvlwinsys,
|
||||
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,
|
||||
)
|
||||
|
|
|
@ -53,7 +53,7 @@ libpipe_loader_static = static_library(
|
|||
c_args : [libpipe_loader_defines, '-DGALLIUM_STATIC_TARGETS=1'],
|
||||
gnu_symbol_visibility : 'hidden',
|
||||
link_with : [libpipe_loader_links],
|
||||
dependencies : [dep_libdrm, idep_xmlconfig],
|
||||
dependencies : [dep_libdrm, idep_xmlconfig, idep_mesautil],
|
||||
build_by_default : false,
|
||||
)
|
||||
|
||||
|
|
|
@ -240,7 +240,12 @@ libfreedreno = static_library(
|
|||
c_args : [freedreno_c_args],
|
||||
cpp_args : [freedreno_cpp_args],
|
||||
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(
|
||||
|
|
|
@ -103,7 +103,7 @@ libllvmpipe = static_library(
|
|||
cpp_args : [cpp_msvc_compat_args],
|
||||
gnu_symbol_visibility : 'hidden',
|
||||
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
|
||||
|
@ -111,7 +111,7 @@ libllvmpipe = static_library(
|
|||
driver_swrast = declare_dependency(
|
||||
compile_args : '-DGALLIUM_LLVMPIPE',
|
||||
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
|
||||
|
|
|
@ -231,7 +231,7 @@ libnouveau = static_library(
|
|||
inc_src, inc_include, inc_gallium, inc_gallium_aux, inc_mapi, inc_mesa,
|
||||
],
|
||||
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(
|
||||
|
|
|
@ -64,6 +64,7 @@ libpanfrost = static_library(
|
|||
dependencies: [
|
||||
dep_thread,
|
||||
dep_libdrm,
|
||||
idep_mesautil,
|
||||
idep_nir,
|
||||
idep_midgard_pack
|
||||
],
|
||||
|
|
|
@ -55,5 +55,8 @@ libdri = static_library(
|
|||
],
|
||||
c_args : [libdri_c_args],
|
||||
gnu_symbol_visibility : 'hidden',
|
||||
dependencies : dep_libdrm,
|
||||
dependencies : [
|
||||
dep_libdrm,
|
||||
idep_mesautil,
|
||||
],
|
||||
)
|
||||
|
|
|
@ -37,6 +37,6 @@ libva_st = static_library(
|
|||
include_directories : [inc_include, inc_src, inc_mapi, inc_mesa, inc_gallium, inc_gallium_aux],
|
||||
dependencies : [
|
||||
dep_va_headers, dep_x11_xcb, dep_xcb, dep_xcb_dri2, dep_xcb_dri3,
|
||||
dep_libdrm,
|
||||
dep_libdrm, idep_mesautil,
|
||||
],
|
||||
)
|
||||
|
|
|
@ -35,5 +35,5 @@ libvdpau_st = static_library(
|
|||
include_directories : [
|
||||
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],
|
||||
)
|
||||
|
|
|
@ -40,6 +40,7 @@ libxa_st = static_library(
|
|||
)],
|
||||
c_args : ['-pedantic'],
|
||||
gnu_symbol_visibility : 'hidden',
|
||||
dependencies : idep_mesautil,
|
||||
include_directories : [inc_include, inc_src, inc_mapi, inc_mesa, inc_gallium, inc_gallium_aux],
|
||||
)
|
||||
|
||||
|
|
|
@ -28,7 +28,7 @@ libxvmc_st = static_library(
|
|||
include_directories : [inc_include, inc_src, inc_mapi, inc_mesa, inc_gallium, inc_gallium_aux],
|
||||
dependencies : [
|
||||
dep_xvmc, dep_x11_xcb, dep_xcb, dep_xcb_dri2, dep_xcb_dri3, dep_xv,
|
||||
dep_libdrm,
|
||||
dep_libdrm, idep_mesautil,
|
||||
],
|
||||
)
|
||||
|
||||
|
|
|
@ -29,5 +29,8 @@ libfreedrenowinsys = static_library(
|
|||
inc_freedreno,
|
||||
],
|
||||
gnu_symbol_visibility : 'hidden',
|
||||
dependencies : [dep_libdrm],
|
||||
dependencies : [
|
||||
dep_libdrm,
|
||||
idep_mesautil,
|
||||
],
|
||||
)
|
||||
|
|
|
@ -25,5 +25,5 @@ libnouveauwinsys = static_library(
|
|||
inc_src, inc_include, inc_gallium, inc_gallium_aux, inc_gallium_drivers,
|
||||
],
|
||||
gnu_symbol_visibility : 'hidden',
|
||||
dependencies : [dep_libdrm_nouveau],
|
||||
dependencies : [dep_libdrm_nouveau, idep_mesautil],
|
||||
)
|
||||
|
|
|
@ -24,4 +24,5 @@ libswdri = static_library(
|
|||
files('dri_sw_winsys.c', 'dri_sw_winsys.h'),
|
||||
gnu_symbol_visibility : 'hidden',
|
||||
include_directories : [inc_gallium, inc_include, inc_src, inc_gallium_aux],
|
||||
dependencies : idep_mesautil,
|
||||
)
|
||||
|
|
|
@ -24,5 +24,5 @@ libswkmsdri = static_library(
|
|||
files('kms_dri_sw_winsys.c', 'kms_dri_sw_winsys.h'),
|
||||
gnu_symbol_visibility : 'hidden',
|
||||
include_directories : [inc_gallium, inc_include, inc_src, inc_gallium_aux],
|
||||
dependencies : dep_libdrm,
|
||||
dependencies : [dep_libdrm, idep_mesautil],
|
||||
)
|
||||
|
|
|
@ -23,5 +23,6 @@ libws_null = static_library(
|
|||
files('null_sw_winsys.c', 'null_sw_winsys.h'),
|
||||
gnu_symbol_visibility : 'hidden',
|
||||
include_directories : [inc_gallium, inc_src, inc_gallium_aux, inc_include],
|
||||
dependencies : idep_mesautil,
|
||||
build_by_default : false,
|
||||
)
|
||||
|
|
|
@ -23,5 +23,6 @@ libwsw = static_library(
|
|||
files('wrapper_sw_winsys.c', 'wrapper_sw_winsys.h'),
|
||||
gnu_symbol_visibility : 'hidden',
|
||||
include_directories : [inc_gallium, inc_include, inc_src, inc_gallium_aux],
|
||||
dependencies : idep_mesautil,
|
||||
build_by_default : false,
|
||||
)
|
||||
|
|
|
@ -32,6 +32,7 @@ endif
|
|||
libvc4winsys = static_library(
|
||||
'vc4winsys',
|
||||
files('vc4_drm_winsys.c'),
|
||||
dependencies : idep_mesautil,
|
||||
include_directories : [
|
||||
inc_src, inc_include,
|
||||
inc_gallium, inc_gallium_aux, inc_gallium_drivers, inc_gallium_winsys,
|
||||
|
|
|
@ -34,5 +34,5 @@ libblorp = static_library(
|
|||
include_directories : [inc_include, inc_src, inc_mapi, inc_mesa, inc_gallium, inc_intel],
|
||||
c_args : [no_override_init_args],
|
||||
gnu_symbol_visibility : 'hidden',
|
||||
dependencies : [idep_nir_headers, idep_genxml],
|
||||
dependencies : [idep_nir_headers, idep_genxml, idep_mesautil],
|
||||
)
|
||||
|
|
|
@ -48,7 +48,7 @@ libintel_common = static_library(
|
|||
c_args : [no_override_init_args],
|
||||
gnu_symbol_visibility : 'hidden',
|
||||
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 = []
|
||||
|
|
|
@ -145,7 +145,7 @@ libintel_compiler = static_library(
|
|||
include_directories : [inc_include, inc_src, inc_mapi, inc_mesa, inc_gallium, inc_intel],
|
||||
c_args : [no_override_init_args],
|
||||
gnu_symbol_visibility : 'hidden',
|
||||
dependencies : idep_nir_headers,
|
||||
dependencies : [idep_nir_headers, idep_mesautil],
|
||||
build_by_default : false,
|
||||
)
|
||||
|
||||
|
|
|
@ -31,6 +31,7 @@ libintel_dev = static_library(
|
|||
['intel_dev'],
|
||||
[files_libintel_dev, sha1_h],
|
||||
include_directories : [inc_include, inc_src, inc_intel],
|
||||
dependencies : idep_mesautil,
|
||||
c_args : [no_override_init_args],
|
||||
gnu_symbol_visibility : 'hidden',
|
||||
)
|
||||
|
|
|
@ -62,6 +62,7 @@ foreach g : [['40', isl_gen4_files], ['50', []], ['60', isl_gen6_files],
|
|||
'isl_gen@0@'.format(_gen),
|
||||
[g[1], isl_gen_files, gen_xml_pack],
|
||||
include_directories : [inc_include, inc_src, inc_gallium, inc_intel],
|
||||
dependencies : idep_mesautil,
|
||||
c_args : [
|
||||
no_override_init_args,
|
||||
'-DGEN_VERSIONx10=@0@'.format(_gen)
|
||||
|
@ -91,6 +92,7 @@ isl_tiled_memcpy = static_library(
|
|||
include_directories : [
|
||||
inc_include, inc_src, inc_mesa, inc_gallium, inc_intel,
|
||||
],
|
||||
dependencies : idep_mesautil,
|
||||
c_args : [no_override_init_args, '-msse2'],
|
||||
gnu_symbol_visibility : 'hidden',
|
||||
extra_files : ['isl_tiled_memcpy.c']
|
||||
|
@ -103,6 +105,7 @@ if with_sse41
|
|||
include_directories : [
|
||||
inc_include, inc_src, inc_mesa, inc_gallium, inc_intel,
|
||||
],
|
||||
dependencies : idep_mesautil,
|
||||
link_args : ['-Wl,--exclude-libs=ALL'],
|
||||
c_args : [no_override_init_args, '-msse2', sse41_args],
|
||||
gnu_symbol_visibility : 'hidden',
|
||||
|
@ -128,6 +131,7 @@ libisl = static_library(
|
|||
[libisl_files, isl_format_layout_c, genX_bits_h],
|
||||
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],
|
||||
dependencies : idep_mesautil,
|
||||
c_args : [no_override_init_args],
|
||||
gnu_symbol_visibility : 'hidden',
|
||||
)
|
||||
|
|
|
@ -25,7 +25,7 @@ libdricommon = static_library(
|
|||
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],
|
||||
gnu_symbol_visibility : 'hidden',
|
||||
dependencies : dep_libdrm,
|
||||
dependencies : [dep_libdrm, idep_mesautil],
|
||||
build_by_default : false,
|
||||
)
|
||||
|
||||
|
|
|
@ -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],
|
||||
c_args : [no_override_init_args],
|
||||
gnu_symbol_visibility : 'hidden',
|
||||
dependencies : [dep_libdrm, dep_libdrm_intel],
|
||||
dependencies : [dep_libdrm, dep_libdrm_intel, idep_mesautil],
|
||||
)
|
||||
|
|
|
@ -142,7 +142,7 @@ foreach v : ['40', '45', '50', '60', '70', '75', '80', '90', '110']
|
|||
'-DGEN_VERSIONx10=@0@'.format(v),
|
||||
],
|
||||
gnu_symbol_visibility : 'hidden',
|
||||
dependencies : [dep_libdrm, idep_nir_headers],
|
||||
dependencies : [dep_libdrm, idep_nir_headers, idep_mesautil],
|
||||
)
|
||||
endforeach
|
||||
|
||||
|
|
|
@ -84,5 +84,5 @@ libnouveau_vieux = static_library(
|
|||
files_nouveau_vieux,
|
||||
include_directories : [inc_include, inc_src, inc_mapi, inc_mesa, inc_gallium, inc_gallium_aux, inc_dri_common, inc_util],
|
||||
gnu_symbol_visibility : 'hidden',
|
||||
dependencies : [dep_libdrm, dep_libdrm_nouveau],
|
||||
dependencies : [dep_libdrm, dep_libdrm_nouveau, idep_mesautil],
|
||||
)
|
||||
|
|
|
@ -84,5 +84,5 @@ libr200 = static_library(
|
|||
],
|
||||
c_args : ['-DRADEON_R200'],
|
||||
gnu_symbol_visibility : 'hidden',
|
||||
dependencies : [dep_libdrm, dep_libdrm_radeon],
|
||||
dependencies : [dep_libdrm, dep_libdrm_radeon, idep_mesautil],
|
||||
)
|
||||
|
|
|
@ -80,5 +80,5 @@ libr100 = static_library(
|
|||
],
|
||||
c_args : ['-DRADEON_R100'],
|
||||
gnu_symbol_visibility : 'hidden',
|
||||
dependencies : [dep_libdrm, dep_libdrm_radeon],
|
||||
dependencies : [dep_libdrm, dep_libdrm_radeon, idep_mesautil],
|
||||
)
|
||||
|
|
|
@ -731,7 +731,7 @@ libmesa_common = static_library(
|
|||
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,
|
||||
dependencies : [idep_nir_headers, idep_mesautil],
|
||||
build_by_default : false,
|
||||
)
|
||||
|
||||
|
@ -743,7 +743,7 @@ libmesa_classic = static_library(
|
|||
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,
|
||||
dependencies : [idep_nir_headers, idep_mesautil],
|
||||
build_by_default : false,
|
||||
)
|
||||
|
||||
|
@ -755,7 +755,7 @@ libmesa_gallium = static_library(
|
|||
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],
|
||||
dependencies : [idep_nir_headers, dep_vdpau, idep_mesautil],
|
||||
build_by_default : false,
|
||||
)
|
||||
|
||||
|
|
|
@ -35,6 +35,7 @@ libglsl_util = static_library(
|
|||
'mesa/program/dummy_errors.c',
|
||||
),
|
||||
include_directories : [inc_include, inc_src, inc_mapi, inc_mesa, inc_gallium, inc_gallium_aux],
|
||||
dependencies : dep_valgrind,
|
||||
gnu_symbol_visibility : 'hidden',
|
||||
build_by_default : false,
|
||||
)
|
||||
|
|
|
@ -69,6 +69,7 @@ libpanfrost_decode = static_library(
|
|||
'panfrost_decode',
|
||||
[libpanfrost_decode_files, midgard_pack],
|
||||
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],
|
||||
gnu_symbol_visibility : 'hidden',
|
||||
build_by_default : false,
|
||||
|
|
|
@ -31,6 +31,7 @@ libpanfrost_shared = static_library(
|
|||
'panfrost_shared',
|
||||
[libpanfrost_shared_files],
|
||||
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'],
|
||||
gnu_symbol_visibility : 'hidden',
|
||||
build_by_default : false,
|
||||
|
|
|
@ -53,7 +53,9 @@ libmesa_format = static_library(
|
|||
'mesa_format',
|
||||
[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],
|
||||
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],
|
||||
gnu_symbol_visibility : 'hidden',
|
||||
build_by_default : false
|
||||
|
|
|
@ -196,7 +196,7 @@ _libmesa_util = static_library(
|
|||
idep_mesautil = declare_dependency(
|
||||
link_with : _libmesa_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 = []
|
||||
|
|
|
@ -31,6 +31,14 @@
|
|||
|
||||
#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
|
||||
*
|
||||
* 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);
|
||||
|
||||
mtx->val = 0;
|
||||
|
||||
HG(ANNOTATE_RWLOCK_CREATE(mtx));
|
||||
}
|
||||
|
||||
static inline void
|
||||
simple_mtx_destroy(ASSERTED simple_mtx_t *mtx)
|
||||
{
|
||||
HG(ANNOTATE_RWLOCK_DESTROY(mtx));
|
||||
#ifndef NDEBUG
|
||||
mtx->val = _SIMPLE_MTX_INVALID_VALUE;
|
||||
#endif
|
||||
|
@ -96,6 +107,8 @@ simple_mtx_lock(simple_mtx_t *mtx)
|
|||
c = __sync_lock_test_and_set(&mtx->val, 2);
|
||||
}
|
||||
}
|
||||
|
||||
HG(ANNOTATE_RWLOCK_ACQUIRED(mtx, 1));
|
||||
}
|
||||
|
||||
static inline void
|
||||
|
@ -103,6 +116,8 @@ simple_mtx_unlock(simple_mtx_t *mtx)
|
|||
{
|
||||
uint32_t c;
|
||||
|
||||
HG(ANNOTATE_RWLOCK_RELEASED(mtx, 1));
|
||||
|
||||
c = __sync_fetch_and_sub(&mtx->val, 1);
|
||||
|
||||
assert(c != _SIMPLE_MTX_INVALID_VALUE);
|
||||
|
|
|
@ -43,7 +43,7 @@ libvulkan_util = static_library(
|
|||
'vulkan_util',
|
||||
[files_vulkan_util, vk_enum_to_str],
|
||||
include_directories : [inc_include, inc_src, inc_gallium],
|
||||
dependencies : vulkan_wsi_deps,
|
||||
dependencies : [vulkan_wsi_deps, idep_mesautil],
|
||||
c_args : [vulkan_wsi_args],
|
||||
gnu_symbol_visibility : 'hidden',
|
||||
build_by_default : false,
|
||||
|
|
Loading…
Reference in New Issue