debug: add g_intel_debug_option_flags for simple driver debug
authorZhao, Halley <halley.zhao@intel.com>
Wed, 28 May 2014 08:38:01 +0000 (16:38 +0800)
committerXiang, Haihao <haihao.xiang@intel.com>
Fri, 6 Jun 2014 04:52:23 +0000 (12:52 +0800)
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
src/intel_driver.c
src/intel_driver.h

index fdd69ce..2a812d3 100644 (file)
@@ -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;
 
index e3e082d..994e64c 100644 (file)
@@ -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) ||
index 8636b21..7a726e3 100644 (file)
@@ -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)