summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorElaine Wang <elaine.wang@intel.com>2012-11-09 15:35:23 +0800
committerXiang, Haihao <haihao.xiang@intel.com>2013-06-19 14:24:30 +0800
commit84e3a6ca525ba9859f8de9f04e068e791b81bcb4 (patch)
tree3f5b07a04943dc1dcef4a29ff432ecf51d53f920
parentcd08c78169c4b958f5c491fb409f09870f90ee5b (diff)
vatrace: Fix encoded coded buffer dump function
libva trace can't dump coded buffer. It's caused by the wrong decison in vaTraceEndPicture function which only dump coded buffer when surface dumping is enabled. Signed-off-by: Elaine Wang <elaine.wang@intel.com> Change-Id: I8b0ec01e59faff3bfd5345d95cbf0e781f6f3706 (cherry picked from commit 202385430f29b3d3d356d86888a0f3979986b4e7)
-rw-r--r--va/va_trace.c15
1 files changed, 7 insertions, 8 deletions
diff --git a/va/va_trace.c b/va/va_trace.c
index 0d51898..28cb586 100644
--- a/va/va_trace.c
+++ b/va/va_trace.c
@@ -2218,15 +2218,14 @@ void va_TraceEndPicture(
va_TraceMsg(idx, "\tcontext = 0x%08x\n", context);
va_TraceMsg(idx, "\trender_targets = 0x%08x\n", trace_context[idx].trace_rendertarget);
- encode = (trace_context[idx].trace_entrypoint == VAEntrypointEncSlice) &&
- (trace_flag & VA_TRACE_FLAG_SURFACE_ENCODE);
- decode = (trace_context[idx].trace_entrypoint == VAEntrypointVLD) &&
- (trace_flag & VA_TRACE_FLAG_SURFACE_DECODE);
- jpeg = (trace_context[idx].trace_entrypoint == VAEntrypointEncPicture) &&
- (trace_flag & VA_TRACE_FLAG_SURFACE_JPEG);
+ /* avoid to create so many empty files */
+ encode = (trace_context[idx].trace_entrypoint == VAEntrypointEncSlice);
+ decode = (trace_context[idx].trace_entrypoint == VAEntrypointVLD);
+ jpeg = (trace_context[idx].trace_entrypoint == VAEntrypointEncPicture);
/* trace encode source surface, can do it before HW completes rendering */
- if (encode || jpeg)
+ if ((encode && (trace_flag & VA_TRACE_FLAG_SURFACE_ENCODE))||
+ (jpeg && (trace_flag & VA_TRACE_FLAG_SURFACE_JPEG)))
va_TraceSurface(dpy);
/* trace coded buffer, do it after HW completes rendering */
@@ -2236,7 +2235,7 @@ void va_TraceEndPicture(
}
/* trace decoded surface, do it after HW completes rendering */
- if (decode) {
+ if (decode && ((trace_flag & VA_TRACE_FLAG_SURFACE_DECODE))) {
vaSyncSurface(dpy, trace_context[idx].trace_rendertarget);
va_TraceSurface(dpy);
}