LoadIdentityClut: Add new case for some AMD cards on Linux.

Mesa 8 reports, e.g., “AMD CYPRESS”, for HD-5000, a case we don’t yet
handle.
By chance, the fallback path chose the proper gfxhwtype = 0 anyway. But
get rid of warning clutter.

-> A better approach on Linux (possibly OSX) would be to use DCE
display engine generation as a matching criterion instead -> More
“constant”.

(cherry picked from commit 659abc21266abcc4084a4b088176c9f5821464e9)
Screen/Linux: Bugfix: Enable 10 bpc framebuffers on AMD DCE4+ gpu's.

Some stray check for DCE version <= 1.0 was left, preventing this
to work on DCE-4 and later.

(cherry picked from commit c1a451261ec7d95003810722de7deb946a021e87)
Screen on Linux/OSX: Fix AMD DCE-4 detection and mmio handling.

Two hilarous bugs fixed:

a) If DCE4+ was detected, the minimal allowable register access offset was
   set to a well meaning and wrong value. This caused register read/write
   access to regs below that wrong limit to silently fail, because the
   error reporting was non-existent! Hilarious debugging fun ensures!

   -> Set limit to zero to disable it. Too much potential for harm with
      too less benefit.

   -> Improve error reporting to reduce future fun.

b) AMD DCE engine generations are reported in decimal notation, but
   some of the DCE generation specific code matched against hexadecimal
   limits, e.g., 0x40 instead of 40 for detecting DCE-4. This caused
   code to no-op, or wrong code pathes to be taken for a given gpu.

   Affected functionality, which totally malfunctioned in DCE4+:

   Identity lut and color offset loading and checking for pixel
   identity passthrough setup on AMD, aka LoadIdentityClut().

   Dithering control on DCE4+.

   10 bit ARGB2101010 framebuffer setup on DCE4+

a) and b) combined explain following bugs, which are now fixed:

- Inability to configure low level pixelpassthrough on AMD DCE4+ on
  both Linux and OSX with AMD cards.

- Inability to enable 10 bpc framebuffers on DCE4+ on Linux and OSX.

- Inability to auto-detect screen->head mappings via auto-probing:
  This was considered unworkable and is still disabled and untested
  in this commit. However the likely reason it never worked is simply
  these bugs. Need to reenable and retest in future commits.

-> Source code updated, but no mex files included, so we can
   cherry-pick this easily into the 3.0.11 branch.

-> Will also need rebuild for PsychtoolboxKernelDriver on OSX.

(cherry picked from commit a827513a575c8ac41933ff3d312b4a750f0beb0c)
PsychRTBox.m: Fix for firmware version 5.0

v5.0 firmware doesn't seem to send back acknowledge char 'e' anymore
for event 'e'nable. So don't expect an ack for 'e' on version 5.

Is this a complete fix? I don't know, because that f$#%# firmware
and underlying protocol gets changed over and over to make it a
bit worse with each iteration.

(cherry picked from commit 32ce172e020ae1c2e9e79a359adbc261edae7e17)
Color3DLUTTest: Fix potential error on wrong window size.

‘GetImage’ for comparison read back assumed the window size would not
change. As we use a GUI window, user could change size and cause error
abort. Originally this was triggered by a off-by-one size bug on Linux
with some WM.

Make Screen(‘GetImage’) read back size explicit, so we don’t error out,
but may report wrong precision. Not using onscreen windows for this
test would be even better, but meh…

(cherry picked from commit d16060fe5a02abded7fced186215344725167d15)
Screen/Linux: Fix off-by-one error in window size query for kPsychGUIWindow's

PsychOSProcessEvents() recalculates window size from queried results on
kPsychGUIWindows to account for live resizing of the GUI window by the
user. On Linux it erroneously subtracted 1 from width and height, when
width and height was already correct, leading to some failure in some
tests, because all code suddenly assumed a 1 pixel smaller window.
Fixed in this commit.

(cherry picked from commit 67483be2df9a53968f7619991e65f2585a15a0dc)
PsychtoolboxKernelDriver: Rebuilt to incorporate AMD DCE-4+ bug fixes.

So it actually treats AMD's DCE-4 and later display engines right,
esp. wrt. 10 bpc framebuffers, identity lut's, pixel passthrough etc.

-> 64-Bit kernel driver for OSX 10.8+ rebuilt.
Screen mex file for Linux and OSX rebuilt.

Rebuilt for 64-Bit Octave/Matlab on OSX.
Rebuilt for 32/64-Bit Octave and Matlab on Linux.

-> Incorporates all the AMD DCE-4+ display engine handling fixes.
-> Incorporates kPsychGUIWindow fix for Linux.
-> Built with 3.0.11 version info and behaviour.

=> Another v3.0.11 final update.