intel: Add an interface for setting the output file for decode.
Consumers often want to choose stdout vs stderr, and for testing I want to output to an open_memstream file. Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>main
parent
a9dd34a7ee
commit
ea33a231d5
|
@ -34,6 +34,7 @@
|
|||
#ifndef INTEL_BUFMGR_H
|
||||
#define INTEL_BUFMGR_H
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdint.h>
|
||||
|
||||
struct drm_clip_rect;
|
||||
|
@ -199,6 +200,7 @@ void drm_intel_decode_set_dump_past_end(struct drm_intel_decode *ctx,
|
|||
int dump_past_end);
|
||||
void drm_intel_decode_set_head_tail(struct drm_intel_decode *ctx,
|
||||
uint32_t head, uint32_t tail);
|
||||
void drm_intel_decode_set_output_file(struct drm_intel_decode *ctx, FILE *out);
|
||||
void drm_intel_decode(struct drm_intel_decode *ctx);
|
||||
|
||||
|
||||
|
|
|
@ -33,6 +33,9 @@
|
|||
|
||||
/* Struct for tracking drm_intel_decode state. */
|
||||
struct drm_intel_decode {
|
||||
/** stdio file where the output should land. Defaults to stdout. */
|
||||
FILE *out;
|
||||
|
||||
/** PCI device ID. */
|
||||
uint32_t devid;
|
||||
|
||||
|
@ -3558,6 +3561,7 @@ drm_intel_decode_context_alloc(uint32_t devid)
|
|||
return NULL;
|
||||
|
||||
ctx->devid = devid;
|
||||
ctx->out = stdout;
|
||||
|
||||
return ctx;
|
||||
}
|
||||
|
@ -3592,6 +3596,13 @@ drm_intel_decode_set_head_tail(struct drm_intel_decode *ctx,
|
|||
ctx->tail = tail;
|
||||
}
|
||||
|
||||
void
|
||||
drm_intel_decode_set_output_file(struct drm_intel_decode *ctx,
|
||||
FILE *out)
|
||||
{
|
||||
ctx->out = out;
|
||||
}
|
||||
|
||||
/**
|
||||
* Decodes an i830-i915 batch buffer, writing the output to stdout.
|
||||
*
|
||||
|
@ -3618,12 +3629,11 @@ drm_intel_decode(struct drm_intel_decode *ctx)
|
|||
devid = ctx->devid;
|
||||
head_offset = ctx->head;
|
||||
tail_offset = ctx->tail;
|
||||
out = ctx->out;
|
||||
|
||||
saved_s2_set = 0;
|
||||
saved_s4_set = 1;
|
||||
|
||||
out = stdout;
|
||||
|
||||
while (index < count) {
|
||||
switch ((data[index] & 0xe0000000) >> 29) {
|
||||
case 0x0:
|
||||
|
|
Loading…
Reference in New Issue