summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRussell King <rmk@arm.linux.org.uk>2015-06-20 09:39:37 +0100
committerRussell King <rmk@arm.linux.org.uk>2015-06-29 12:58:37 +0100
commit03ccd7cbf4c4b63dcd28ce2484c574fa2b2fcdda (patch)
treebdcf04ac75e95b0ce26bc96df1ab8c82a732e806
parentc885221a01b1b5fc319cc56a6a39e9355b9cab95 (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.c48
-rw-r--r--etnaviv/etnaviv_utils.c9
-rw-r--r--etnaviv/etnaviv_xv.c6
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)