> the 64th bit is generated with
> result = uint64_t(getbit(R1, R2, R3)) << 63;
> right before the for loop
OK, thanks - I didn't realize that the first bit wasn't clocked out like
the others. But I now have a completed ATI implementation that uses the
new lfsr for the round functions, and can match the output from the
reference implementation. It will output chains at a sustained rate of >
150/seconds on the 5850 card. (with advance=32 so the first round doesn't
go away)
This build is for Linux, and works on Ubuntu / Jaunty
Brook & cal SDKs v 1.4
Radeon Catalyst9.10 driver
brook/CPU/brtvector.hpp didn't compile with gcc 4.3.3 - but the following
patch fixes it:
--- brtvector.hpp 2009-10-24 11:22:10.000000000 +0200
+++ brtvector.hpp~ 2009-10-24 11:21:50.000000000 +0200
@@ -317,7 +317,7 @@
template <class T> static typename GetValueOf<T>::type GetAt (const T&
in,int i) {
return in.getAt(i);
}
-#define SPECIALGETAT(TYP) template <> TYP GetAt (const TYP& in,int
UNUSED(i)) {return in;}
+#define SPECIALGETAT(TYP) template <> static TYP GetAt (const TYP& in,int
UNUSED(i)) {return in;}
SPECIALGETAT(int)
SPECIALGETAT(unsigned int)
I have made another filedrop at:
http://traxme.net/a5/a5_linux.zip
regards,
Frank
_______________________________________________
A51 mailing list
[email protected]
http://lists.lists.reflextor.com/cgi-bin/mailman/listinfo/a51