[Libva] [PATCH v3] debug: add g_intel_debug_option_flags for simple driver debug
Xiang, Haihao
haihao.xiang at intel.com
Wed May 28 21:57:27 PDT 2014
Applied
Thanks
Haihao
> From: "Zhao, Halley" <halley.zhao at intel.com>
>
> VA_INTEL_DEBUG_ASSERT decides assert() is enabled or not
> VA_INTEL_DEBUG_BENCH decides skipping swapbuffer in dri output
> ---
> src/i965_output_dri.c | 5 ++---
> src/intel_driver.c | 9 +++++++++
> src/intel_driver.h | 9 +++++++--
> 3 files changed, 18 insertions(+), 5 deletions(-)
>
> diff --git a/src/i965_output_dri.c b/src/i965_output_dri.c
> index 717ee9a..9b00d1b 100644
> --- a/src/i965_output_dri.c
> +++ b/src/i965_output_dri.c
> @@ -137,8 +137,7 @@ i965_put_surface_dri(
> * will get here
> */
> obj_surface = SURFACE(surface);
> - if (!obj_surface || !obj_surface->bo)
> - return VA_STATUS_SUCCESS;
> + ASSERT_RET(obj_surface && obj_surface->bo, VA_STATUS_SUCCESS);
>
> _i965LockMutex(&i965->render_mutex);
>
> @@ -204,7 +203,7 @@ i965_put_surface_dri(
> }
> }
>
> - if (!getenv("INTEL_DEBUG_BENCH"))
> + if (!(g_intel_debug_option_flags & VA_INTEL_DEBUG_OPTION_BENCH))
> dri_vtable->swap_buffer(ctx, dri_drawable);
> obj_surface->flags |= SURFACE_DISPLAYED;
>
> diff --git a/src/intel_driver.c b/src/intel_driver.c
> index e3e082d..994e64c 100644
> --- a/src/intel_driver.c
> +++ b/src/intel_driver.c
> @@ -34,6 +34,7 @@
> #include "intel_batchbuffer.h"
> #include "intel_memman.h"
> #include "intel_driver.h"
> +uint32_t g_intel_debug_option_flags = 0;
>
> static Bool
> intel_driver_get_param(struct intel_driver_data *intel, int param, int *value)
> @@ -75,6 +76,14 @@ intel_driver_init(VADriverContextP ctx)
> struct intel_driver_data *intel = intel_driver_data(ctx);
> struct drm_state * const drm_state = (struct drm_state *)ctx->drm_state;
> int has_exec2 = 0, has_bsd = 0, has_blt = 0, has_vebox = 0;
> + char *env_str = NULL;
> +
> + g_intel_debug_option_flags = 0;
> + if ((env_str = getenv("VA_INTEL_DEBUG")))
> + g_intel_debug_option_flags = atoi(env_str);
> +
> + if (g_intel_debug_option_flags)
> + fprintf(stderr, "g_intel_debug_option_flags:%x\n", g_intel_debug_option_flags);
>
> assert(drm_state);
> assert(VA_CHECK_DRM_AUTH_TYPE(ctx, VA_DRM_AUTH_DRI1) ||
> diff --git a/src/intel_driver.h b/src/intel_driver.h
> index 6653f43..487bf03 100644
> --- a/src/intel_driver.h
> +++ b/src/intel_driver.h
> @@ -76,9 +76,14 @@ struct intel_batchbuffer;
> #define True 1
> #define False 0
>
> +extern uint32_t g_intel_debug_option_flags;
> +#define VA_INTEL_DEBUG_OPTION_ASSERT (1 << 0)
> +#define VA_INTEL_DEBUG_OPTION_BENCH (1 << 1)
> +
> #define ASSERT_RET(value, fail_ret) do { \
> - if (!(value)) { \
> - assert(0); \
> + if (!(value)) { \
> + if (g_intel_debug_option_flags & VA_INTEL_DEBUG_OPTION_ASSERT) \
> + assert(value); \
> return fail_ret; \
> } \
> } while (0)
More information about the Libva
mailing list