Welcome, Guest. Please login or register.

Author Topic: Minimig AGA 060 RTG  (Read 58650 times)

Description:

0 Members and 1 Guest are viewing this topic.

Offline unusedunused

  • Sr. Member
  • ****
  • Join Date: Nov 2005
  • Posts: 479
    • Show all replies
Re: Minimig AGA 060 RTG
« on: August 13, 2011, 05:59:25 PM »
Quote from: yaqube;648912
You can see here a working version of Picasso 96 RTG driver for the Minimig's built-in graphics card.
The Replay FPGA board with 060 daughter board was used as the hardware platform.
It's not complete yet and there is still a lot to do but at least you can see the picture :D.



great, also dont forget to add a fpga function for alpha blendet blitting.SDL is able to use a Hardware alpha blend blit function

So SDL Programs can run lots lots faster on a minimig AGA RTG
maybe you get in contact with natami team so, the calling syntax can be the same, and not diffrent versions in SDL are need.
 

Offline unusedunused

  • Sr. Member
  • ****
  • Join Date: Nov 2005
  • Posts: 479
    • Show all replies
Re: Minimig AGA 060 RTG
« Reply #1 on: August 14, 2011, 12:32:09 PM »
I see in MOS powersdl, there is a call to do alpha blit on AOS.the source is in AROS too, its only software in this bltbitmapalpha func, but when call the minimig Blitter which can do alpha blitting this can do in hardware extreme fast.

Code: [Select]
static int CGX_HWAccelBlit(SDL_Surface *src, SDL_Rect *srcrect, SDL_Surface *dst, SDL_Rect *dstrect)
{
  //D(bug("[SDL] CGX_HWAccelBlit()\n"));

  if (src->hwdata)
  {
  if (src->flags & (SDL_SRCALPHA|SDL_SRCCOLORKEY)) // && (src->hwdata->pixfmt == PIXFMT_ARGB32 || src->hwdata->pixfmt == PIXFMT_BGRA32))
  {
    STATIC CONST struct TagItem Tags1[] = { { BLTBMA_USESOURCEALPHA, TRUE }, { TAG_DONE, 0 } };
    //STATIC CONST struct TagItem Tags2[] = { { BLTBMA_MIXLEVEL, 0xffffffff }, { TAG_DONE, 0 } };

    BltBitMapAlpha(src->hwdata->bmap,
            srcrect->x,
            srcrect->y,
            dst->hwdata->bmap,
            dstrect->x,
            dstrect->y,
            srcrect->w,
            srcrect->h,
      (struct TagItem *)&Tags1);
                //src->flags & (SDL_SRCCOLORKEY|SDL_SRCALPHA) ? (struct TagItem *)&Tags1 : (struct TagItem *)&Tags2);
  }
  else
  {
    BltBitMap(src->hwdata->bmap,
            srcrect->x,
            srcrect->y,
            dst->hwdata->bmap,
            dstrect->x,
            dstrect->y,
            srcrect->w,
            srcrect->h,
            0xc0,0xff,
            NULL);
  }
  }
  else
  {
  struct RastPort *rp;
« Last Edit: August 14, 2011, 12:34:48 PM by bernd_afa »