Forum » » OS4 sur Classic » » AmigaOS4.1 sur WinUAE PPC
Posté : 03-02-2017 11:29
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;
}
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