> 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

Reply via email to