From: Chia-I Wu Date: Wed, 12 Dec 2012 20:24:40 +0000 (+0800) Subject: ilo: add debug flags settable through ILO_DEBUG X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=e74d67738d2e10a5119298bb10c413cbe66b3255;p=mesa.git ilo: add debug flags settable through ILO_DEBUG --- diff --git a/src/gallium/drivers/ilo/ilo_common.h b/src/gallium/drivers/ilo/ilo_common.h index 5f2c45f9206..7e6932ac12c 100644 --- a/src/gallium/drivers/ilo/ilo_common.h +++ b/src/gallium/drivers/ilo/ilo_common.h @@ -43,6 +43,19 @@ #define ILO_GEN(gen) ((int) (gen * 100)) #define ILO_GEN_GET_MAJOR(gen) (gen / 100) +enum ilo_debug { + ILO_DEBUG_3D = 1 << 0, + ILO_DEBUG_VS = 1 << 1, + ILO_DEBUG_GS = 1 << 2, + ILO_DEBUG_FS = 1 << 3, + ILO_DEBUG_CS = 1 << 4, + + ILO_DEBUG_NOHW = 1 << 8, + ILO_DEBUG_NOCACHE = 1 << 9, +}; + +extern int ilo_debug; + /** * Print a message, for dumping or debugging. */ diff --git a/src/gallium/drivers/ilo/ilo_screen.c b/src/gallium/drivers/ilo/ilo_screen.c index 731dc3d7ce8..3ab02e0ec1e 100644 --- a/src/gallium/drivers/ilo/ilo_screen.c +++ b/src/gallium/drivers/ilo/ilo_screen.c @@ -35,6 +35,19 @@ #include "ilo_public.h" #include "ilo_screen.h" +int ilo_debug; + +static const struct debug_named_value ilo_debug_flags[] = { + { "3d", ILO_DEBUG_3D, "Dump 3D commands and states" }, + { "vs", ILO_DEBUG_VS, "Dump vertex shaders" }, + { "gs", ILO_DEBUG_GS, "Dump geometry shaders" }, + { "fs", ILO_DEBUG_FS, "Dump fragment shaders" }, + { "cs", ILO_DEBUG_CS, "Dump compute shaders" }, + { "nohw", ILO_DEBUG_NOHW, "Do not send commands to HW" }, + { "nocache", ILO_DEBUG_NOCACHE, "Always invalidate HW caches" }, + DEBUG_NAMED_VALUE_END +}; + static void ilo_screen_destroy(struct pipe_screen *screen) { @@ -52,6 +65,8 @@ ilo_screen_create(struct intel_winsys *ws) struct ilo_screen *is; const struct intel_winsys_info *info; + ilo_debug = debug_get_flags_option("ILO_DEBUG", ilo_debug_flags, 0); + is = CALLOC_STRUCT(ilo_screen); if (!is) return NULL;