diff options
author | Elaine Wang <elaine.wang@intel.com> | 2012-11-09 15:35:23 +0800 |
---|---|---|
committer | Xiang, Haihao <haihao.xiang@intel.com> | 2013-06-19 14:24:30 +0800 |
commit | 84e3a6ca525ba9859f8de9f04e068e791b81bcb4 (patch) | |
tree | 3f5b07a04943dc1dcef4a29ff432ecf51d53f920 | |
parent | cd08c78169c4b958f5c491fb409f09870f90ee5b (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.c | 15 |
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); } |