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.hI 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 [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-dev
