Bug 10939 - [965] GL smooth wide points drawn as squares
Summary: [965] GL smooth wide points drawn as squares
Status: VERIFIED FIXED
Alias: None
Product: Mesa
Classification: Unclassified
Component: Drivers/DRI/i965 (show other bugs)
Version: git
Hardware: Other Linux (All)
: medium normal
Assignee: haihao
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-05-13 23:32 UTC by WuNian
Modified: 2009-08-24 12:26 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Attachments
test case (1.60 KB, text/plain)
2007-05-13 23:34 UTC, WuNian
Details

Description WuNian 2007-05-13 23:32:29 UTC
If enable antialiasing point by call glEnable(GL_POINT_SMOOTH) and set the point size larger than 1, the drawn point is still a square and Mesa do not computer coverage value.
Comment 1 WuNian 2007-05-13 23:34:48 UTC
Created attachment 9960 [details]
test case

The test case draws a point which size is 3. The result is 3x3 region is colorful with same color. Other pixels are not colored.
Comment 2 Brian Paul 2007-05-14 08:15:01 UTC
Looks OK here w/ 6.5.3 and git/master.  You're using the software x11 driver, and not a hardware driver, right?

The program prints:
size range: 1.000000 20.000000; size step: 0.100000 
draw pixel at (0, 0): 0.000000
draw pixel at (0, 1): 0.000000
draw pixel at (0, 2): 0.000000
draw pixel at (0, 3): 0.000000
draw pixel at (0, 4): 0.000000
draw pixel at (1, 0): 0.000000
draw pixel at (1, 1): 0.674510
draw pixel at (1, 2): 0.909804
draw pixel at (1, 3): 0.674510
draw pixel at (1, 4): 0.000000
draw pixel at (2, 0): 0.000000
draw pixel at (2, 1): 0.909804
draw pixel at (2, 2): 1.000000
draw pixel at (2, 3): 0.909804
draw pixel at (2, 4): 0.203922
draw pixel at (3, 0): 0.000000
draw pixel at (3, 1): 0.674510
draw pixel at (3, 2): 0.909804
draw pixel at (3, 3): 0.674510
draw pixel at (3, 4): 0.000000
draw pixel at (4, 0): 0.000000
draw pixel at (4, 1): 0.000000
draw pixel at (4, 2): 0.203922
Comment 3 WuNian 2007-05-14 18:24:54 UTC
This bug only exists with 965 driver. Changed component to i965.
Comment 4 WuNian 2007-07-02 22:31:11 UTC
The bug also exists with i915 driver now. With i915 driver, the output of the test case is:

size range: 1.000000 255.000000; size step: 1.000000 
draw pixel at (0, 0): 0.000000
draw pixel at (0, 1): 0.000000
draw pixel at (0, 2): 0.000000
draw pixel at (0, 3): 0.000000
draw pixel at (0, 4): 0.000000
draw pixel at (1, 0): 0.000000
draw pixel at (1, 1): 0.000000
draw pixel at (1, 2): 0.000000
draw pixel at (1, 3): 0.000000
draw pixel at (1, 4): 0.000000
draw pixel at (2, 0): 0.000000
draw pixel at (2, 1): 0.000000
draw pixel at (2, 2): 0.000000
draw pixel at (2, 3): 0.000000
draw pixel at (2, 4): 0.000000
draw pixel at (3, 0): 0.000000
draw pixel at (3, 1): 0.000000
draw pixel at (3, 2): 0.000000
draw pixel at (3, 3): 0.000000
draw pixel at (3, 4): 0.000000
draw pixel at (4, 0): 0.000000
draw pixel at (4, 1): 0.000000
draw pixel at (4, 2): 0.000000
draw pixel at (4, 3): 0.000000
draw pixel at (4, 4): 0.000000
Comment 5 Roland Scheidegger 2007-07-03 04:51:28 UTC
Not speaking directly of i915/i965, but typical hardware just can't support this natively. Solutions would be to try to turn it into a point sprite with a alpha texture attached, decompose the point into several triangles, use swrast or just not announce support for large antialiased point sizes. I'm not sure where the maximum supported size of 3 comes from. Maybe that's the maximum where it's still ok to draw a round point as a square since the error is still in the sub-pixel range?
Comment 6 haihao 2008-03-18 23:10:47 UTC
Set a variable INTEL_STRICT_CONFORMANCE=1 in your environment. 
Comment 7 WuNian 2008-03-19 00:34:13 UTC
After I set INTEL_STRICT_CONFORMANCE=1, there is nothing to be drawn. All of the pixels are zero.

Soft render is OK.
Comment 8 haihao 2008-03-19 20:45:53 UTC
fixed in mesa bff94a91c6852157a8251652cb61dc699cd8e4f1
Comment 9 WuNian 2008-03-25 00:20:53 UTC
verified. Thanks.
Comment 10 Adam Jackson 2009-08-24 12:26:46 UTC
Mass version move, cvs -> git


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.