diff options
author | Zhao, Halley <halley.zhao@intel.com> | 2014-05-28 16:38:01 +0800 |
---|---|---|
committer | Xiang, Haihao <haihao.xiang@intel.com> | 2014-06-06 12:52:23 +0800 |
commit | 9047420a7312a94403bf863c0f11c44bef84b065 (patch) | |
tree | 9a05e73818b99a5e28b2a1eae02830733b536292 | |
parent | aa1b177ace6b32db76e541c35c951433c909529e (diff) | |
download | libva-intel-driver-9047420a7312a94403bf863c0f11c44bef84b065.tar.gz libva-intel-driver-9047420a7312a94403bf863c0f11c44bef84b065.tar.bz2 libva-intel-driver-9047420a7312a94403bf863c0f11c44bef84b065.zip |
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)
-rw-r--r-- | src/i965_output_dri.c | 5 | ||||
-rw-r--r-- | src/intel_driver.c | 9 | ||||
-rw-r--r-- | 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) |