Dear Denis and the list,
I have been working over the last few weeks to learn the Toolbox with plans
to use new G4 Powerbook and it's ATI Radeon Mobility 7500 DualHead chip to
drive an external VGA monitor at 10 bit CLUT resolution. I tested the G4 at
a local Apple store using Ben Singer's testgamma-06-11-02 program and it
passed the 10-bit test using the high bits.
The G4 arrived today but the tests don't look good. I ran a Screentest,
Cluttest, WaitBlankingTest, and LoadCluttest with the G4 booted in OS 9.2.2
and the VGA monitor connected as Screen 1 through the VDI-VGA cable.
The SetGammaWaitTest, called in Screentest, produced runtime errors. The
ClutTest didn't map well. The WaitBlankingTest looked OK to my novice eye,
and the LoadClutTest also didn't look good. Test results are below.
Any advice would be appreciated. Is it premature to think such a setup can
work?
Chris
--
Chris Chase, Ph.D.
Associate Professor of Psychology
Claremont McKenna College
850 Columbia Ave.
Claremont, CA 91711
909.607.3668 (office)
909.621.8419 (FAX)
chris.chase@...
---
»screentest
ScreenTest
*** Chris Chase's PowerBook G4/800, Mac OS 9.2.2 *************************
G4, 800 MHz, memory bus 133 MHz, 96.556 Mflop/s
Psychtoolbox 2.51, 5 July 2002, Matlab 5.2.1.1421
*** Screen 0 *************************************************************
ATY,Crown_A (.Display_DualHead version 1.0b76) in slot ATI
10 bit dacs. 1280x854 60 Hz.
Prefs: cscGetClutBehavior, DacBits 10, SetClutDuplicates8Bits,
fixATIRadeonGamma, DipPriorityAfterSetClut, MinimumSetClutPriority 2.
- - - - - - - - - - - - - - - - - - - - - - - - -
pixel size 8 16 32 bits
pages 1 1 1
CopyWindow (ie CopyBits) 185 185 186 MB/s
SetClut suppresses ints. for 0.0 0.0 0.0 frames
LoadClut vs. GetClut? ( 8 bits) == == ==
LoadClut vs. GetClut? (10 bits) 4 4 4 #'s are max error.
- - - - - - - - - - - - - - - - - - - - - - - - -
SetClut waits for blanking (i.e. ~60 Hz) if parameters have these values:
60 Hz:
The following parameters don't affect whether SetClut waits for blanking:
prioritySequence clutEntries pixelSize
- - - - - - - - - - - - - - - - - - - - - - - - -
SetGamma waits for blanking (i.e. ~60 Hz) if parameters have these values:
pixelSize
??? In an assignment A(I) = B, the number of elements in B and
I must be the same.
Error in ==> Macintosh HD:Applications (Mac OS 9):MATLAB
5:Toolbox:Psychtoolbox:PsychTests:SetGammaWaitTest.m
On line 71 ==> [s(1) s(2) s(3) s(4)]=ind2sub(sizeWaits,i);
Error in ==> Macintosh HD:Applications (Mac OS 9):MATLAB
5:Toolbox:Psychtoolbox:PsychTests:ScreenTest.m
On line 644 ==> SetGammaWaitTest(screenNumber);
Error in ==> Macintosh HD:Applications (Mac OS 9):MATLAB
5:Toolbox:Psychtoolbox:PsychTests:ScreenTest.m
On line 428 ==> ScreenTest(screenNumber);
»cluttest
ClutTest
*** Chris Chase's PowerBook G4/800, Mac OS 9.2.2 *************************
G4, 800 MHz, memory bus 133 MHz, 98.208 Mflop/s
Psychtoolbox 2.51, 5 July 2002, Matlab 5.2.1.1421
*** Screen 0 *************************************************************
ATY,CrowATY,Crown_B (.Display_DualHead version 1.0b76) in slot ATI
10 bit dacs. 1280x854 60 Hz.
Prefs: cscGetClutBehavior, DacBits 10, SetClutDuplicates8Bits,
fixATIRadeonGamma, DipPriorityAfterSetClut, MinimumSetClutPriority 2.
- - - - - - - - - - - - - - - - - - - - - - - - -
pixelSize 8. randomize 0. SetGamma 8 bits. GetGamma 8 bits. GetClut ==
predicted.
pixelSize 8. randomize 1. SetGamma 8 bits. GetGamma 8 bits. GetClut ==
predicted.
pixelSize 16. randomize 0. SetGamma 8 bits. GetGamma 8 bits. GetClut ==
predicted.
pixelSize 16. randomize 1. SetGamma 8 bits. GetGamma 8 bits. GetClut ==
predicted.
pixelSize 32. randomize 0. SetGamma 8 bits. GetGamma 8 bits. GetClut ==
predicted.
pixelSize 32. randomize 1. SetGamma 8 bits. GetGamma 8 bits. GetClut ==
predicted.
pixelSize 8. randomize 0. SetGamma 10 bits. GetGamma 8 bits. Fix gamma for
Radeon. GetClut != predicted. Max error 4. Rms error 2.0.
1: GetClut:[ 4 1023 52] vs. expected:[ 4 1019 52]
2: GetClut:[ 8 1019 799] vs. expected:[ 8 1015 795]
3: GetClut:[ 12 1015 811] vs. expected:[ 12 1011 807]
4: GetClut:[ 16 1011 84] vs. expected:[ 16 1007 84]
. . .
251: GetClut:[ 1011 16 140] vs. expected:[ 1007 16 140]
252: GetClut:[ 1015 12 1023] vs. expected:[ 1011 12 1023]
253: GetClut:[ 1019 8 341] vs. expected:[ 1015 8 341]
254: GetClut:[ 1023 4 522] vs. expected:[ 1019 4 522]
pixelSize 16. randomize 0. SetGamma 10 bits. GetGamma 8 bits. Fix gamma for
Radeon. GetClut == predicted.
pixelSize 16. randomize 1. SetGamma 10 bits. GetGamma 8 bits. Fix gamma for
Radeon. GetClut != predicted. Max error 4. Rms error 2.3.
0: GetClut:[ 734 542 530] vs. expected:[ 732 540 529]
1: GetClut:[ 851 224 132] vs. expected:[ 847 226 132]
2: GetClut:[ 1019 104 24] vs. expected:[ 1015 104 25]
3: GetClut:[ 534 425 610] vs. expected:[ 533 423 607]
. . .
28: GetClut:[ 734 734 60] vs. expected:[ 732 732 59]
29: GetClut:[ 104 497 999] vs. expected:[ 104 497 998]
30: GetClut:[ 855 132 224] vs. expected:[ 851 132 226]
31: GetClut:[ 851 855 148] vs. expected:[ 847 851 150]
pixelSize 32. randomize 0. SetGamma 10 bits. GetGamma 8 bits. Fix gamma for
Radeon. GetClut != predicted. Max error 4. Rms error 2.0.
0: GetClut:[ 0 1023 871] vs. expected:[ 0 1023 867]
1: GetClut:[ 4 1023 381] vs. expected:[ 4 1019 381]
2: GetClut:[ 8 1019 546] vs. expected:[ 8 1015 546]
3: GetClut:[ 12 1015 473] vs. expected:[ 12 1011 473]
. . .
252: GetClut:[ 1015 12 136] vs. expected:[ 1011 12 136]
253: GetClut:[ 1019 8 369] vs. expected:[ 1015 8 369]
254: GetClut:[ 1023 4 987] vs. expected:[ 1019 4 983]
255: GetClut:[ 1023 0 875] vs. expected:[ 1023 0 871]
Screen driver supports gamma tables with precisions: 8 bits.
*** Screen 1 *************************************************************
ATY,Crown_B (.Display_DualHead version 1.0b76) in slot ATI
10 bit dacs. 1152x870 75 Hz. (56,60,65,67,70,72,75,76,85,90,100,120 Hz
avail)
Prefs: cscGetClutBehavior, DacBits 10, SetClutDuplicates8Bits,
fixATIRadeonGamma, DipPriorityAfterSetClut, MinimumSetClutPriority 2.
- - - - - - - - - - - - - - - - - - - - - - - - -
pixelSize 8. randomize 0. SetGamma 8 bits. GetGamma 8 bits. GetClut ==
predicted.
pixelSize 8. randomize 1. SetGamma 8 bits. GetGamma 8 bits. GetClut ==
predicted.
pixelSize 16. randomize 0. SetGamma 8 bits. GetGamma 8 bits. GetClut ==
predicted.
pixelSize 16. randomize 1. SetGamma 8 bits. GetGamma 8 bits. GetClut ==
predicted.
pixelSize 32. randomize 0. SetGamma 8 bits. GetGamma 8 bits. GetClut ==
predicted.
pixelSize 32. randomize 1. SetGamma 8 bits. GetGamma 8 bits. GetClut ==
predicted.
pixelSize 8. randomize 0. SetGamma 10 bits. GetGamma 8 bits. Fix gamma for
Radeon. GetClut != predicted. Max error 4. Rms error 2.0.
1: GetClut:[ 4 1023 413] vs. expected:[ 4 1019 413]
2: GetClut:[ 8 1019 594] vs. expected:[ 8 1015 594]
3: GetClut:[ 12 1015 252] vs. expected:[ 12 1011 252]
4: GetClut:[ 16 1011 469] vs. expected:[ 16 1007 469]
. . .
252: GetClut:[ 1015 12 164] vs. expected:[ 1011 12 164]
253: GetClut:[ 1019 8 730] vs. expected:[ 1015 8 730]
254: GetClut:[ 1023 4 542] vs. expected:[ 1019 4 542]
255: GetClut:[ 1023 0 783] vs. expected:[ 1023 0 779]
pixelSize 16. randomize 0. SetGamma 10 bits. GetGamma 8 bits. Fix gamma for
Radeon. GetClut == predicted.
pixelSize 16. randomize 1. SetGamma 10 bits. GetGamma 8 bits. Fix gamma for
Radeon. GetClut != predicted. Max error 4. Rms error 2.0.
0: GetClut:[ 819 377 116] vs. expected:[ 816 378 117]
1: GetClut:[ 887 678 746] vs. expected:[ 883 677 746]
2: GetClut:[ 180 746 819] vs. expected:[ 179 746 816]
3: GetClut:[ 397 116 345] vs. expected:[ 397 117 343]
. . .
28: GetClut:[ 164 369 939] vs. expected:[ 163 367 935]
29: GetClut:[ 180 72 779] vs. expected:[ 179 74 776]
30: GetClut:[ 746 754 939] vs. expected:[ 746 754 935]
31: GetClut:[ 377 827 754] vs. expected:[ 378 825 754]
pixelSize 32. randomize 0. SetGamma 10 bits. GetGamma 8 bits. Fix gamma for
Radeon. GetClut != predicted. Max error 4. Rms error 2.0.
1: GetClut:[ 4 1023 871] vs. expected:[ 4 1019 867]
2: GetClut:[ 8 1019 112] vs. expected:[ 8 1015 112]
3: GetClut:[ 12 1015 269] vs. expected:[ 12 1011 269]
4: GetClut:[ 16 1011 208] vs. expected:[ 16 1007 208]
. . .
251: GetClut:[ 1011 16 441] vs. expected:[ 1007 16 441]
252: GetClut:[ 1015 12 947] vs. expected:[ 1011 12 943]
253: GetClut:[ 1019 8 60] vs. expected:[ 1015 8 60]
254: GetClut:[ 1023 4 1023] vs. expected:[ 1019 4 1019]
Screen driver supports gamma tables with precisions: 8 bits.
**************************************************************************
»waitblankingtest
WaitBlankingTest
We time a loop that calls SCREEN WaitBlanking or SetClut. If the loop
is thus synched to the display blanking, the iteration rate (Hz) of
our loop will match the official FrameRate.
*** Chris Chase's PowerBook G4/800, Mac OS 9.2.2 *************************
G4, 800 MHz, memory bus 133 MHz, 83.889 Mflop/s
Psychtoolbox 2.51, 5 July 2002, Matlab 5.2.1.1421
*** Screen 0 *************************************************************
ATY,Crown_A (.Display_DualHead version 1.0b76) in slot ATI
10 bit dacs. 1280x854 60 Hz.
Prefs: cscGetClutBehavior, DacBits 10, SetClutDuplicates8Bits,
fixATIRadeonGamma, DipPriorityAfterSetClut, MinimumSetClutPriority 2.
- - - - - - - - - - - - - - - - - - - - - - - - -
WaitBlanking is using blanking interrupt to synch with 60 Hz display:
60 Hz: priority 0
60 Hz: priority 0.5
60 Hz: priority 1
- - - - - - - - - - - - - - - - - - - - - - - - -
WaitBlanking is using SetClut to synch with 60 Hz display:
60 Hz: priority 0
60 Hz: priority 0.5
60 Hz: priority 1
60 Hz: priority 2
60 Hz: priority 7
- - - - - - - - - - - - - - - - - - - - - - - - -
Directly calling SetClut to synch with 60 Hz display:
AskSetClutDriverToWaitForBlanking set to 1.
60 Hz: priority 0, SetClut(256 entries).
60 Hz: priority 0, SetClut( 1 entry).
60 Hz: priority 0, SetClut( 1 entry) and 5 ms delay.
60 Hz: priority 1, SetClut(256 entries).
60 Hz: priority 1, SetClut( 1 entry).
60 Hz: priority 1, SetClut( 1 entry) and 5 ms delay.
60 Hz: priority 7, SetClut(256 entries).
60 Hz: priority 7, SetClut( 1 entry).
60 Hz: priority 7, SetClut( 1 entry) and 5 ms delay.
AskSetClutDriverToWaitForBlanking set to 0.
320 Hz: priority 0, SetClut(256 entries).
326 Hz: priority 0, SetClut( 1 entry).
193 Hz: priority 0, SetClut( 1 entry) and 5 ms delay.
319 Hz: priority 1, SetClut(256 entries).
326 Hz: priority 1, SetClut( 1 entry).
194 Hz: priority 1, SetClut( 1 entry) and 5 ms delay.
320 Hz: priority 7, SetClut(256 entries).
326 Hz: priority 7, SetClut( 1 entry).
194 Hz: priority 7, SetClut( 1 entry) and 5 ms delay.
*** Screen 1 *************************************************************
ATY,Crown_B (.Display_DualHead version 1.0b76) in slot ATI
10 bit dacs. 1152x870 75 Hz. (56,60,65,67,70,72,75,76,85,90,100,120 Hz
avail)
Prefs: cscGetClutBehavior, DacBits 10, SetClutDuplicates8Bits,
fixATIRadeonGamma, DipPriorityAfterSetClut, MinimumSetClutPriority 2.
- - - - - - - - - - - - - - - - - - - - - - - - -
WaitBlanking is using blanking interrupt to synch with 75 Hz display:
75 Hz: priority 0
75 Hz: priority 0.5
75 Hz: priority 1
- - - - - - - - - - - - - - - - - - - - - - - - -
WaitBlanking is using SetClut to synch with 75 Hz display:
75 Hz: priority 0
75 Hz: priority 0.5
75 Hz: priority 1
75 Hz: priority 2
75 Hz: priority 7
- - - - - - - - - - - - - - - - - - - - - - - - -
Directly calling SetClut to synch with 75 Hz display:
AskSetClutDriverToWaitForBlanking set to 1.
75 Hz: priority 0, SetClut(256 entries).
75 Hz: priority 0, SetClut( 1 entry).
75 Hz: priority 0, SetClut( 1 entry) and 5 ms delay.
75 Hz: priority 1, SetClut(256 entries).
75 Hz: priority 1, SetClut( 1 entry).
75 Hz: priority 1, SetClut( 1 entry) and 5 ms delay.
75 Hz: priority 7, SetClut(256 entries).
75 Hz: priority 7, SetClut( 1 entry).
75 Hz: priority 7, SetClut( 1 entry) and 5 ms delay.
AskSetClutDriverToWaitForBlanking set to 0.
320 Hz: priority 0, SetClut(256 entries).
324 Hz: priority 0, SetClut( 1 entry).
194 Hz: priority 0, SetClut( 1 entry) and 5 ms delay.
320 Hz: priority 1, SetClut(256 entries).
326 Hz: priority 1, SetClut( 1 entry).
194 Hz: priority 1, SetClut( 1 entry) and 5 ms delay.
317 Hz: priority 7, SetClut(256 entries).
325 Hz: priority 7, SetClut( 1 entry).
194 Hz: priority 7, SetClut( 1 entry) and 5 ms delay.
**************************************************************************
»loadcluttest
LoadClutTest
*** Chris Chase's PowerBook G4/800, Mac OS 9.2.2 *************************
G4, 800 MHz, memory bus 133 MHz, 97.829 Mflop/s
Psychtoolbox 2.51, 5 July 2002, Matlab 5.2.1.1421
*** Screen 0 *************************************************************
ATY,CrowATY,Crown_B (.Display_DualHead version 1.0b76) in slot ATI
10 bit dacs. 1280x854 60 Hz.
Prefs: cscGetClutBehavior, DacBits 10, SetClutDuplicates8Bits,
fixATIRadeonGamma, DipPriorityAfterSetClut, MinimumSetClutPriority 2.
- - - - - - - - - - - - - - - - - - - - - - - - -
8-bit gamma table. pixelSize 8. Success! GetClut==LoadClut at 8 bits.
8-bit gamma table. pixelSize 16. Success! GetClut==LoadClut at 8 bits.
8-bit gamma table. pixelSize 32. Success! GetClut==LoadClut at 8 bits.
10-bit gamma table. pixelSize 8. Failed! Values read differed (by up to 4)
from what was written:
1: LoadClut:[ 4 1019 662] vs. GetClut:[ 4 1023 662]
2: LoadClut:[ 8 1015 650] vs. GetClut:[ 8 1019 650]
3: LoadClut:[ 12 1011 36] vs. GetClut:[ 12 1015 36]
4: LoadClut:[ 16 1007 236] vs. GetClut:[ 16 1011 236]
5: LoadClut:[ 20 1003 722] vs. GetClut:[ 20 1007 722]
10-bit gamma table. pixelSize 16. Success! GetClut==LoadClut at 10 bits.
10-bit gamma table. pixelSize 32. Failed! Values read differed (by up to 4)
from what was written:
1: LoadClut:[ 4 1019 650] vs. GetClut:[ 4 1023 650]
2: LoadClut:[ 8 1015 534] vs. GetClut:[ 8 1019 534]
3: LoadClut:[ 12 1011 771] vs. GetClut:[ 12 1015 775]
4: LoadClut:[ 16 1007 602] vs. GetClut:[ 16 1011 602]
5: LoadClut:[ 20 1003 542] vs. GetClut:[ 20 1007 542]
*** Screen 1 *************************************************************
ATY,Crown_B (.Display_DualHead version 1.0b76) in slot ATI
10 bit dacs. 1152x870 75 Hz. (56,60,65,67,70,72,75,76,85,90,100,120 Hz
avail)
Prefs: cscGetClutBehavior, DacBits 10, SetClutDuplicates8Bits,
fixATIRadeonGamma, DipPriorityAfterSetClut, MinimumSetClutPriority 2.
- - - - - - - - - - - - - - - - - - - - - - - - -
8-bit gamma table. pixelSize 8. Success! GetClut==LoadClut at 8 bits.
8-bit gamma table. pixelSize 16. Success! GetClut==LoadClut at 8 bits.
8-bit gamma table. pixelSize 32. Success! GetClut==LoadClut at 8 bits.
10-bit gamma table. pixelSize 8. Failed! Values read differed (by up to 4)
from what was written:
0: LoadClut:[ 0 1023 819] vs. GetClut:[ 0 1023 823]
1: LoadClut:[ 4 1019 361] vs. GetClut:[ 4 1023 361]
2: LoadClut:[ 8 1015 955] vs. GetClut:[ 8 1019 959]
3: LoadClut:[ 12 1011 405] vs. GetClut:[ 12 1015 405]
4: LoadClut:[ 16 1007 883] vs. GetClut:[ 16 1011 887]
10-bit gamma table. pixelSize 16. Success! GetClut==LoadClut at 10 bits.
10-bit gamma table. pixelSize 32. Failed! Values read differed (by up to 4)
from what was written:
1: LoadClut:[ 4 1019 172] vs. GetClut:[ 4 1023 172]
2: LoadClut:[ 8 1015 381] vs. GetClut:[ 8 1019 381]
3: LoadClut:[ 12 1011 787] vs. GetClut:[ 12 1015 791]
4: LoadClut:[ 16 1007 477] vs. GetClut:[ 16 1011 477]
5: LoadClut:[ 20 1003 598] vs. GetClut:[ 20 1007 598]
**************************************************************************
»
I have been working over the last few weeks to learn the Toolbox with plans
to use new G4 Powerbook and it's ATI Radeon Mobility 7500 DualHead chip to
drive an external VGA monitor at 10 bit CLUT resolution. I tested the G4 at
a local Apple store using Ben Singer's testgamma-06-11-02 program and it
passed the 10-bit test using the high bits.
The G4 arrived today but the tests don't look good. I ran a Screentest,
Cluttest, WaitBlankingTest, and LoadCluttest with the G4 booted in OS 9.2.2
and the VGA monitor connected as Screen 1 through the VDI-VGA cable.
The SetGammaWaitTest, called in Screentest, produced runtime errors. The
ClutTest didn't map well. The WaitBlankingTest looked OK to my novice eye,
and the LoadClutTest also didn't look good. Test results are below.
Any advice would be appreciated. Is it premature to think such a setup can
work?
Chris
--
Chris Chase, Ph.D.
Associate Professor of Psychology
Claremont McKenna College
850 Columbia Ave.
Claremont, CA 91711
909.607.3668 (office)
909.621.8419 (FAX)
chris.chase@...
---
»screentest
ScreenTest
*** Chris Chase's PowerBook G4/800, Mac OS 9.2.2 *************************
G4, 800 MHz, memory bus 133 MHz, 96.556 Mflop/s
Psychtoolbox 2.51, 5 July 2002, Matlab 5.2.1.1421
*** Screen 0 *************************************************************
ATY,Crown_A (.Display_DualHead version 1.0b76) in slot ATI
10 bit dacs. 1280x854 60 Hz.
Prefs: cscGetClutBehavior, DacBits 10, SetClutDuplicates8Bits,
fixATIRadeonGamma, DipPriorityAfterSetClut, MinimumSetClutPriority 2.
- - - - - - - - - - - - - - - - - - - - - - - - -
pixel size 8 16 32 bits
pages 1 1 1
CopyWindow (ie CopyBits) 185 185 186 MB/s
SetClut suppresses ints. for 0.0 0.0 0.0 frames
LoadClut vs. GetClut? ( 8 bits) == == ==
LoadClut vs. GetClut? (10 bits) 4 4 4 #'s are max error.
- - - - - - - - - - - - - - - - - - - - - - - - -
SetClut waits for blanking (i.e. ~60 Hz) if parameters have these values:
60 Hz:
The following parameters don't affect whether SetClut waits for blanking:
prioritySequence clutEntries pixelSize
- - - - - - - - - - - - - - - - - - - - - - - - -
SetGamma waits for blanking (i.e. ~60 Hz) if parameters have these values:
pixelSize
??? In an assignment A(I) = B, the number of elements in B and
I must be the same.
Error in ==> Macintosh HD:Applications (Mac OS 9):MATLAB
5:Toolbox:Psychtoolbox:PsychTests:SetGammaWaitTest.m
On line 71 ==> [s(1) s(2) s(3) s(4)]=ind2sub(sizeWaits,i);
Error in ==> Macintosh HD:Applications (Mac OS 9):MATLAB
5:Toolbox:Psychtoolbox:PsychTests:ScreenTest.m
On line 644 ==> SetGammaWaitTest(screenNumber);
Error in ==> Macintosh HD:Applications (Mac OS 9):MATLAB
5:Toolbox:Psychtoolbox:PsychTests:ScreenTest.m
On line 428 ==> ScreenTest(screenNumber);
»cluttest
ClutTest
*** Chris Chase's PowerBook G4/800, Mac OS 9.2.2 *************************
G4, 800 MHz, memory bus 133 MHz, 98.208 Mflop/s
Psychtoolbox 2.51, 5 July 2002, Matlab 5.2.1.1421
*** Screen 0 *************************************************************
ATY,CrowATY,Crown_B (.Display_DualHead version 1.0b76) in slot ATI
10 bit dacs. 1280x854 60 Hz.
Prefs: cscGetClutBehavior, DacBits 10, SetClutDuplicates8Bits,
fixATIRadeonGamma, DipPriorityAfterSetClut, MinimumSetClutPriority 2.
- - - - - - - - - - - - - - - - - - - - - - - - -
pixelSize 8. randomize 0. SetGamma 8 bits. GetGamma 8 bits. GetClut ==
predicted.
pixelSize 8. randomize 1. SetGamma 8 bits. GetGamma 8 bits. GetClut ==
predicted.
pixelSize 16. randomize 0. SetGamma 8 bits. GetGamma 8 bits. GetClut ==
predicted.
pixelSize 16. randomize 1. SetGamma 8 bits. GetGamma 8 bits. GetClut ==
predicted.
pixelSize 32. randomize 0. SetGamma 8 bits. GetGamma 8 bits. GetClut ==
predicted.
pixelSize 32. randomize 1. SetGamma 8 bits. GetGamma 8 bits. GetClut ==
predicted.
pixelSize 8. randomize 0. SetGamma 10 bits. GetGamma 8 bits. Fix gamma for
Radeon. GetClut != predicted. Max error 4. Rms error 2.0.
1: GetClut:[ 4 1023 52] vs. expected:[ 4 1019 52]
2: GetClut:[ 8 1019 799] vs. expected:[ 8 1015 795]
3: GetClut:[ 12 1015 811] vs. expected:[ 12 1011 807]
4: GetClut:[ 16 1011 84] vs. expected:[ 16 1007 84]
. . .
251: GetClut:[ 1011 16 140] vs. expected:[ 1007 16 140]
252: GetClut:[ 1015 12 1023] vs. expected:[ 1011 12 1023]
253: GetClut:[ 1019 8 341] vs. expected:[ 1015 8 341]
254: GetClut:[ 1023 4 522] vs. expected:[ 1019 4 522]
pixelSize 16. randomize 0. SetGamma 10 bits. GetGamma 8 bits. Fix gamma for
Radeon. GetClut == predicted.
pixelSize 16. randomize 1. SetGamma 10 bits. GetGamma 8 bits. Fix gamma for
Radeon. GetClut != predicted. Max error 4. Rms error 2.3.
0: GetClut:[ 734 542 530] vs. expected:[ 732 540 529]
1: GetClut:[ 851 224 132] vs. expected:[ 847 226 132]
2: GetClut:[ 1019 104 24] vs. expected:[ 1015 104 25]
3: GetClut:[ 534 425 610] vs. expected:[ 533 423 607]
. . .
28: GetClut:[ 734 734 60] vs. expected:[ 732 732 59]
29: GetClut:[ 104 497 999] vs. expected:[ 104 497 998]
30: GetClut:[ 855 132 224] vs. expected:[ 851 132 226]
31: GetClut:[ 851 855 148] vs. expected:[ 847 851 150]
pixelSize 32. randomize 0. SetGamma 10 bits. GetGamma 8 bits. Fix gamma for
Radeon. GetClut != predicted. Max error 4. Rms error 2.0.
0: GetClut:[ 0 1023 871] vs. expected:[ 0 1023 867]
1: GetClut:[ 4 1023 381] vs. expected:[ 4 1019 381]
2: GetClut:[ 8 1019 546] vs. expected:[ 8 1015 546]
3: GetClut:[ 12 1015 473] vs. expected:[ 12 1011 473]
. . .
252: GetClut:[ 1015 12 136] vs. expected:[ 1011 12 136]
253: GetClut:[ 1019 8 369] vs. expected:[ 1015 8 369]
254: GetClut:[ 1023 4 987] vs. expected:[ 1019 4 983]
255: GetClut:[ 1023 0 875] vs. expected:[ 1023 0 871]
Screen driver supports gamma tables with precisions: 8 bits.
*** Screen 1 *************************************************************
ATY,Crown_B (.Display_DualHead version 1.0b76) in slot ATI
10 bit dacs. 1152x870 75 Hz. (56,60,65,67,70,72,75,76,85,90,100,120 Hz
avail)
Prefs: cscGetClutBehavior, DacBits 10, SetClutDuplicates8Bits,
fixATIRadeonGamma, DipPriorityAfterSetClut, MinimumSetClutPriority 2.
- - - - - - - - - - - - - - - - - - - - - - - - -
pixelSize 8. randomize 0. SetGamma 8 bits. GetGamma 8 bits. GetClut ==
predicted.
pixelSize 8. randomize 1. SetGamma 8 bits. GetGamma 8 bits. GetClut ==
predicted.
pixelSize 16. randomize 0. SetGamma 8 bits. GetGamma 8 bits. GetClut ==
predicted.
pixelSize 16. randomize 1. SetGamma 8 bits. GetGamma 8 bits. GetClut ==
predicted.
pixelSize 32. randomize 0. SetGamma 8 bits. GetGamma 8 bits. GetClut ==
predicted.
pixelSize 32. randomize 1. SetGamma 8 bits. GetGamma 8 bits. GetClut ==
predicted.
pixelSize 8. randomize 0. SetGamma 10 bits. GetGamma 8 bits. Fix gamma for
Radeon. GetClut != predicted. Max error 4. Rms error 2.0.
1: GetClut:[ 4 1023 413] vs. expected:[ 4 1019 413]
2: GetClut:[ 8 1019 594] vs. expected:[ 8 1015 594]
3: GetClut:[ 12 1015 252] vs. expected:[ 12 1011 252]
4: GetClut:[ 16 1011 469] vs. expected:[ 16 1007 469]
. . .
252: GetClut:[ 1015 12 164] vs. expected:[ 1011 12 164]
253: GetClut:[ 1019 8 730] vs. expected:[ 1015 8 730]
254: GetClut:[ 1023 4 542] vs. expected:[ 1019 4 542]
255: GetClut:[ 1023 0 783] vs. expected:[ 1023 0 779]
pixelSize 16. randomize 0. SetGamma 10 bits. GetGamma 8 bits. Fix gamma for
Radeon. GetClut == predicted.
pixelSize 16. randomize 1. SetGamma 10 bits. GetGamma 8 bits. Fix gamma for
Radeon. GetClut != predicted. Max error 4. Rms error 2.0.
0: GetClut:[ 819 377 116] vs. expected:[ 816 378 117]
1: GetClut:[ 887 678 746] vs. expected:[ 883 677 746]
2: GetClut:[ 180 746 819] vs. expected:[ 179 746 816]
3: GetClut:[ 397 116 345] vs. expected:[ 397 117 343]
. . .
28: GetClut:[ 164 369 939] vs. expected:[ 163 367 935]
29: GetClut:[ 180 72 779] vs. expected:[ 179 74 776]
30: GetClut:[ 746 754 939] vs. expected:[ 746 754 935]
31: GetClut:[ 377 827 754] vs. expected:[ 378 825 754]
pixelSize 32. randomize 0. SetGamma 10 bits. GetGamma 8 bits. Fix gamma for
Radeon. GetClut != predicted. Max error 4. Rms error 2.0.
1: GetClut:[ 4 1023 871] vs. expected:[ 4 1019 867]
2: GetClut:[ 8 1019 112] vs. expected:[ 8 1015 112]
3: GetClut:[ 12 1015 269] vs. expected:[ 12 1011 269]
4: GetClut:[ 16 1011 208] vs. expected:[ 16 1007 208]
. . .
251: GetClut:[ 1011 16 441] vs. expected:[ 1007 16 441]
252: GetClut:[ 1015 12 947] vs. expected:[ 1011 12 943]
253: GetClut:[ 1019 8 60] vs. expected:[ 1015 8 60]
254: GetClut:[ 1023 4 1023] vs. expected:[ 1019 4 1019]
Screen driver supports gamma tables with precisions: 8 bits.
**************************************************************************
»waitblankingtest
WaitBlankingTest
We time a loop that calls SCREEN WaitBlanking or SetClut. If the loop
is thus synched to the display blanking, the iteration rate (Hz) of
our loop will match the official FrameRate.
*** Chris Chase's PowerBook G4/800, Mac OS 9.2.2 *************************
G4, 800 MHz, memory bus 133 MHz, 83.889 Mflop/s
Psychtoolbox 2.51, 5 July 2002, Matlab 5.2.1.1421
*** Screen 0 *************************************************************
ATY,Crown_A (.Display_DualHead version 1.0b76) in slot ATI
10 bit dacs. 1280x854 60 Hz.
Prefs: cscGetClutBehavior, DacBits 10, SetClutDuplicates8Bits,
fixATIRadeonGamma, DipPriorityAfterSetClut, MinimumSetClutPriority 2.
- - - - - - - - - - - - - - - - - - - - - - - - -
WaitBlanking is using blanking interrupt to synch with 60 Hz display:
60 Hz: priority 0
60 Hz: priority 0.5
60 Hz: priority 1
- - - - - - - - - - - - - - - - - - - - - - - - -
WaitBlanking is using SetClut to synch with 60 Hz display:
60 Hz: priority 0
60 Hz: priority 0.5
60 Hz: priority 1
60 Hz: priority 2
60 Hz: priority 7
- - - - - - - - - - - - - - - - - - - - - - - - -
Directly calling SetClut to synch with 60 Hz display:
AskSetClutDriverToWaitForBlanking set to 1.
60 Hz: priority 0, SetClut(256 entries).
60 Hz: priority 0, SetClut( 1 entry).
60 Hz: priority 0, SetClut( 1 entry) and 5 ms delay.
60 Hz: priority 1, SetClut(256 entries).
60 Hz: priority 1, SetClut( 1 entry).
60 Hz: priority 1, SetClut( 1 entry) and 5 ms delay.
60 Hz: priority 7, SetClut(256 entries).
60 Hz: priority 7, SetClut( 1 entry).
60 Hz: priority 7, SetClut( 1 entry) and 5 ms delay.
AskSetClutDriverToWaitForBlanking set to 0.
320 Hz: priority 0, SetClut(256 entries).
326 Hz: priority 0, SetClut( 1 entry).
193 Hz: priority 0, SetClut( 1 entry) and 5 ms delay.
319 Hz: priority 1, SetClut(256 entries).
326 Hz: priority 1, SetClut( 1 entry).
194 Hz: priority 1, SetClut( 1 entry) and 5 ms delay.
320 Hz: priority 7, SetClut(256 entries).
326 Hz: priority 7, SetClut( 1 entry).
194 Hz: priority 7, SetClut( 1 entry) and 5 ms delay.
*** Screen 1 *************************************************************
ATY,Crown_B (.Display_DualHead version 1.0b76) in slot ATI
10 bit dacs. 1152x870 75 Hz. (56,60,65,67,70,72,75,76,85,90,100,120 Hz
avail)
Prefs: cscGetClutBehavior, DacBits 10, SetClutDuplicates8Bits,
fixATIRadeonGamma, DipPriorityAfterSetClut, MinimumSetClutPriority 2.
- - - - - - - - - - - - - - - - - - - - - - - - -
WaitBlanking is using blanking interrupt to synch with 75 Hz display:
75 Hz: priority 0
75 Hz: priority 0.5
75 Hz: priority 1
- - - - - - - - - - - - - - - - - - - - - - - - -
WaitBlanking is using SetClut to synch with 75 Hz display:
75 Hz: priority 0
75 Hz: priority 0.5
75 Hz: priority 1
75 Hz: priority 2
75 Hz: priority 7
- - - - - - - - - - - - - - - - - - - - - - - - -
Directly calling SetClut to synch with 75 Hz display:
AskSetClutDriverToWaitForBlanking set to 1.
75 Hz: priority 0, SetClut(256 entries).
75 Hz: priority 0, SetClut( 1 entry).
75 Hz: priority 0, SetClut( 1 entry) and 5 ms delay.
75 Hz: priority 1, SetClut(256 entries).
75 Hz: priority 1, SetClut( 1 entry).
75 Hz: priority 1, SetClut( 1 entry) and 5 ms delay.
75 Hz: priority 7, SetClut(256 entries).
75 Hz: priority 7, SetClut( 1 entry).
75 Hz: priority 7, SetClut( 1 entry) and 5 ms delay.
AskSetClutDriverToWaitForBlanking set to 0.
320 Hz: priority 0, SetClut(256 entries).
324 Hz: priority 0, SetClut( 1 entry).
194 Hz: priority 0, SetClut( 1 entry) and 5 ms delay.
320 Hz: priority 1, SetClut(256 entries).
326 Hz: priority 1, SetClut( 1 entry).
194 Hz: priority 1, SetClut( 1 entry) and 5 ms delay.
317 Hz: priority 7, SetClut(256 entries).
325 Hz: priority 7, SetClut( 1 entry).
194 Hz: priority 7, SetClut( 1 entry) and 5 ms delay.
**************************************************************************
»loadcluttest
LoadClutTest
*** Chris Chase's PowerBook G4/800, Mac OS 9.2.2 *************************
G4, 800 MHz, memory bus 133 MHz, 97.829 Mflop/s
Psychtoolbox 2.51, 5 July 2002, Matlab 5.2.1.1421
*** Screen 0 *************************************************************
ATY,CrowATY,Crown_B (.Display_DualHead version 1.0b76) in slot ATI
10 bit dacs. 1280x854 60 Hz.
Prefs: cscGetClutBehavior, DacBits 10, SetClutDuplicates8Bits,
fixATIRadeonGamma, DipPriorityAfterSetClut, MinimumSetClutPriority 2.
- - - - - - - - - - - - - - - - - - - - - - - - -
8-bit gamma table. pixelSize 8. Success! GetClut==LoadClut at 8 bits.
8-bit gamma table. pixelSize 16. Success! GetClut==LoadClut at 8 bits.
8-bit gamma table. pixelSize 32. Success! GetClut==LoadClut at 8 bits.
10-bit gamma table. pixelSize 8. Failed! Values read differed (by up to 4)
from what was written:
1: LoadClut:[ 4 1019 662] vs. GetClut:[ 4 1023 662]
2: LoadClut:[ 8 1015 650] vs. GetClut:[ 8 1019 650]
3: LoadClut:[ 12 1011 36] vs. GetClut:[ 12 1015 36]
4: LoadClut:[ 16 1007 236] vs. GetClut:[ 16 1011 236]
5: LoadClut:[ 20 1003 722] vs. GetClut:[ 20 1007 722]
10-bit gamma table. pixelSize 16. Success! GetClut==LoadClut at 10 bits.
10-bit gamma table. pixelSize 32. Failed! Values read differed (by up to 4)
from what was written:
1: LoadClut:[ 4 1019 650] vs. GetClut:[ 4 1023 650]
2: LoadClut:[ 8 1015 534] vs. GetClut:[ 8 1019 534]
3: LoadClut:[ 12 1011 771] vs. GetClut:[ 12 1015 775]
4: LoadClut:[ 16 1007 602] vs. GetClut:[ 16 1011 602]
5: LoadClut:[ 20 1003 542] vs. GetClut:[ 20 1007 542]
*** Screen 1 *************************************************************
ATY,Crown_B (.Display_DualHead version 1.0b76) in slot ATI
10 bit dacs. 1152x870 75 Hz. (56,60,65,67,70,72,75,76,85,90,100,120 Hz
avail)
Prefs: cscGetClutBehavior, DacBits 10, SetClutDuplicates8Bits,
fixATIRadeonGamma, DipPriorityAfterSetClut, MinimumSetClutPriority 2.
- - - - - - - - - - - - - - - - - - - - - - - - -
8-bit gamma table. pixelSize 8. Success! GetClut==LoadClut at 8 bits.
8-bit gamma table. pixelSize 16. Success! GetClut==LoadClut at 8 bits.
8-bit gamma table. pixelSize 32. Success! GetClut==LoadClut at 8 bits.
10-bit gamma table. pixelSize 8. Failed! Values read differed (by up to 4)
from what was written:
0: LoadClut:[ 0 1023 819] vs. GetClut:[ 0 1023 823]
1: LoadClut:[ 4 1019 361] vs. GetClut:[ 4 1023 361]
2: LoadClut:[ 8 1015 955] vs. GetClut:[ 8 1019 959]
3: LoadClut:[ 12 1011 405] vs. GetClut:[ 12 1015 405]
4: LoadClut:[ 16 1007 883] vs. GetClut:[ 16 1011 887]
10-bit gamma table. pixelSize 16. Success! GetClut==LoadClut at 10 bits.
10-bit gamma table. pixelSize 32. Failed! Values read differed (by up to 4)
from what was written:
1: LoadClut:[ 4 1019 172] vs. GetClut:[ 4 1023 172]
2: LoadClut:[ 8 1015 381] vs. GetClut:[ 8 1019 381]
3: LoadClut:[ 12 1011 787] vs. GetClut:[ 12 1015 791]
4: LoadClut:[ 16 1007 477] vs. GetClut:[ 16 1011 477]
5: LoadClut:[ 20 1003 598] vs. GetClut:[ 20 1007 598]
**************************************************************************
»