diff options
author | Eric Anholt <[email protected]> | 2018-07-30 11:29:26 -0700 |
---|---|---|
committer | Eric Anholt <[email protected]> | 2018-07-30 14:29:01 -0700 |
commit | 103f21b13d839ccd011b06b5708e7b9c1b8d228e (patch) | |
tree | f0241ecd2d66b47bec6c26d4b55a54de6541219b | |
parent | 89ac6fa4036da815b5cf4985f438cec73df67480 (diff) |
v3d: Add a separate flag for CLIF ABI output versus human-readable CLs.
A few of the upcoming changes would make the V3D_DEBUG=cl output less
readable, so let's make proper CLIF file production be under a separate
V3D_DEBUG=clif flag.
-rw-r--r-- | src/broadcom/clif/clif_dump.c | 3 | ||||
-rw-r--r-- | src/broadcom/clif/clif_dump.h | 2 | ||||
-rw-r--r-- | src/broadcom/clif/clif_private.h | 6 | ||||
-rw-r--r-- | src/broadcom/common/v3d_debug.c | 1 | ||||
-rw-r--r-- | src/broadcom/common/v3d_debug.h | 1 | ||||
-rw-r--r-- | src/gallium/drivers/v3d/v3d_job.c | 5 | ||||
-rw-r--r-- | src/gallium/drivers/vc4/vc4_cl_dump.c | 2 |
7 files changed, 15 insertions, 5 deletions
diff --git a/src/broadcom/clif/clif_dump.c b/src/broadcom/clif/clif_dump.c index 6bee7a481b0..a637ba5999f 100644 --- a/src/broadcom/clif/clif_dump.c +++ b/src/broadcom/clif/clif_dump.c @@ -51,13 +51,14 @@ clif_dump_add_address_to_worklist(struct clif_dump *clif, struct clif_dump * clif_dump_init(const struct v3d_device_info *devinfo, - FILE *out) + FILE *out, bool pretty) { struct clif_dump *clif = rzalloc(NULL, struct clif_dump); clif->devinfo = devinfo; clif->out = out; clif->spec = v3d_spec_load(devinfo); + clif->pretty = pretty; list_inithead(&clif->worklist); diff --git a/src/broadcom/clif/clif_dump.h b/src/broadcom/clif/clif_dump.h index f89447b9bd9..f0a8f9a1f14 100644 --- a/src/broadcom/clif/clif_dump.h +++ b/src/broadcom/clif/clif_dump.h @@ -31,7 +31,7 @@ struct v3d_device_info; struct clif_dump; struct clif_dump *clif_dump_init(const struct v3d_device_info *devinfo, - FILE *output); + FILE *output, bool pretty); void clif_dump(struct clif_dump *clif); void clif_dump_destroy(struct clif_dump *clif); diff --git a/src/broadcom/clif/clif_private.h b/src/broadcom/clif/clif_private.h index ea96784289a..8753ba229f8 100644 --- a/src/broadcom/clif/clif_private.h +++ b/src/broadcom/clif/clif_private.h @@ -47,6 +47,12 @@ struct clif_dump { struct clif_bo *bo; int bo_count; int bo_array_size; + + /** + * Flag to switch from CLIF ABI to slightly more human-readable + * output. + */ + bool pretty; }; enum reloc_worklist_type { diff --git a/src/broadcom/common/v3d_debug.c b/src/broadcom/common/v3d_debug.c index 4fe86980188..97404448e58 100644 --- a/src/broadcom/common/v3d_debug.c +++ b/src/broadcom/common/v3d_debug.c @@ -41,6 +41,7 @@ uint32_t V3D_DEBUG = 0; static const struct debug_control debug_control[] = { { "cl", V3D_DEBUG_CL}, + { "clif", V3D_DEBUG_CLIF}, { "qpu", V3D_DEBUG_QPU}, { "vir", V3D_DEBUG_VIR}, { "nir", V3D_DEBUG_NIR}, diff --git a/src/broadcom/common/v3d_debug.h b/src/broadcom/common/v3d_debug.h index 75eb2718f30..d9f5255e216 100644 --- a/src/broadcom/common/v3d_debug.h +++ b/src/broadcom/common/v3d_debug.h @@ -54,6 +54,7 @@ extern uint32_t V3D_DEBUG; #define V3D_DEBUG_PERF (1 << 10) #define V3D_DEBUG_NORAST (1 << 11) #define V3D_DEBUG_ALWAYS_FLUSH (1 << 12) +#define V3D_DEBUG_CLIF (1 << 13) #ifdef HAVE_ANDROID_PLATFORM #define LOG_TAG "BROADCOM-MESA" diff --git a/src/gallium/drivers/v3d/v3d_job.c b/src/gallium/drivers/v3d/v3d_job.c index 54b2c8dfac7..d7df04c03c9 100644 --- a/src/gallium/drivers/v3d/v3d_job.c +++ b/src/gallium/drivers/v3d/v3d_job.c @@ -344,11 +344,12 @@ v3d_get_job_for_fbo(struct v3d_context *v3d) static void v3d_clif_dump(struct v3d_context *v3d, struct v3d_job *job) { - if (!(V3D_DEBUG & V3D_DEBUG_CL)) + if (!(V3D_DEBUG & (V3D_DEBUG_CL | V3D_DEBUG_CLIF))) return; struct clif_dump *clif = clif_dump_init(&v3d->screen->devinfo, - stderr); + stderr, + V3D_DEBUG & V3D_DEBUG_CL); struct set_entry *entry; set_foreach(job->bos, entry) { diff --git a/src/gallium/drivers/vc4/vc4_cl_dump.c b/src/gallium/drivers/vc4/vc4_cl_dump.c index bb26b057a44..a6ae0cf80d7 100644 --- a/src/gallium/drivers/vc4/vc4_cl_dump.c +++ b/src/gallium/drivers/vc4/vc4_cl_dump.c @@ -42,7 +42,7 @@ vc4_dump_cl(void *cl, uint32_t size, bool is_render) }; struct v3d_spec *spec = v3d_spec_load(&devinfo); - struct clif_dump *clif = clif_dump_init(&devinfo, stderr); + struct clif_dump *clif = clif_dump_init(&devinfo, stderr, true); uint32_t offset = 0, hw_offset = 0; uint8_t *p = cl; |