From 7ff35cc1d0b3896b72ac6b1b223d84383549f7b9 Mon Sep 17 00:00:00 2001 From: Imre Deak Date: Sun, 29 Dec 2019 20:25:43 +0200 Subject: lib/igt_buf: Extend igt_buf to include two color surfaces UV FBs have two color surfaces so extend the igt_buf struct accordingly to support blitting such FBs. The patch is produced with the coccinelle patch below. No functional changes. @@ @@ struct igt_buf { ... - uint32_t stride; ... - uint32_t size; + struct { + uint32_t stride; + uint32_t size; + } surface[2]; ... }; @@ struct igt_buf b; @@ <... ( - b.stride + b.surface[0].stride | - b.size + b.surface[0].size ) ...> @@ struct igt_buf *b; @@ <... ( - b->size + b->surface[0].size | - b->stride + b->surface[0].stride ) ...> @@ identifier I; expression E1; expression E2; @@ ( struct igt_buf I = { - .size = E1, - .stride = E2, + .surface[0] = { + .size = E1, + .stride = E2, + }, }; | struct igt_buf I = { - .size = E1, + .surface[0] = { + .size = E1, + }, }; | struct igt_buf I = { - .stride = E1, + .surface[0] = { + .stride = E1, + }, }; ) v2: - Rebase on latest upstream. (Mika) Cc: Mika Kahola Signed-off-by: Imre Deak Reviewed-by: Mika Kahola --- lib/intel_batchbuffer.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'lib/intel_batchbuffer.c') diff --git a/lib/intel_batchbuffer.c b/lib/intel_batchbuffer.c index 51aae4dc..3dc89024 100644 --- a/lib/intel_batchbuffer.c +++ b/lib/intel_batchbuffer.c @@ -512,7 +512,7 @@ intel_copy_bo(struct intel_batchbuffer *batch, */ unsigned igt_buf_width(const struct igt_buf *buf) { - return buf->stride/(buf->bpp / 8); + return buf->surface[0].stride/(buf->bpp / 8); } /** @@ -526,7 +526,7 @@ unsigned igt_buf_width(const struct igt_buf *buf) */ unsigned igt_buf_height(const struct igt_buf *buf) { - return buf->size/buf->stride; + return buf->surface[0].size/buf->surface[0].stride; } /* @@ -785,8 +785,8 @@ void igt_blitter_fast_copy(struct intel_batchbuffer *batch, igt_assert(src->bpp == dst->bpp); - src_pitch = fast_copy_pitch(src->stride, src->tiling); - dst_pitch = fast_copy_pitch(dst->stride, src->tiling); + src_pitch = fast_copy_pitch(src->surface[0].stride, src->tiling); + dst_pitch = fast_copy_pitch(dst->surface[0].stride, src->tiling); dword0 = fast_copy_dword0(src->tiling, dst->tiling); dword1 = fast_copy_dword1(src->tiling, dst->tiling, dst->bpp); -- cgit v1.2.3