diff options
author | Russell King <rmk@arm.linux.org.uk> | 2015-06-20 09:39:37 +0100 |
---|---|---|
committer | Russell King <rmk@arm.linux.org.uk> | 2015-06-29 12:58:37 +0100 |
commit | 03ccd7cbf4c4b63dcd28ce2484c574fa2b2fcdda (patch) | |
tree | bdcf04ac75e95b0ce26bc96df1ab8c82a732e806 | |
parent | c885221a01b1b5fc319cc56a6a39e9355b9cab95 (diff) |
etnaviv: get rid of gal_prepare_gpu()
Finally get rid of gal_prepare_gpu(), which has been needing to die for
a while now.
Signed-off-by: Russell King <rmk@arm.linux.org.uk>
-rw-r--r-- | etnaviv/etnaviv_accel.c | 48 | ||||
-rw-r--r-- | etnaviv/etnaviv_utils.c | 9 | ||||
-rw-r--r-- | etnaviv/etnaviv_xv.c | 6 |
3 files changed, 23 insertions, 40 deletions
diff --git a/etnaviv/etnaviv_accel.c b/etnaviv/etnaviv_accel.c index cc6e241..4cfc12b 100644 --- a/etnaviv/etnaviv_accel.c +++ b/etnaviv/etnaviv_accel.c @@ -103,26 +103,6 @@ static void etnaviv_batch_add(struct etnaviv *etnaviv, } -Bool gal_prepare_gpu(struct etnaviv *etnaviv, struct etnaviv_pixmap *vPix, - enum gpu_access access) -{ -#ifdef DEBUG_CHECK_DRAWABLE_USE - if (vPix->in_use) { - fprintf(stderr, "Trying to accelerate: %p %p %u\n", - vPix, - vPix->etna_bo ? (void *)vPix->etna_bo : - (void *)vPix->bo, - vPix->in_use); - return FALSE; - } -#endif - - if (!etnaviv_map_gpu(etnaviv, vPix, access)) - return FALSE; - - return TRUE; -} - static void etnaviv_blit_complete(struct etnaviv *etnaviv) { etnaviv_de_end(etnaviv); @@ -186,7 +166,7 @@ static Bool etnaviv_init_dst_drawable(struct etnaviv *etnaviv, if (!etnaviv_dst_format_valid(etnaviv, op->dst.pixmap->format)) return FALSE; - if (!gal_prepare_gpu(etnaviv, op->dst.pixmap, GPU_ACCESS_RW)) + if (!etnaviv_map_gpu(etnaviv, op->dst.pixmap, GPU_ACCESS_RW)) return FALSE; op->dst.bo = op->dst.pixmap->etna_bo; @@ -208,8 +188,8 @@ static Bool etnaviv_init_dstsrc_drawable(struct etnaviv *etnaviv, !etnaviv_dst_format_valid(etnaviv, op->dst.pixmap->format)) return FALSE; - if (!gal_prepare_gpu(etnaviv, op->dst.pixmap, GPU_ACCESS_RW) || - !gal_prepare_gpu(etnaviv, op->src.pixmap, GPU_ACCESS_RO)) + if (!etnaviv_map_gpu(etnaviv, op->dst.pixmap, GPU_ACCESS_RW) || + !etnaviv_map_gpu(etnaviv, op->src.pixmap, GPU_ACCESS_RO)) return FALSE; op->dst.bo = op->dst.pixmap->etna_bo; @@ -232,7 +212,7 @@ static Bool etnaviv_init_src_pixmap(struct etnaviv *etnaviv, if (!etnaviv_src_format_valid(etnaviv, op->src.pixmap->format)) return FALSE; - if (!gal_prepare_gpu(etnaviv, op->src.pixmap, GPU_ACCESS_RO)) + if (!etnaviv_map_gpu(etnaviv, op->src.pixmap, GPU_ACCESS_RO)) return FALSE; op->src.bo = op->src.pixmap->etna_bo; @@ -1151,7 +1131,7 @@ static Bool etnaviv_fill_single(struct etnaviv *etnaviv, .fg_colour = colour, }; - if (!gal_prepare_gpu(etnaviv, vPix, GPU_ACCESS_RW)) + if (!etnaviv_map_gpu(etnaviv, vPix, GPU_ACCESS_RW)) return FALSE; op.dst = INIT_BLIT_PIX(vPix, vPix->pict_format, ZERO_OFFSET); @@ -1178,8 +1158,8 @@ static Bool etnaviv_blend(struct etnaviv *etnaviv, const BoxRec *clip, .brush = FALSE, }; - if (!gal_prepare_gpu(etnaviv, vDst, GPU_ACCESS_RW) || - !gal_prepare_gpu(etnaviv, vSrc, GPU_ACCESS_RO)) + if (!etnaviv_map_gpu(etnaviv, vDst, GPU_ACCESS_RW) || + !etnaviv_map_gpu(etnaviv, vSrc, GPU_ACCESS_RO)) return FALSE; op.src = INIT_BLIT_PIX(vSrc, vSrc->pict_format, src_offset); @@ -1456,7 +1436,7 @@ static Bool etnaviv_Composite_Clear(PicturePtr pDst, struct etnaviv_de_op *op) vDst = etnaviv_drawable_offset(pDst->pDrawable, &dst_offset); - if (!gal_prepare_gpu(etnaviv, vDst, GPU_ACCESS_RW)) + if (!etnaviv_map_gpu(etnaviv, vDst, GPU_ACCESS_RW)) return FALSE; op->src = INIT_BLIT_PIX(vDst, vDst->pict_format, ZERO_OFFSET); @@ -1526,8 +1506,8 @@ static int etnaviv_accel_composite_srconly(PicturePtr pSrc, PicturePtr pDst, src_topleft.x -= xDst + dst_offset.x; src_topleft.y -= yDst + dst_offset.y; - if (!gal_prepare_gpu(etnaviv, vDst, GPU_ACCESS_RW) || - !gal_prepare_gpu(etnaviv, vSrc, GPU_ACCESS_RO)) + if (!etnaviv_map_gpu(etnaviv, vDst, GPU_ACCESS_RW) || + !etnaviv_map_gpu(etnaviv, vSrc, GPU_ACCESS_RO)) return FALSE; final_op->src = INIT_BLIT_PIX(vSrc, vSrc->pict_format, src_topleft); @@ -1662,8 +1642,8 @@ finish: src_topleft.x = -(xDst + dst_offset.x); src_topleft.y = -(yDst + dst_offset.y); - if (!gal_prepare_gpu(etnaviv, vDst, GPU_ACCESS_RW) || - !gal_prepare_gpu(etnaviv, vSrc, GPU_ACCESS_RO)) + if (!etnaviv_map_gpu(etnaviv, vDst, GPU_ACCESS_RW) || + !etnaviv_map_gpu(etnaviv, vSrc, GPU_ACCESS_RO)) return FALSE; final_op->src = INIT_BLIT_PIX(vSrc, vSrc->pict_format, src_topleft); @@ -1971,7 +1951,7 @@ Bool etnaviv_accel_Glyphs(CARD8 final_op, PicturePtr pSrc, PicturePtr pDst, PixmapPtr pPix = drawable_pixmap(grp->picture->pDrawable); struct etnaviv_pixmap *v = etnaviv_get_pixmap_priv(pPix); - if (!gal_prepare_gpu(etnaviv, v, GPU_ACCESS_RO)) + if (!etnaviv_map_gpu(etnaviv, v, GPU_ACCESS_RO)) goto destroy_picture; if (pCurrent) @@ -2097,7 +2077,7 @@ void etnaviv_accel_glyph_upload(ScreenPtr pScreen, PicturePtr pDst, etnaviv_set_format(vdst, pDst); - if (!gal_prepare_gpu(etnaviv, vdst, GPU_ACCESS_RW)) + if (!etnaviv_map_gpu(etnaviv, vdst, GPU_ACCESS_RW)) return; op.dst = INIT_BLIT_PIX(vdst, vdst->pict_format, dst_offset); diff --git a/etnaviv/etnaviv_utils.c b/etnaviv/etnaviv_utils.c index 27b36b3..7b4cb81 100644 --- a/etnaviv/etnaviv_utils.c +++ b/etnaviv/etnaviv_utils.c @@ -99,7 +99,14 @@ Bool etnaviv_map_gpu(struct etnaviv *etnaviv, struct etnaviv_pixmap *vPix, uint32_t handle; #ifdef DEBUG_CHECK_DRAWABLE_USE - assert(vPix->in_use == 0); + if (vPix->in_use) { + fprintf(stderr, "Trying to accelerate: %p %p %u\n", + vPix, + vPix->etna_bo ? (void *)vPix->etna_bo : + (void *)vPix->bo, + vPix->in_use); + return FALSE; + } #endif if (access == GPU_ACCESS_RO) { diff --git a/etnaviv/etnaviv_xv.c b/etnaviv/etnaviv_xv.c index a30edf1..d0de415 100644 --- a/etnaviv/etnaviv_xv.c +++ b/etnaviv/etnaviv_xv.c @@ -7,7 +7,6 @@ * - does not use SRC_ORIGIN_FRACTION. * * Todo: - * - sort out gal_prepare_gpu() hack * - sync with display (using drmWaitVBlank?) */ #ifdef HAVE_CONFIG_H @@ -41,9 +40,6 @@ #include "etnaviv/etna_bo.h" #include "etnaviv/state_2d.xml.h" -Bool gal_prepare_gpu(struct etnaviv *etnaviv, struct etnaviv_pixmap *vPix, - enum gpu_access access); - /* * The Vivante GPU supports up to 32k x 32k, but that would be * 2GB in 16bpp. Limit to 4k x 4k, which gives us 32M. @@ -474,7 +470,7 @@ static int etnaviv_PutImage(ScrnInfoPtr pScrn, if (!vPix) return BadMatch; - if (!gal_prepare_gpu(etnaviv, vPix, GPU_ACCESS_RW)) + if (!etnaviv_map_gpu(etnaviv, vPix, GPU_ACCESS_RW)) return BadMatch; if (is_xvbo) |