From 9047420a7312a94403bf863c0f11c44bef84b065 Mon Sep 17 00:00:00 2001 From: "Zhao, Halley" Date: Wed, 28 May 2014 16:38:01 +0800 Subject: debug: add g_intel_debug_option_flags for simple driver debug VA_INTEL_DEBUG_ASSERT decides assert() is enabled or not VA_INTEL_DEBUG_BENCH decides skipping swapbuffer in dri output (cherry picked from commit 60413182f66c44781456e827b439e98f21cfae4c) --- 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 fdd69ce..2a812d3 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 8636b21..7a726e3 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) -- cgit v1.2.3