Bug 22228 - [i965] googleearth image is covered by "fog" when zoomed in
[i965] googleearth image is covered by "fog" when zoomed in
Product: Mesa
Classification: Unclassified
Component: Drivers/DRI/i965
x86-64 (AMD64) Linux (All)
: medium major
Assigned To: Ian Romanick
Xorg Project Team
: 22257 23754 (view as bug list)
Depends on:
  Show dependency treegraph
Reported: 2009-06-11 02:11 UTC by Yifei Chen
Modified: 2009-11-11 19:50 UTC (History)
5 users (show)

See Also:
i915 platform:
i915 features:

screenshot of googleearth (269.92 KB, image/png)
2009-06-11 02:11 UTC, Yifei Chen
xorg.conf (4.21 KB, application/octet-stream)
2009-06-11 02:21 UTC, Yifei Chen
Xorg.0.log (63.00 KB, text/x-log)
2009-06-11 02:27 UTC, Yifei Chen

Note You need to log in before you can comment on or make changes to this bug.
Description Yifei Chen 2009-06-11 02:11:26 UTC
Created attachment 26666 [details]
screenshot of googleearth

On G45 64bit, The image of googleearth will be covered by kinda "fog" when zoom in, the closer of zoom the thicker of the "fog". Please see attachment for screenshot.

It was tested on:
OSD:            Fedora release 8 (Werewolf)
Kernel:       (for-linus)0e7ddf7eeeef5aea85412120539ab5369577faeb
Libdrm:         (master)3d4bfe8c893d016ef43d1ebf28e4607aa1f540a4
Mesa:           (mesa_7_5_branch)76a1017e978f8e51114d765c8c98ff25da13042b
Xserver:                (server-1.6-branch)5cd5a01259ba349f1868ca4af04207cf120d69e4
Xf86_video_intel:               (master)475f0e4e935618ce1ebdda758ed803053cc4f846

with KMS and UMS, and we tested both with and without compiz.
Comment 1 Yifei Chen 2009-06-11 02:21:16 UTC
Created attachment 26667 [details]
Comment 2 Yifei Chen 2009-06-11 02:27:42 UTC
Created attachment 26668 [details]
Comment 3 Gordon Jin 2009-06-12 11:26:31 UTC
*** Bug 22257 has been marked as a duplicate of this bug. ***
Comment 4 Gordon Jin 2009-06-12 11:28:23 UTC
Yifei, any other machines also impacted? like 945?
Comment 5 Fatih Aşıcı 2009-06-13 03:56:11 UTC
Same issue here with 965GM.
Comment 6 Yifei Chen 2009-06-14 19:15:33 UTC
We've also tested on 915GM and GM45 32bit, 915GM works fine but GM45 has the same problem. I'll test more platform later today.
Comment 7 Yifei Chen 2009-06-15 19:37:41 UTC
Sorry for one mistake, we used both googleearth 4.x and 5.x in the previous test. After notice this, we retested on several platforms, all those platforms has this problem with googleearth 5.x, and 4.x works fine. Tested platforms include 915GM, GM965, G35, G45 and 945GM.
Comment 8 Michel Dänzer 2009-06-15 23:29:01 UTC
Beware that some versions of Google Earth may work around this bug based on criteria encoded in their drivers.ini files.
Comment 9 Yifei Chen 2009-06-16 00:07:00 UTC
Hi Michel, could you be more specific? we've tweaked with googleearth's drivers.ini a little bit, but have not figure out whether it's because of drivers.ini that make 4.x works fine.
Comment 10 Michel Dänzer 2009-06-16 08:08:18 UTC
Just wanted to point out that some versions of Google Earth will use different athmosphere shaders when they detect certain drivers, in case you didn't know that yet.
Comment 11 Gordon Jin 2009-06-29 20:11:20 UTC
Yifei, please file a separate bug for i915.
Comment 12 Yifei Chen 2009-07-01 19:47:17 UTC
We've tested googeearth again, now it works fine on 915GM and 945GM, but the same problem still be here on GM965 G35 and G45.
Comment 13 Ian Romanick 2009-07-02 15:55:58 UTC
I looked at this bug a bit.  Google conveniently provides the source to their vertex and fragment shaders (in the shaders/ directory).  In the fragment shader, fragment.texcoord[2].w is used as a fog factor.  I played with forcing this to a constant value, and correct results were produced.  I infer that the problem is the vertex shader is always setting this to a result.texcoord[2].w to 0.0.

The next step is to force setting result.texcoord[2].w to a non-zero constant in the vertex shader.
Comment 14 Yifei Chen 2009-07-06 23:31:49 UTC
There's no such fog if "Atmosphere" was closed from View --> Atmosphere.
Comment 15 Gordon Jin 2009-07-06 23:50:00 UTC
decreasing priority since there's a workaround by disabling Atmosphere.

btw, bug#17397 says Atmosphere causes slowness. Yifei, can you validate this on G45 and 945GM?
Comment 16 Olaf Encke 2009-07-21 09:48:24 UTC
I have the same problem on my Foxconn G45M-S board with Ubuntu Karmic 64bit + xorg-edgers ppa.
I was able to work around it by enabling weather.
Comment 17 ajax at nwnk dot net 2009-08-24 12:32:21 UTC
Mass version move, cvs -> git
Comment 18 Gordon Jin 2009-09-06 18:10:48 UTC
*** Bug 23754 has been marked as a duplicate of this bug. ***
Comment 19 fangxun 2009-10-08 19:51:35 UTC
It works well with following commits:
Libdrm: (master)ac71f0849928f4b2fbb69c01304ac6f9df8916a1
Mesa:   (mesa_7_6_branch)151e0c0aeaa78f4eb6a87d2b3dd86b4807db1523
Xserver:  (server-1.6-branch)507e57381fea6334f7dc8da6925e53d2c76fddcb
Xf86_video_intel: (master)a92bbcc94904684e7709b3ddaad82bc04607af26 
Kernel: (master)74fca6a42863ffacaf7ba6f1936a9f228950f657
Comment 20 maximlevitsky 2009-10-09 20:59:08 UTC
I tested following commits:

libdrm (more recent):

mesa: (this is git master, more recent I guess, the mesa_7_6_branch pulled into very recently)

xserver (git master)


and kernel is quite outdated (2.6.31-rc5)

While I confirm that GE works great (consumes only 250 MB of memory, quite fast, streetview works nicely, but this shader bug exists)

I'll test with your revisions as well soon.
Comment 21 maximlevitsky 2009-10-09 20:59:50 UTC
And I have G965 (intel DG965RY motherboard)
Comment 22 maximlevitsky 2009-10-30 19:19:54 UTC
Beware that latest GE beta doesn't reproduce that bug.

I think they have made a workaround.

However normal stable 5.0 version has this bug.
Comment 23 Eric Anholt 2009-11-10 10:56:56 UTC
commit 56ab92bad8f1d05bc22b8a8471d5aeb663f220de
Author: Eric Anholt <eric@anholt.net>
Date:   Tue Nov 10 10:54:15 2009 -0800

    i965: Unalias src/dst registers for SGE and friends.
    Fixes piglit vp-sge-alias test, and the googleearth ground shader.  \o/
    Bug #22228
Comment 24 fangxun 2009-11-11 19:50:44 UTC
Verified with currently commit.