What a beautiful optimization for 3dfx drivers of Warp3D !
Some explanations are necessary : the old Gcc 2.90.27 was using a 6 instructions slow routine to round some FPU digit before sending them to the GPU :
Some explanations are necessary : the old Gcc 2.90.27 was using a 6 instructions slow routine to round some FPU digit before sending them to the GPU :
This routine is present very often in the whole driver, it got the
advantage to be a 100% compatible with the 68030/68882, the 68040 and
the 68060.
The trouble is that it is very slow... In fact, it is quite possible to replace it with a single statement : fintrz.x !
But there is alas a but : fintrz is not in the transistors of 68040 ! It is emulated by the 68040.library.
Although present in the 68882 of the 68030, engineers at Motorola had the brilliant idea to reinstate it in the 68060 ! And, sigh, for our case here, we will win many cycles !!
So there had to make a choice with this fpCR routine :
It's the second choice which I made : sorry for the 68040 users... It's better to benefit the 68060. Besides, most accelerator cards for Amiga accepts upgrade to 68060, so everyone has the opportunity to use a 060...
After replacing the whole routine by fintrz, the 3dfx driver now weighs 11.3 Kb less !
Having some problems with Ma Config 1, I'm testing everything, and the beta 5 archive will be available soon in Downloads...
The trouble is that it is very slow... In fact, it is quite possible to replace it with a single statement : fintrz.x !
But there is alas a but : fintrz is not in the transistors of 68040 ! It is emulated by the 68040.library.
Although present in the 68882 of the 68030, engineers at Motorola had the brilliant idea to reinstate it in the 68060 ! And, sigh, for our case here, we will win many cycles !!
So there had to make a choice with this fpCR routine :
- Whether kept it as it is for not slow down the 68040
- Or replace it by fintrz for favorise in speed the 68030 and 68060
It's the second choice which I made : sorry for the 68040 users... It's better to benefit the 68060. Besides, most accelerator cards for Amiga accepts upgrade to 68060, so everyone has the opportunity to use a 060...
After replacing the whole routine by fintrz, the 3dfx driver now weighs 11.3 Kb less !
Having some problems with Ma Config 1, I'm testing everything, and the beta 5 archive will be available soon in Downloads...
(translated by Squaley)
Aucun commentaire:
Enregistrer un commentaire
Laissez vos commentaires ici :