Convert code from using Picasso96 to graphics library

2 posts / 0 new
Last post
walkero's picture
Last seen: 4 weeks 1 day ago
Joined: 2009-05-03 16:54
Convert code from using Picasso96 to graphics library

These days I am working on a project which uses the Anti-Gravity Geometry library. There is an old version available on os4depot and I wanted to make an updated one with the latest source code from

There is a makefile for AmigaOS 4, created by Steven Solie, who did the original port. This makefile uses clib2, but I managed to compile the library with newlib without any issues.

The thing is that there is a platform-specific file (agg_platform_support.cpp) which uses Picasso96 libraries, so I decided to convert it to use the graphic v54 library.

I moved the latest SVN code to my git at and made all the necessary changes in the file above, so to remove the Picasso96. You can see the changes at the following pull request.

Please scroll down to the src/platform/AmigaOS/agg_platform_support.cpp file.

With those changes, I can compile and run most of the examples just fine, but I am afraid that I possibly missed something. You see, I have never before done such work and I'd love if anyone could have a look at it.

My questions are:
1. Is anyone here familiar with replacing Picasso96 methods with the latest graphics library ones, that could have a look at my code and give me some feedback?
2. I wonder if there is a way to use the graphics card so to make the result graphics even faster. Is this something that needs to be done in the library or it is a matter of the application that uses agg? And if this needs to be done in the library, what should I check on how to do it?

Thank you all for your help.

jabirulo's picture
Last seen: 1 day 16 hours ago
Joined: 2013-05-30 00:53
Re: Convert code from using Picasso96 to graphics library

Just took it frrom CompositeYUVExt.c (to get rid if 'RenderInfo' struct)
/* Just like any other bitmap in video memory, we need to lock an overlay bitmap. */
APTR memory;
//uint32 bytesPerRow;
//struct PlanarYUVInfo yuvInfo;

APTR lock = IGraphics->LockBitMapTags(bitMap,
LBM_BaseAddress, &memory,
//LBM_BytesPerRow, &bytesPerRow,
//LBM_PlanarYUVInfo, &yuvInfo,

AOS4.1/SAM460ex/PPC460EX-1155MHZ/2048MB/RadeonHD6570/SSD120GB/DVDRW :-P
Log in or register to post comments