Compilation bgrabitmap package now OK on Ubuntu 12.04 64 bits (x86_64) :
for error on function IntersectLine(line1, line2: TLineDef): TPointF; ( BGRABitmapTypes.pas ) :
do :
=======================================================
{$OPTIMIZATION OFF}
function IntersectLine(line1, line2: TLineDef): TPointF;
var parallel: boolean;
begin
result := IntersectLine(line1,line2,parallel);
end;
{$OPTIMIZATION ON}
============================================================
for all errors ex: bgrasse.pas(322,3) Error: Invalid register used in memory reference expression: "xmm0"
do : replace const by constref
ex :
function DotProduct3D_128_SSE3(const v1,v2: TPoint3D_128): single; assembler;
asm
movups xmm0, [v1]
movups xmm1, [v2]
mulps xmm0, xmm1
replaced by :
function DotProduct3D_128_SSE3(constref v1,v2: TPoint3D_128): single; assembler;
why ?
because : The parameter passing mode "constref" ensures that something is passed
as reference and never as value.
Friendly, J.P