Bug 10546

Summary: 1.9.94: Image flickers with PageFlip
Product: Mesa Reporter: wbrana
Component: Drivers/DRI/i915Assignee: Michel Dänzer <michel>
Status: RESOLVED FIXED QA Contact: mesa-dev
Severity: normal    
Priority: medium    
Version: 5.0.2   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:
Attachments: Xorg.log
xorg.conf
Possible fix
i915tex debugging patch
7.2.0 Xorg.log
Xorg.log
xorg.conf
Xorg.log
kernel config

Description wbrana 2007-04-06 10:49:39 UTC
Image flickers with PageFlip in many apps e.g. glxgears and True Combat Elite

SW: xf86-video-intel 1.9.94, xorg-server 1.2.99.905, Mesa git, DRM git
HW: 945GM

It doesn't happen with xf86-video-intel 1.7.4 and xorg-server 1.2.0.
Comment 1 wbrana 2007-04-06 10:51:13 UTC
Created attachment 9503 [details]
Xorg.log
Comment 2 wbrana 2007-04-06 10:52:07 UTC
Created attachment 9504 [details]
xorg.conf
Comment 3 Michel Dänzer 2007-04-07 03:33:01 UTC
I assume this only happens with triple buffering as well as page flipping; I fixed a problem like this recently in Mesa git, which commit are you at?
Comment 4 wbrana 2007-04-07 06:46:59 UTC
I tested:
Mesa commit 51a894e6ebc3412a6d634a7378806f137374b09a
DRM commit 78034c06dfc0cd79cc47c2daa119ca3ee2a4fed4
Comment 5 wbrana 2007-04-07 07:27:50 UTC
Image flickers also with PageFlip enabled and TripleBuffer disabled.
Comment 6 Michel Dänzer 2007-04-08 05:07:30 UTC
I can't seem to reproduce this, but I just pushed some possibly related changes to git. If it still happens with current git, please attach the output of xrandr --verbose; with glxgears, does only the window flicker, or the whole screen?
Comment 7 wbrana 2007-04-08 06:14:22 UTC
Window flickers also with changes.

Screen 0: minimum 320 x 200, current 1024 x 768, maximum 1024 x 1024
VGA disconnected (normal left inverted right)
        Identifier: 0x5c
        Timestamp:  -784132709
        Subpixel:   unknown
        Clones:
        CRTCs:      0
LVDS connected 1024x768+0+0 normal (normal left inverted right) 304mm x 228mm
        Identifier: 0x5d
        Timestamp:  -784132709
        Subpixel:   horizontal rgb
        Clones:
        CRTC:       1
        CRTCs:      1
        EDID_DATA:
                00ffffffffffff0006af511700000000
                010e0102801e17780a12e59152528927
                24505400000001010101010101010101
                01010101010164190040410026301888
                360030e4100000180000000f00067708
                ff010f052e2dff053f01000000fe0041
                554f0a202020202020202020000000fe
                00423135305847303156370a20200085
        BACKLIGHT: 20780 (0x00000000) range:  (0,20780)
  1024x768 (0x5f)   65.0MHz
        h: width  1024 start 1048 end 1184 total 1344 skew    0 clock   48.4KHz
        v: height  768 start  771 end  777 total  806           clock   60.0Hz
  800x600 (0x60)   40.0MHz
        h: width   800 start  840 end  968 total 1056 skew    0 clock   37.9KHz
        v: height  600 start  601 end  605 total  628           clock   60.3Hz
  640x480 (0x61)   25.2MHz
        h: width   640 start  656 end  752 total  800 skew    0 clock   31.5KHz
        v: height  480 start  490 end  492 total  525           clock   59.9Hz
TV disconnected (normal left inverted right)
        Identifier: 0x5e
        Timestamp:  -784132709
        Subpixel:   unknown
        Clones:
        CRTCs:      0 1
        BOTTOM: 37 (0x00000000) range:  (0,100)
        RIGHT: 46 (0x00000000) range:  (0,100)
        TOP: 36 (0x00000000) range:  (0,100)
        LEFT: 54 (0x00000000) range:  (0,100)
                TV_FORMAT: ????
Comment 8 Michel Dänzer 2007-04-08 07:03:44 UTC
Created attachment 9516 [details] [review]
Possible fix

Does this xf86-video-intel patch help?
Comment 9 wbrana 2007-04-08 07:54:34 UTC
No change.
There is warning:
patching file src/i830_dri.c
Hunk #1 succeeded at 1686 (offset -55 lines).
Comment 10 Michel Dänzer 2007-04-09 01:37:18 UTC
Created attachment 9519 [details] [review]
i915tex debugging patch

Please provide the stderr output of running a GL app with this Mesa patch applied.
Comment 11 wbrana 2007-04-09 09:07:47 UTC
libGL warning: 3D driver claims to not support visual 0x63
glxgears - Page flipping active, pf_pipes=0x2
Vsync to pipe B
Comment 12 wbrana 2007-04-09 13:33:34 UTC
Flicker seems to depend on app. In some games e.g. ActionCube, 
it flickers only once per 20 seconds.
Comment 13 wbrana 2007-04-10 10:40:27 UTC
Created attachment 9557 [details]
7.2.0 Xorg.log
Comment 14 wbrana 2007-04-10 12:12:36 UTC
glxgears stderr with xorg 7.2.0:
libGL warning: 3D driver claims to not support visual 0x5b
Vsync to pipe B


Comment 15 Michel Dänzer 2007-04-11 01:07:04 UTC
(In reply to comment #14)
> glxgears stderr with xorg 7.2.0:

Pre-1.9.9x versions of the 2D driver lie, they don't actually support page flipping.
Comment 16 wbrana 2007-04-21 04:08:11 UTC
It seems to be fixed.
Comment 17 wbrana 2007-05-12 09:16:05 UTC
Bug appeared again after connecting LCD to VGA output.

Screen 0: minimum 320 x 200, current 1280 x 1024, maximum 1280 x 1280
VGA connected 1280x1024+0+0 normal (normal left inverted right) 338mm x 270mm
        Identifier: 0x5c
        Timestamp:  -2130392817
        Subpixel:   unknown
        Clones:
        CRTC:       0
        CRTCs:      0
        EDID_DATA:
                00ffffffffffff001e6d7444c8e10200
                031101036a221b78eaaec5a2574a9c25
                125054a56b80314f454f614f81800101
                010101010101302a009851002a403070
                1300520e1100001e000000fd00384b1e
                530e000a202020202020000000fc004c
                3137353348520a2020202020000000fc
                00200a202020202020202020202000d3
  1280x1024 (0x5f)  108.0MHz
        h: width  1280 start 1328 end 1440 total 1688 skew    0 clock   64.0KHz
        v: height 1024 start 1025 end 1028 total 1066           clock   60.0Hz
  1280x1024 (0x60)  109.0MHz
        h: width  1280 start 1368 end 1496 total 1712 skew    0 clock   63.7KHz
        v: height 1024 start 1027 end 1034 total 1063           clock   59.9Hz
  1024x768 (0x61)   65.0MHz
        h: width  1024 start 1048 end 1184 total 1344 skew    0 clock   48.4KHz
        v: height  768 start  771 end  777 total  806           clock   60.0Hz
  800x600 (0x62)   40.0MHz
        h: width   800 start  840 end  968 total 1056 skew    0 clock   37.9KHz
        v: height  600 start  601 end  605 total  628           clock   60.3Hz
  640x480 (0x63)   25.2MHz
        h: width   640 start  656 end  752 total  800 skew    0 clock   31.5KHz
        v: height  480 start  490 end  492 total  525           clock   60.0Hz
LVDS connected 1024x768+0+0 normal (normal left inverted right) 304mm x 228mm
        Identifier: 0x5d
        Timestamp:  -2130392817
        Subpixel:   horizontal rgb
        Clones:
        CRTC:       1
        CRTCs:      1
        EDID_DATA:
                00ffffffffffff0006af511700000000
                010e0102801e17780a12e59152528927
                24505400000001010101010101010101
                01010101010164190040410026301888
                360030e4100000180000000f00067708
                ff010f052e2dff053f01000000fe0041
                554f0a202020202020202020000000fe
                00423135305847303156370a20200085
        BACKLIGHT: 20780 (0x00000000) range:  (0,20780)
  1024x768 (0x61)   65.0MHz
        h: width  1024 start 1048 end 1184 total 1344 skew    0 clock   48.4KHz
        v: height  768 start  771 end  777 total  806           clock   60.0Hz
  800x600 (0x62)   40.0MHz
        h: width   800 start  840 end  968 total 1056 skew    0 clock   37.9KHz
        v: height  600 start  601 end  605 total  628           clock   60.3Hz
  640x480 (0x64)   25.2MHz
        h: width   640 start  656 end  752 total  800 skew    0 clock   31.5KHz
        v: height  480 start  490 end  492 total  525           clock   59.9Hz
TV disconnected (normal left inverted right)
        Identifier: 0x5e
        Timestamp:  -2130392817
        Subpixel:   unknown
        Clones:
        CRTCs:      0 1
        BOTTOM: 37 (0x00000000) range:  (0,100)
        RIGHT: 46 (0x00000000) range:  (0,100)
        TOP: 36 (0x00000000) range:  (0,100)
        LEFT: 54 (0x00000000) range:  (0,100)
                TV_FORMAT: ????
Comment 18 wbrana 2007-05-12 09:19:37 UTC
Created attachment 9945 [details]
Xorg.log
Comment 19 wbrana 2007-05-12 09:21:14 UTC
Created attachment 9946 [details]
xorg.conf
Comment 20 Michel Dänzer 2007-05-15 08:17:00 UTC
(In reply to comment #17)
> Bug appeared again after connecting LCD to VGA output.

Is the flicker (identical) on both outputs? Are you using sync-to-vblank?
Comment 21 wbrana 2007-05-15 09:04:43 UTC
I don't have access to external LCD at the moment.
Both images looked same except resolution, when I was testing.
I'm using following drirc file

<driconf>
    <device screen="0" driver="i915">
        <application name="Default">
            <option name="force_s3tc_enable" value="false" />
            <option name="fthrottle_mode" value="2" />
            <option name="vblank_mode" value="0" />
            <option name="allow_large_textures" value="1" />
        </application>
    </device>
    <device screen="0" driver="i915tex">
        <application name="Default">
            <option name="force_s3tc_enable" value="false" />
            <option name="fthrottle_mode" value="2" />
            <option name="vblank_mode" value="0" />
            <option name="allow_large_textures" value="1" />
        </application>
    </device>
</driconf>

Comment 22 wbrana 2007-06-02 02:49:31 UTC
I have external LCD connected. Image flickers same on both displays.

mesa 6.5.3
xorg-server 1.3.0
xf86-video-intel git 0984c1fc0963f1ebab31f5b8fce5ad4c387fbd2c
drm git 638c8087deecdf489eb4f70e82590d1be0c8c942
Comment 23 wbrana 2007-06-02 02:57:36 UTC
Created attachment 10155 [details]
Xorg.log
Comment 24 wbrana 2007-06-02 03:04:12 UTC
Created attachment 10156 [details]
kernel config
Comment 25 wbrana 2007-06-02 10:50:46 UTC
Image flickers also with mesa git 90630feeec52c6d4f2a17f75cdf3dab9f5baf923
Comment 26 Michel Dänzer 2007-06-14 01:09:49 UTC
Okay, I've been able to reproduce this. The problem occurs when Mesa generates damage events for buffer swaps and xf86-video-intel doesn't know to ignore them for synchronising the page contents. It'll be fixed when you build and run xf86-video-intel against xserver master (to become 1.4).

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.