Quoting Chad Versace (2017-09-27 17:11:50) > I'm bringing up Vulkan in the Android container of Chrome OS (ARC++). > > On Android, stdio goes to /dev/null. On Android, remote gdb is even more > painful than the usual remote gdb. On Android, nothing works like you > expect and debugging is hell. I need logging. > > This patch introduces a small, simple logging API that can easily wrap > Android's API. On non-Android platforms, this logger does nothing fancy. > It follows the time-honored Unix tradition of spewing everything to > stderr with minimal fuss. > > My goal here is not perfection. My goal is to make a minimal, clean API, > that people hate merely a little instead of a lot, and that's good > enough to let me bring up Android Vulkan. And it needs to be fast, > which means it must be small. No one wants to their game to miss frames > while aiming a flaming bow into the jaws of an angry robot t-rex, and > thus become t-rex breakfast, because some fool had too much fun desiging > a bloated, ideal logging API. > > If people like it, perhaps we should quickly promote it to src/util. > > The API looks like this: > > #define INTEL_LOG_TAG "intel-vulkan" > #define DEBUG > > intel_logd("try hard thing with foo=%d", foo); > > n = try_foo(...); > if (n < 0) { > intel_loge("%s:%d: foo failed bigtime", __FILE__, __LINE__); > return VK_ERROR_DEVICE_LOST; > } > > And produces this on non-Android: > > intel-vulkan: debug: try hard thing with foo=93 > intel-vulkan: error: anv_device.c:182: foo failed bigtime > --- > src/intel/Makefile.sources | 4 +- > src/intel/common/intel_log.c | 87 > ++++++++++++++++++++++++++++++++++++++++++++ > src/intel/common/intel_log.h | 82 +++++++++++++++++++++++++++++++++++++++++ > 3 files changed, 172 insertions(+), 1 deletion(-) > create mode 100644 src/intel/common/intel_log.c > create mode 100644 src/intel/common/intel_log.h > > diff --git a/src/intel/Makefile.sources b/src/intel/Makefile.sources > index bca7a132b26..64a2dfe10e7 100644 > --- a/src/intel/Makefile.sources > +++ b/src/intel/Makefile.sources > @@ -18,7 +18,9 @@ COMMON_FILES = \ > common/gen_l3_config.c \ > common/gen_l3_config.h \ > common/gen_urb_config.c \ > - common/gen_sample_positions.h > + common/gen_sample_positions.h \ > + common/intel_log.c \ > + common/intel_log.h
I hate to do this, but this is going to break meson. Could you add these two files to src/intel/common/meson.build? I'm not sure but the previous patch changes may be needed as well (I haven't gotten around to getting android hooked up in meson, so it may not be needed. Maybe I can convince krh to do that ;) Dylan
signature.asc
Description: signature
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev