diff options
author | Eric Anholt <[email protected]> | 2015-03-23 17:38:29 -0700 |
---|---|---|
committer | Eric Anholt <[email protected]> | 2015-03-24 10:39:12 -0700 |
commit | 9bafcf630ab009b3b39bbe3c0f4370386bc5a6b2 (patch) | |
tree | 6f652af181e223015b19404c7629a3521e8bd3e0 /src/gallium | |
parent | baa22c8825133a69fd0657f09d2a027236233eb1 (diff) |
vc4: Add some useful debug printfs for miptrees.
I keep rewriting these.
Diffstat (limited to 'src/gallium')
-rw-r--r-- | src/gallium/drivers/vc4/vc4_resource.c | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/src/gallium/drivers/vc4/vc4_resource.c b/src/gallium/drivers/vc4/vc4_resource.c index a26b346955a..b8efa0da1a8 100644 --- a/src/gallium/drivers/vc4/vc4_resource.c +++ b/src/gallium/drivers/vc4/vc4_resource.c @@ -33,12 +33,24 @@ #include "vc4_resource.h" #include "vc4_tiling.h" +static bool miptree_debug = false; + static void vc4_resource_bo_alloc(struct vc4_resource *rsc) { struct pipe_resource *prsc = &rsc->base.b; struct pipe_screen *pscreen = prsc->screen; + if (miptree_debug) { + fprintf(stderr, "alloc %p: size %d + offset %d -> %d\n", + rsc, + rsc->slices[0].size, + rsc->slices[0].offset, + rsc->slices[0].offset + + rsc->slices[0].size + + rsc->cube_map_stride * (prsc->array_size - 1)); + } + vc4_bo_unreference(&rsc->bo); rsc->bo = vc4_bo_alloc(vc4_screen(pscreen), rsc->slices[0].offset + @@ -267,6 +279,22 @@ vc4_setup_slices(struct vc4_resource *rsc) slice->size = level_height * slice->stride; offset += slice->size; + + if (miptree_debug) { + static const char tiling_chars[] = { + [VC4_TILING_FORMAT_LINEAR] = 'R', + [VC4_TILING_FORMAT_LT] = 'L', + [VC4_TILING_FORMAT_T] = 'T' + }; + fprintf(stderr, + "rsc setup %p (format %d), %dx%d: " + "level %d (%c) -> %dx%d, stride %d@0x%08x\n", + rsc, rsc->vc4_format, + prsc->width0, prsc->height0, + i, tiling_chars[slice->tiling], + level_width, level_height, + slice->stride, slice->offset); + } } /* The texture base pointer that has to point to level 0 doesn't have @@ -385,6 +413,15 @@ vc4_resource_from_handle(struct pipe_screen *pscreen, rsc->vc4_format = get_resource_texture_format(prsc); + if (miptree_debug) { + fprintf(stderr, + "rsc import %p (format %d), %dx%d: " + "level 0 (R) -> stride %d@0x%08x\n", + rsc, rsc->vc4_format, + prsc->width0, prsc->height0, + slice->stride, slice->offset); + } + return prsc; fail: |