Bug 52954

Summary: [r200] piglit glean/exactRGBA test fails
Product: Mesa Reporter: Barto <mister.freeman>
Component: Drivers/DRI/r200Assignee: Default DRI bug account <dri-devel>
Status: NEW --- QA Contact:
Severity: normal    
Priority: medium    
Version: 8.0   
Hardware: x86 (IA32)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:

Description Barto 2012-07-30 09:53:02 UTC
System configuration :

- radeon 9000 AGP ( M9, rv250 )
- laptop pentium 4 2.4 Ghz 1.25 Gb ram
- archlinux 32 bits

Step to reproduce the bug

- mesa 8.0.4 release ( but the bug occurs also with the git version )
- a graphic card who uses the r200 driver 
- install piglit ( git version )
- run the glean test "exactRGBA" in piglit :

./piglit-run.py  -t "glean/exactRGBA" tests/quick.tests results/quick

the glean/exactRGBA will fail with these error messages :

Output:
----------------------------------------------------------------------
This test performs a sanity check of glReadPixels, using as
few other portions of the GL as possible.  If this test fails,
it may be pointless to run other tests, since so many of them
depend on reading the contents of the framebuffer to determine
if they pass.

The test works by using glClear to fill the framebuffer with a
randomly-chosen value, reading the contents of the
framebuffer, and comparing the actual contents with the
expected contents.  RGB, RGBA, color index, stencil, and depth
buffers (whichever are applicable to the current rendering
context) are checked.  The test passes if the actual contents
are within 1 LSB of the expected contents.

readPixSanity:  PASS rgba8, db, z24, s8, win+pmap, id 33
	RGBA largest readback error was 0 bits
	Depth largest readback error was 0.33985 bits

----------------------------------------------------------------------
The OpenGL specification requires that under certain conditions
(e.g. lighting disabled, no clipping, no dithering, etc.) colors
specified as unsigned integers are represented *exactly* in the
framebuffer (up to the number of bits common to both the
original color and the framebuffer color channel).  Several glean
tests depend on this behavior, so this test is a prerequisite for
them.

This test works by drawing many small quadrilaterals whose
colors are specified by glColorub, glColorus, and glColorui;
reading back the resulting image; and comparing the colors read
back to the colors written.  The high-order bits shared by the
source representation of the colors and the framebuffer
representation of the colors must agree exactly for the test to
pass.

exactRGBA:  FAIL rgba8, db, z24, s8, win+pmap, id 33
	Unsigned short worst-case error was 0x100 at (0, 0)
		expected (0xeb00, 0x5ea3, 0xb3a6, 0x36cd)
		got (0xea00, 0x5e5e, 0xb3b3, 0x3737)
	Unsigned int   worst-case error was 0x1000000 at (1, 0)
		expected (0xff000000, 0xf4c10287, 0xd06cde3a, 0xe62b5851)
		got (0xfe000000, 0xf4f4f4ff, 0xd0d0d0ff, 0xe5e5e5ff)

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.