summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAustin Yuan <shengquan.yuan@intel.com>2014-02-18 10:39:00 +0800
committerXiang, Haihao <haihao.xiang@intel.com>2014-03-17 11:07:27 +0800
commit74e6f94c3158b832aa65ba64e547e49a650c981b (patch)
treede18c38b6acf242fc990cc16e338d6f048ca51a9
parent8663aef5d3eec675838fc903ac8b09b5ff055b8c (diff)
vatrace: print VASurfaceAttribExternalBufferDescriptor
Signed-off-by: Austin Yuan <shengquan.yuan@intel.com> (cherry picked from commit fae9c44816a4c3cfc480d2879d1b4a0c1c3a1527)
-rw-r--r--va/va_trace.c45
1 files changed, 38 insertions, 7 deletions
diff --git a/va/va_trace.c b/va/va_trace.c
index ca8931f..886a009 100644
--- a/va/va_trace.c
+++ b/va/va_trace.c
@@ -299,7 +299,7 @@ void va_TraceMsg(struct trace_context *trace_ctx, const char *msg, ...)
struct timeval tv;
if (gettimeofday(&tv, NULL) == 0)
- fprintf(trace_ctx->trace_fp_log, "[%04d:%06d] ",
+ fprintf(trace_ctx->trace_fp_log, "[%04d.%06d] ",
(unsigned int)tv.tv_sec & 0xffff, (unsigned int)tv.tv_usec);
va_start(args, msg);
vfprintf(trace_ctx->trace_fp_log, msg, args);
@@ -532,19 +532,50 @@ static void va_TraceSurfaceAttributes(
num = VASurfaceAttribCount;
for (i=0; i<num; i++) {
+ int type = p->value.type;
+
va_TraceMsg(trace_ctx, "\tattrib_list[%i] =\n", i);
va_TraceMsg(trace_ctx, "\t\ttype = %d\n", p->type);
va_TraceMsg(trace_ctx, "\t\tflags = %d\n", p->flags);
- va_TraceMsg(trace_ctx, "\t\tvalue.type = %d\n", p->value.type);
- if (p->value.type == VAGenericValueTypeInteger)
+ va_TraceMsg(trace_ctx, "\t\tvalue.type = %d\n", type);
+ switch (type) {
+ case VAGenericValueTypeInteger:
va_TraceMsg(trace_ctx, "\t\tvalue.value.i = 0x%08x\n", p->value.value.i);
- else if (p->value.type == VAGenericValueTypeFloat)
- va_TraceMsg(trace_ctx, "\t\tvalue.value.f = %f\n", p->value.value.f);
- else if (p->value.type == VAGenericValueTypePointer)
+ break;
+ case VAGenericValueTypeFloat:
+ va_TraceMsg(trace_ctx, "\t\tvalue.value.f = %f\n", p->value.value.f);
+ break;
+ case VAGenericValueTypePointer:
va_TraceMsg(trace_ctx, "\t\tvalue.value.p = %p\n", p->value.value.p);
- else if (p->value.type == VAGenericValueTypeFunc)
+ if (type == VASurfaceAttribExternalBufferDescriptor) {
+ VASurfaceAttribExternalBuffers *tmp = (VASurfaceAttribExternalBuffers *) p->value.value.p;
+ int j;
+
+ va_TraceMsg(trace_ctx, "\t\t--VASurfaceAttribExternalBufferDescriptor\n");
+ va_TraceMsg(trace_ctx, "\t\t pixel_format=0x%08x\n", tmp->pixel_format);
+ va_TraceMsg(trace_ctx, "\t\t width=%d\n", tmp->width);
+ va_TraceMsg(trace_ctx, "\t\t height=%d\n", tmp->height);
+ va_TraceMsg(trace_ctx, "\t\t data_size=%d\n", tmp->data_size);
+ va_TraceMsg(trace_ctx, "\t\t num_planes=%d\n", tmp->num_planes);
+ va_TraceMsg(trace_ctx, "\t\t pitches[4]=%d %d %d %d\n",
+ tmp->pitches[0], tmp->pitches[1], tmp->pitches[2], tmp->pitches[3]);
+ va_TraceMsg(trace_ctx, "\t\t offsets[4]=%d %d %d %d\n",
+ tmp->offsets[0], tmp->offsets[1], tmp->offsets[2], tmp->offsets[3]);
+ va_TraceMsg(trace_ctx, "\t\t flags=0x%08x\n", tmp->flags);
+ va_TraceMsg(trace_ctx, "\t\t num_buffers=0x%08x\n", tmp->num_buffers);
+ va_TraceMsg(trace_ctx, "\t\t buffers=\n", tmp->buffers);
+ for (j = 0; j < tmp->num_buffers; j++) {
+ va_TraceMsg(trace_ctx, "\t\t\tbuffers[%j]=0x%08x\n", tmp->buffers[j]);
+ }
+ }
+ break;
+ case VAGenericValueTypeFunc:
va_TraceMsg(trace_ctx, "\t\tvalue.value.fn = %p\n", p->value.value.fn);
+ break;
+ default:
+ break;
+ }
p++;
}