Convert code from using Picasso96 to graphics library

2 posts / 0 new
Last post
walkero
walkero's picture
Offline
Last seen: 2 weeks 5 days 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 https://sourceforge.net/projects/agg.

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 https://git.walkero.gr/walkero/agg 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.

https://git.walkero.gr/walkero/agg/pulls/1/files

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
jabirulo's picture
Offline
Last seen: 2 days 18 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,
TAG_END);
...

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