Bug 13652

Summary: [i915 TTM] texture with GL_ALPHA format applied incorrectly with blending
Product: Mesa Reporter: Shuang He <shuang.he>
Component: Drivers/DRI/i915Assignee: Eric Anholt <eric>
Status: VERIFIED FIXED QA Contact:
Severity: normal    
Priority: medium CC: dri-devel, eric
Version: unspecified   
Hardware: Other   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Attachments: test case
xorg conf

Description Shuang He 2007-12-14 00:43:49 UTC
System Environment:
--------------------------
--Platform: FC6
--Xf86_video_intel:6f92200db39a790c95c1fac64baf0bd41a70e481 
--Mesa:e2ca788ae700aae75bf8d024c1374c38cc5574f9 
--DRM:f1a99ddc14ebca303f20b6c23bd289fc887243ae
--Kernel:2.6.22

Bug detailed description:
--------------------------
This issue doesn't happen when INTEL_NO_TTM is set
And this issue doesn't happen on 965 platform

create a texture with GL_ALPHA format
set glBlendFunc(GL_ZERO, GL_SRC_ALPHA); and enabled glEnable(GL_BLEND);
render a polygon with this texture, but the alpha component turns out incorrect

Reproduce steps:
----------------
start X
compile and run the attached test case


Current result:
----------------
the alpha component is not correct

Expected result:
----------------
the alpha component should be correct
Comment 1 Shuang He 2007-12-14 00:47:18 UTC
Created attachment 13104 [details]
test case

the correct result should look like this:

buf[0, 0] = (0.000000, 0.000000, 0.000000, 0.501961)
(0, 0) = [0.000000, 0.000000, 0.000000, 0.501961]
(1, 0) = [0.000000, 0.000000, 0.000000, 0.501961]
(2, 0) = [0.000000, 0.000000, 0.000000, 0.501961]
(3, 0) = [0.000000, 0.000000, 0.000000, 0.149020]
(0, 1) = [0.000000, 0.000000, 0.000000, 0.501961]
(1, 1) = [0.000000, 0.000000, 0.000000, 0.501961]
(2, 1) = [0.000000, 0.000000, 0.000000, 0.501961]
(3, 1) = [0.000000, 0.000000, 0.000000, 0.149020]
(0, 2) = [0.000000, 0.000000, 0.000000, 0.501961]
(1, 2) = [0.000000, 0.000000, 0.000000, 0.501961]
(2, 2) = [0.000000, 0.000000, 0.000000, 0.501961]
(3, 2) = [0.000000, 0.000000, 0.000000, 0.149020]
(0, 3) = [0.000000, 0.000000, 0.000000, 0.501961]
(1, 3) = [0.000000, 0.000000, 0.000000, 0.501961]
(2, 3) = [0.000000, 0.000000, 0.000000, 0.501961]
(3, 3) = [0.000000, 0.000000, 0.000000, 0.149020]
Comment 2 Shuang He 2007-12-14 00:48:21 UTC
Created attachment 13105 [details]
xorg conf
Comment 3 Shuang He 2007-12-28 21:22:26 UTC
seems this issue has gone with git tip code.

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.