Bug 30232 - [GM45] mesa demos spriteblast render incorrectly
Summary: [GM45] mesa demos spriteblast render incorrectly
Status: VERIFIED FIXED
Alias: None
Product: Mesa
Classification: Unclassified
Component: Drivers/DRI/i965 (show other bugs)
Version: 9.0
Hardware: All Linux (All)
: medium normal
Assignee: Eric Anholt
QA Contact: libo
URL:
Whiteboard:
Keywords:
: 42080 (view as bug list)
Depends on:
Blocks:
 
Reported: 2010-09-16 21:43 UTC by wang,jinjin
Modified: 2013-06-03 05:14 UTC (History)
4 users (show)

See Also:
i915 platform:
i915 features:


Attachments
i965.png (137.14 KB, image/x-png)
2010-09-16 21:43 UTC, wang,jinjin
Details
swrast.png (113.95 KB, image/png)
2010-09-16 21:44 UTC, wang,jinjin
Details
result from GPU Caps Viewer (542.24 KB, image/png)
2011-03-29 03:50 UTC, Md Imam Hossain
Details

Description wang,jinjin 2010-09-16 21:43:58 UTC
Created attachment 38751 [details]
i965.png

System Environment:
--------------------------
Arch:           i386
Platform:       Capella
OSD:            Fedora release 13 (Goddard)
Libdrm:         (master)2.4.21-21-g7ec9a1effa4f551897f91f3b017723a8adf011d9
Mesa:           (7.9)d46b7c9f6f91f80b7349067dd5be52f0af736ec1
Xserver:                (master)xorg-server-1.9.0
Xf86_video_intel:               (master)2.12.0-87-g08c2caca48323d6d5701dcef3486f850619d7905
Cairo:          (master)cb0bc64c16b3a38cbf0c622830c18ac9ea6e2ffe
Libva:          (master)6772bdb4406edaf55da2e3604003c9eafff31c36
Kernel: (master)9fe6206f400646a2322096b56c59891d530e8d51

Bug detailed description:
---------------------------
With Mesa(7.9)d46b7c9f6f91f80b7349067dd5be52f0af736ec1, Mesa demo spriteblast render incorrectly using i965. But using swrast, it render correctly. 

Reproduce steps:
----------------
1.xinit& 
2. Mesa_demos/src/demos/spriteblast
Comment 1 wang,jinjin 2010-09-16 21:44:51 UTC
Created attachment 38752 [details]
swrast.png
Comment 2 wang,jinjin 2010-09-20 19:00:14 UTC
mesa demos pointblast also have the same problem
Comment 3 Tobias Jakobi 2011-01-09 07:41:49 UTC
Bumping this!

Using this setup:
Intel Corporation Arrandale Integrated Graphics Controller (rev 02)

xorg-server-1.9.2.902
libdrm, mesa + xf86-video-intel git master

Both spriteblast and pointblast render incorrectly when run with the hardware driver. Switching to the gallium software renderer fixes both cases.

I guess it also introduces this problem to wine:
http://bugs.winehq.org/attachment.cgi?id=32783

This is a screenshot of running FEAR (demo) on wine-1.3.10, which clearly shows that sprite rendering is broken. This also affects some other effects in the game, e.g. muzzle flash, etc.
Comment 4 Tobias Jakobi 2011-01-09 07:44:45 UTC
It should also be noted that this seems to be (at least) partially tied to GLSL compilation. In wine the issues disappear when disabling the use of GLSL (then only ARB_fp and ARB_vp are used).
Comment 5 Eric Anholt 2011-01-18 15:34:31 UTC
Tobias, that app isn't using point sprites.  It's not even using points.
Comment 6 Md Imam Hossain 2011-03-29 03:50:47 UTC
Created attachment 44992 [details]
result from GPU Caps Viewer

normal screenshot of the problem
Comment 7 Md Imam Hossain 2011-03-29 03:59:24 UTC
The problem is maybe related to this problem, running OpenGL demo 'GLSL point sprite particles' in "GPU Caps Viewer" using WINE results incorrect rendering.


System:

Ubuntu 10.10
Linux 2.6.36-02063604-generic
Mesa3D 7.10.1 (earlier Mesas' also have this problem)
WINE 1.3.16
GPU Caps Viewer v1.10.0
Intel GMA 4500 - 256MB

the result is bundled in the attachment

Thanks.
Comment 8 Gordon Jin 2011-10-20 22:13:37 UTC
*** Bug 42080 has been marked as a duplicate of this bug. ***
Comment 9 Joel 2011-11-23 06:34:57 UTC
Is this specific to Calpella platform, or has it been fixed?
I don't see this on my Sandybridge using plain Fedora 16.
Comment 10 Gordon Jin 2011-11-23 22:36:09 UTC
It appears pass on our Sandy Bridge.
Chao, can you confirm it on our Calpella?
Comment 11 cc 2011-11-24 17:37:14 UTC
I test this on Calpella platform(Fedora 13) and do not see this issue, So maybe this isuue has been fixed.
Comment 12 Md Imam Hossain 2011-11-24 19:51:29 UTC
This bug has been present from the beginning of any Mesa version for Intel GMA 4500 chipset. I am not sure for other Intel chipset though.

Still present in git, Mesa 7.11.1, 7.10.3, back to 7.7.1

Gallium software rendering from Mesa git now almost renders this properly.

export LIBGL_ALWAYS_SOFTWARE=1

same for GLSL point sprite particles from GPU Caps Viewer renders almost perfectly by gallium software rendering.
Comment 13 cc 2011-11-24 21:23:46 UTC
OK, I can reproduce it on GM45 platform now which environment as follows:

OSD:		Fedora release 13 (Goddard)
Kernel_version:		2.6.31.12
Libdrm:		(master)2.4.26-18-gcc088f1721eaa5f8f1ba1932723882f92e34c39a
Mesa:		(7.11)bf7b347c1041edc77472c117e0ffcfbb71d5c13b
Xserver:		(server-1.11-branch)xorg-server-1.11.1
Comment 14 Md Imam Hossain 2012-05-17 22:59:25 UTC
This seems only happening with GM45. Recently tested on Intel GMA 945 with GLSL enabled from driconf renders fine but not with GM45 with Mesa 8 stable and 8.1-devel from git. Also on Sandy Bridge it works fine. Therefore the bug is releted to only GM45 GL driver code.

Cheers
Comment 15 Md Imam Hossain 2012-05-17 23:00:32 UTC
Also with Gallium software renderer it renders fine with Mesa 8.1-devel from git
Comment 16 Md Imam Hossain 2012-08-07 13:52:28 UTC
still present in the git
Comment 17 Eric Anholt 2013-02-22 19:58:54 UTC
Patch is on the list
Comment 18 Eric Anholt 2013-02-25 19:27:38 UTC
commit 50a5d5dea0c21886bc3445c0ad0928b03e64ab10
Author: Eric Anholt <eric@anholt.net>
Date:   Wed Feb 20 14:00:47 2013 -0800

    i965: Fix the W value of deprecated pointcoords on pre-gen6.
Comment 19 Gordon Jin 2013-05-30 08:24:05 UTC
Bo, please verify.
Comment 20 Md Imam Hossain 2013-05-30 09:52:53 UTC
it is fixed in master, but there is one more similar bug like I mentioned before with GPU Caps Viewer.
Comment 21 libo 2013-06-03 05:14:32 UTC
It has been fixed on my side.


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.