website logo
Auteur
avatar
thellier

Forum » » OS4 sur Classic » » AmigaOS4.1 sur WinUAE PPC


Posté : 03-02-2017 11:29 icone du post

Hello


MAJ plus rapide de PatchCompositeTags pour jouer à Mace dans WinUAE-ppc

http://aminet.net/ package/gfx/misc/PatchCompositeTags

Alain

@Crisot

utilisa tion de ton truc  "pixels en 64 bits" pour les tracé de rectangles façon blit

Implémentation en pur C :

/*===================================================================== =============*/
union Rgba3DX2 {
struct Rgba3DX2L{
 ULONG ARGB320,ARGB321;
 }  L;
struct Rgba3DX2D{
 double ARGB64;
 }  D;
};

*=============================================================== ===================*/

#define ASARGB64(ptr) (*((double*)ptr))

#define MLOOP(nbre) for(m=0;m<nbre;m++)

#define NLOOP4(nbre) for(n=0;n<nbre;n=n+4)

*======================================= ===========================================*/

/* 2 X (read as 32 bits + write as 64 bits) = 4 pixels each time = 2 X Crisot method */   
 if((dx AND 3)==0)  /* can do 4 pixels once */
 { 
  MLOOP(dy)
  {
  u= (Edge1->u);
  Src32V=&Src32[(v>>16)*sline];
   NLOOP4(dx)
   {
   S.L.ARGB320=Src32V [(u>>16)];
   u=u+du;    
    S.L.ARGB321=Src32V[(u>>16)];
   u=u+du;&nbs p;   
   ASARGB64((&Dst32[n  ]))=S.D.ARGB64;
    
   S.L.ARGB320=Sr c32V[(u>>16)];
   u=u+du;    
&n bsp;  S.L.ARGB321=Src32V[(u>>16)];
   u=u+du;     
   ASARGB64((&Dst32[n+2]))=S.D.A RGB64;    
   }
  
   Dst32=&Dst32[dline];     
  v=v +dv;    
  }   
 goto done;
 }

Sam440 - Sam460 - X5000 - PowerBookG4 - WinUAE - MiniMig

Cet article provient de Le site des utilisateurs francophones actuels et futurs d'AmigaOS 4.x
https://amiga-ng.org/viewtopic.php?topic=1926&forum=8