mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 03:08:05 +02:00
intel/decoder: make libvulkan_intel to depend on stub decoder when buildtyle=release.
The libvulkan_intel does not need the decoder when buildtype=release where the debugging is disabled. However, the decoder implementation is decided by the dep_expat which may be turned on by like -Dtools=intel and the binary size of libvulkan_intel increase unexpectedly. This change creates the stub dependency and decide the exact decoder dependency of libvulkan_intel by the buildtype. Test: meson setup builddir -D build-tests=true -Dbuildtype=release --reconfigure && ninja -C builddir && cd builddir && meson test Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Signed-off-by: Andy Hsu <hwandy@google.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38569>
This commit is contained in:
parent
108d2d29a9
commit
2ee6b4d96e
2 changed files with 61 additions and 26 deletions
|
|
@ -1,26 +1,41 @@
|
|||
# Copyright © 2017 Intel Corporation
|
||||
# SPDX-License-Identifier: MIT
|
||||
|
||||
libintel_decoder_files = files(
|
||||
'intel_decoder.h',
|
||||
)
|
||||
libintel_decoder_common_args = {
|
||||
'include_directories' : [inc_include, inc_src, inc_intel],
|
||||
'c_args' : [no_override_init_args, sse2_args],
|
||||
'gnu_symbol_visibility' : 'hidden',
|
||||
'build_by_default' : false,
|
||||
}
|
||||
|
||||
libintel_decoder_deps = [
|
||||
libintel_decoder_stub_files = files(
|
||||
'intel_decoder.h',
|
||||
'intel_batch_decoder_stub.c',
|
||||
)
|
||||
|
||||
libintel_decoder_impl_files = files (
|
||||
'intel_decoder.h',
|
||||
'intel_decoder.c',
|
||||
'intel_batch_decoder.c',
|
||||
)
|
||||
|
||||
libintel_decoder_stub_deps = [
|
||||
idep_intel_dev
|
||||
]
|
||||
|
||||
libintel_decoder_impl_deps = [
|
||||
idep_intel_dev,
|
||||
dep_expat
|
||||
]
|
||||
|
||||
if not dep_expat.found()
|
||||
libintel_decoder_files += files(
|
||||
'intel_batch_decoder_stub.c',
|
||||
)
|
||||
libintel_decoder_deps = libintel_decoder_stub_deps
|
||||
libintel_decoder_files = libintel_decoder_stub_files
|
||||
libintel_decoder_brw_files = files()
|
||||
libintel_decoder_elk_files = files()
|
||||
else
|
||||
libintel_decoder_deps += dep_expat
|
||||
libintel_decoder_files += files(
|
||||
'intel_decoder.c',
|
||||
'intel_batch_decoder.c',
|
||||
)
|
||||
libintel_decoder_deps = libintel_decoder_impl_deps
|
||||
libintel_decoder_files = libintel_decoder_impl_files
|
||||
libintel_decoder_brw_files = files('intel_batch_decoder_brw.c')
|
||||
libintel_decoder_elk_files = files('intel_batch_decoder_elk.c')
|
||||
endif
|
||||
|
|
@ -28,11 +43,8 @@ endif
|
|||
libintel_decoder = static_library(
|
||||
'intel_decoder',
|
||||
[libintel_decoder_files, genX_xml_h, sha1_h],
|
||||
include_directories : [inc_include, inc_src, inc_intel],
|
||||
c_args : [no_override_init_args, sse2_args],
|
||||
gnu_symbol_visibility : 'hidden',
|
||||
dependencies : libintel_decoder_deps,
|
||||
build_by_default : false,
|
||||
kwargs : libintel_decoder_common_args
|
||||
)
|
||||
|
||||
idep_intel_decoder = declare_dependency(
|
||||
|
|
@ -43,11 +55,8 @@ idep_intel_decoder = declare_dependency(
|
|||
libintel_decoder_brw = static_library(
|
||||
'intel_decoder_brw',
|
||||
[libintel_decoder_brw_files, genX_xml_h, sha1_h],
|
||||
include_directories : [inc_include, inc_src, inc_intel],
|
||||
c_args : [no_override_init_args, sse2_args],
|
||||
gnu_symbol_visibility : 'hidden',
|
||||
dependencies : idep_intel_decoder,
|
||||
build_by_default : false,
|
||||
kwargs : libintel_decoder_common_args
|
||||
)
|
||||
|
||||
idep_intel_decoder_brw = declare_dependency(
|
||||
|
|
@ -59,11 +68,8 @@ if with_intel_elk
|
|||
libintel_decoder_elk = static_library(
|
||||
'intel_decoder_elk',
|
||||
[libintel_decoder_elk_files, genX_xml_h, sha1_h],
|
||||
include_directories : [inc_include, inc_src, inc_intel],
|
||||
c_args : [no_override_init_args, sse2_args],
|
||||
gnu_symbol_visibility : 'hidden',
|
||||
dependencies : idep_intel_decoder,
|
||||
build_by_default : false,
|
||||
kwargs : libintel_decoder_common_args
|
||||
)
|
||||
|
||||
idep_intel_decoder_elk = declare_dependency(
|
||||
|
|
@ -74,6 +80,32 @@ else
|
|||
idep_intel_decoder_elk = null_dep
|
||||
endif
|
||||
|
||||
# Stub decoder.
|
||||
libintel_decoder_stub = static_library(
|
||||
'intel_decoder_stub',
|
||||
[libintel_decoder_stub_files, genX_xml_h, sha1_h],
|
||||
dependencies : libintel_decoder_stub_deps,
|
||||
kwargs : libintel_decoder_common_args
|
||||
)
|
||||
|
||||
idep_intel_decoder_stub = declare_dependency(
|
||||
link_with : [libintel_decoder_stub],
|
||||
dependencies : libintel_decoder_stub_deps,
|
||||
)
|
||||
|
||||
libintel_decoder_stub_brw = static_library(
|
||||
'intel_decoder_stub_brw',
|
||||
[genX_xml_h, sha1_h],
|
||||
dependencies : idep_intel_decoder_stub,
|
||||
kwargs : libintel_decoder_common_args
|
||||
)
|
||||
|
||||
idep_intel_decoder_stub_brw = declare_dependency(
|
||||
link_with : [libintel_decoder_stub_brw],
|
||||
dependencies : idep_intel_decoder_stub,
|
||||
)
|
||||
|
||||
# Test.
|
||||
if with_tests and not with_platform_android
|
||||
gentest_xml = 'tests/gentest.xml'
|
||||
_name = 'gentest_pack.h'
|
||||
|
|
|
|||
|
|
@ -253,6 +253,9 @@ libanv_common = static_library(
|
|||
dependencies : anv_deps
|
||||
)
|
||||
|
||||
idep_libvulkan_intel_decoder = (with_mesa_ndebug ?
|
||||
idep_intel_decoder_stub_brw : idep_intel_decoder_brw)
|
||||
|
||||
libvulkan_intel = shared_library(
|
||||
'vulkan_intel',
|
||||
[files('anv_gem.c'), anv_entrypoints[0], bvh_spv],
|
||||
|
|
@ -268,7 +271,7 @@ libvulkan_intel = shared_library(
|
|||
idep_nir, idep_genxml, idep_vulkan_util, idep_vulkan_wsi,
|
||||
idep_vulkan_runtime, idep_mesautil, idep_xmlconfig,
|
||||
idep_intel_driver_ds, idep_intel_dev, idep_intel_blorp,
|
||||
idep_intel_compiler_brw, idep_intel_decoder_brw,
|
||||
idep_intel_compiler_brw, idep_libvulkan_intel_decoder
|
||||
],
|
||||
c_args : anv_flags,
|
||||
gnu_symbol_visibility : 'hidden',
|
||||
|
|
@ -306,7 +309,7 @@ if with_tests
|
|||
dep_thread, dep_dl, dep_m, anv_deps,
|
||||
idep_nir, idep_vulkan_util, idep_vulkan_wsi, idep_vulkan_runtime,
|
||||
idep_mesautil, idep_intel_dev, idep_intel_blorp,
|
||||
idep_intel_compiler_brw, idep_intel_decoder_brw,
|
||||
idep_intel_compiler_brw, idep_libvulkan_intel_decoder,
|
||||
],
|
||||
c_args : anv_flags,
|
||||
gnu_symbol_visibility : 'hidden',
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue