summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZhao, Halley <halley.zhao@intel.com>2014-05-28 16:38:01 +0800
committerXiang, Haihao <haihao.xiang@intel.com>2014-06-06 12:52:23 +0800
commit9047420a7312a94403bf863c0f11c44bef84b065 (patch)
tree9a05e73818b99a5e28b2a1eae02830733b536292
parentaa1b177ace6b32db76e541c35c951433c909529e (diff)
downloadlibva-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.c5
-rw-r--r--src/intel_driver.c9
-rw-r--r--src/intel_driver.h9
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)