Bug 19313

Summary: [915GM UXA] readpix incorrect displayed
Product: Mesa Reporter: zhao jian <jian.j.zhao>
Component: Drivers/DRI/i915Assignee: Eric Anholt <eric>
Status: VERIFIED FIXED QA Contact:
Severity: normal    
Priority: high CC: haihao.xiang, kui.zheng, peng.li
Version: unspecified   
Hardware: Other   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Bug Depends on:    
Bug Blocks: 18841    
Attachments: xorg.conf
xorg.0.log
readpix_uxa

Description zhao jian 2008-12-28 19:13:34 UTC
Created attachment 21528 [details]
xorg.conf

System Environment:
----------------------
Host:          915gm
Arch:          i386
OSD:            Fedora release 8 (Werewolf)
Kernel:        2.6.28 release 
Libdrm:		(master)  c34539e8bb5568b1d6059abf139dd08e07e84eea
Mesa:		(intel-2008-q4) 88f4b17555be36f3023f74a1b9c792294f09912b
Xorg:		7.2
Xserver:	(server-1.6-branch) 32e81074b967716865aef08b66ec29caf0fec2c5
Xf86_video_intel_stable:		(xf86-video-intel-2.6-branch)892cb5db6fd4c5cc692bc74a2615860f27e9feff


Bug Description:
---------------------
Run readpix, and the read/write will have a incorrect display. As shown in attachment. 

Reproduce steps:
----------------
1.enable UXA
2.xinit&
3.run demo/readpix
Comment 1 zhao jian 2008-12-28 19:14:30 UTC
Created attachment 21529 [details]
xorg.0.log
Comment 2 zhao jian 2008-12-28 19:15:04 UTC
Created attachment 21530 [details]
readpix_uxa
Comment 3 zhao jian 2008-12-28 23:04:02 UTC
I tried to run it with option tiling off, but it still incorrect. 
In EXA, it is OK both with this option on and off. 
Comment 4 Gordon Jin 2008-12-29 00:17:24 UTC
Maybe what Kui got on his EeePC901 with Moblin build is related with this issue.
Comment 5 Eric Anholt 2009-01-06 11:24:22 UTC
commit 9a5082d2920c1a212fe935b5a093013e8035c321
Author: Eric Anholt <eric@anholt.net>
Date:   Mon Jan 5 23:28:50 2009 -0800

    Disable DRI2 buffer tiling on non-965, as those need fence regs for 2D blits
    
    This fixes glReadPixels failure on single-channel 915GM, as the software cod
    for readpixels was actually the only code in the driver doing tiling against
    these buffers (everything else says "rely on fence registers", since the 2D
    blits don't have a "don't rely on fence registers" option).
Comment 6 zhao jian 2009-01-06 22:46:02 UTC
It now works well. I tested it on 915gm with following configuration:

Host:          915gm
Arch:          i386
OSD:            Fedora release 8 (Werewolf)
Kernel:        2.6.28 release 
Xf86_video_intel:(xf86-video-intel-2.6-branch)21c2a0a75bec887413cddde46351b6d87469993f
Libdrm:          (master)c34539e8bb5568b1d6059abf139dd08e07e84eea
Mesa:            (intel-2008-q4)b9921a9fb2bc937194eac7e80e31d30f81cb6bb1
Xorg:            7.2
Xserver:         (server-1.6-branch)32e81074b967716865aef08b66ec29caf0fec2c5

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.