From 10cdfce14e494358212c8a8024c7fbec94fa91b8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tapani=20P=C3=A4lli?= Date: Fri, 26 Mar 2021 11:20:03 +0200 Subject: [PATCH] intel/common: disable batch decoder on Android platform MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit when building with Meson. It requires libexpat that is not available on Android and we want to avoid it. Signed-off-by: Tapani Pälli Reviewed-by: Lionel Landwerlin Reviewed-by: Eric Anholt Reviewed-by: Jason Ekstrand Part-of: --- src/intel/common/intel_batch_decoder_stub.c | 54 +++++++++++++++++++++ src/intel/common/meson.build | 19 ++++++-- 2 files changed, 68 insertions(+), 5 deletions(-) create mode 100644 src/intel/common/intel_batch_decoder_stub.c diff --git a/src/intel/common/intel_batch_decoder_stub.c b/src/intel/common/intel_batch_decoder_stub.c new file mode 100644 index 00000000000..f18ea381d05 --- /dev/null +++ b/src/intel/common/intel_batch_decoder_stub.c @@ -0,0 +1,54 @@ +/* + * Copyright © 2021 Intel Corporation + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice (including the next + * paragraph) shall be included in all copies or substantial portions of the + * Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS + * IN THE SOFTWARE. + */ + +#include "common/intel_decoder.h" +#include "util/log.h" + +void +intel_batch_decode_ctx_init(struct intel_batch_decode_ctx *ctx, + const struct gen_device_info *devinfo, + FILE *fp, enum intel_batch_decode_flags flags, + const char *xml_path, + struct intel_batch_decode_bo (*get_bo)(void *, + bool, + uint64_t), + unsigned (*get_state_size)(void *, uint64_t, + uint64_t), + void *user_data) +{ + /* Clear ctx to play safe. */ + memset(ctx, 0, sizeof(*ctx)); +} + +void +intel_batch_decode_ctx_finish(struct intel_batch_decode_ctx *ctx) +{ +} + +void +intel_print_batch(struct intel_batch_decode_ctx *ctx, + const uint32_t *batch, uint32_t batch_size, + uint64_t batch_addr, bool from_ring) +{ + mesa_logw("Batch logging not supported on Android."); +} diff --git a/src/intel/common/meson.build b/src/intel/common/meson.build index 503431a32cc..7c81e9c4db4 100644 --- a/src/intel/common/meson.build +++ b/src/intel/common/meson.build @@ -18,15 +18,11 @@ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE # SOFTWARE. -# TODO: android? - files_libintel_common = files( 'intel_aux_map.c', 'intel_aux_map.h', 'intel_buffer_alloc.h', 'intel_clflush.h', - 'intel_batch_decoder.c', - 'intel_decoder.c', 'intel_decoder.h', 'intel_disasm.c', 'intel_disasm.h', @@ -44,6 +40,19 @@ files_libintel_common = files( 'intel_measure.h', ) +files_batch_decoder = files( + 'intel_batch_decoder.c', + 'intel_decoder.c', +) + +batch_decoder_dependencies = [] +if with_platform_android + files_libintel_common += 'intel_batch_decoder_stub.c' +else + batch_decoder_dependencies += dep_expat + files_libintel_common += files_batch_decoder +endif + libintel_common = static_library( 'intel_common', [files_libintel_common, genX_xml_h, sha1_h], @@ -51,7 +60,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, idep_mesautil], + dependencies : [batch_decoder_dependencies, dep_libdrm, dep_thread, idep_genxml, idep_mesautil], ) libintel_extra_dependencies = []