Mesa (master): intel/common: disable batch decoder on Android platform

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Sat Mar 27 17:51:31 UTC 2021


Module: Mesa
Branch: master
Commit: 10cdfce14e494358212c8a8024c7fbec94fa91b8
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=10cdfce14e494358212c8a8024c7fbec94fa91b8

Author: Tapani Pälli <tapani.palli at intel.com>
Date:   Fri Mar 26 11:20:03 2021 +0200

intel/common: disable batch decoder on Android platform

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 <tapani.palli at intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
Reviewed-by: Eric Anholt <eric at anholt.net>
Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9848>

---

 src/intel/common/intel_batch_decoder_stub.c | 54 +++++++++++++++++++++++++++++
 src/intel/common/meson.build                | 19 +++++++---
 2 files changed, 68 insertions(+), 5 deletions(-)

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 = []



More information about the mesa-commit mailing list