DirectFB/Graphics: Vivante unknown chip model 1.0 (Vivante)
1) I'm having problem ATM to use hw acceleration for displaying/scaling preallocated I420 surfaces. At first, I've got alignment warnings like these:
|(!!!) *** WARNING [Prealloc address is not aligned!|
|] *** [gc_dfb_pool.c:322 in galAllocateBuffer()]|
(!!!) *** WARNING [Failed to do blit. status: -20
After I align preallocated buffer by 64 bytes I started getting the following warning:
|*** [gc_dfb_raster.c:1463 in galBlit()]|
(!!!) *** WARNING [Failed to do blit. status: -20 ]
If I disable hw acceleration (e.g. either by by removing libdirectfb_gal.so from gfxdrivers directory or by setting "no-hardware" option in directfbrc) I can create I420 surface and scale it if needed(using StretchBlit()) without any problems.
Original source code for blitting/stretch blitting:
idsc.flags = DSDESC_HEIGHT | DSDESC_WIDTH | DSDESC_PREALLOCATED | DSDESC_PIXELFORMAT;
idsc.caps = DSCAPS_NONE;
idsc.pixelformat = DSPF_I420;
idsc.preallocated.data = (uint8_t *)ptr; /* 64 byte aligned */
idsc.preallocated.pitch = idsc.width;
idsc.preallocated.data = NULL;
idsc.preallocated.pitch = 0;
DFBCHECK(dfb->CreateSurface(dfb, &idsc, &yuvsf));
DFBCHECK(primary->Blit(primary, yuvsf, NULL, x, y));
primary's format is RGB32.
2) I'm also having problems when trying to Blit RGB24 preallocated surface to RGB32 primary surface. Errors:
] *** [gc_dfb_utils.c:239 in gal_get_native_format()]
(!?!) *** BUG [unexpected pixelformat.