Bug 55856 - kwin with gles window content is not updating (gen4)
Summary: kwin with gles window content is not updating (gen4)
Alias: None
Product: Mesa
Classification: Unclassified
Component: Mesa core (show other bugs)
Version: 9.0
Hardware: x86 (IA32) Linux (All)
: medium normal
Assignee: mesa-dev
QA Contact:
Depends on:
Reported: 2012-10-10 21:50 UTC by wojtek
Modified: 2012-11-06 23:55 UTC (History)
5 users (show)

See Also:
i915 platform:
i915 features:

Xorg.log (29.47 KB, text/plain)
2012-10-10 21:50 UTC, wojtek
egl_dri2/x11: Fix eglPostSubBufferNV() (1.04 KB, patch)
2012-11-06 18:37 UTC, Fredrik Höglund
Details | Splinter Review

Description wojtek 2012-10-10 21:50:42 UTC
Created attachment 68425 [details]

Using kwin-4.9.2 KWin on OpenGL ES with mesa-9.0 window content is not updating (for example progressBar).

We must move window to see changes.

This error not occurs with 9.0_pre20120918 (gentoo package)



00:02.0 VGA compatible controller: Intel Corporation Mobile GM965/GL960 Integrated Graphics Controller (primary) (rev 0c) (prog-if 00 [VGA controller])
        Subsystem: Lenovo T61
        Flags: bus master, fast devsel, latency 0, IRQ 45
        Memory at f8100000 (64-bit, non-prefetchable) [size=1M]
        Memory at e0000000 (64-bit, prefetchable) [size=256M]
        I/O ports at 1800 [size=8]
        Capabilities: [90] MSI: Enable+ Count=1/1 Maskable- 64bit-
        Capabilities: [d0] Power Management version 3
        Kernel driver in use: i915
Comment 1 wojtek 2012-10-18 14:44:35 UTC

*** This bug has been marked as a duplicate of bug 55998 ***
Comment 2 wojtek 2012-11-06 01:38:46 UTC
according to 

git bisect bad
e1cb50b15dbb75d1ba0fe184d05be7d302b058ee is the first bad commit
commit e1cb50b15dbb75d1ba0fe184d05be7d302b058ee
Author: Robert Bragg <robert@linux.intel.com>
Date:   Tue Sep 18 16:10:03 2012 +0100

    SwapBuffersRegionNOK: invert rectangles on y axis
    The EGL_NOK_swap_region2 spec states that the rectangles are specified
    with a bottom-left origin within a surface coordinate space also with a
    bottom left origin, so this patch ensures the rectangles are flipped
    before passing them on to dri2_copy_region.
    Fixes piglit's egl-nok-swap-region test.
    Tested-by: Matt Turner <mattst88@gmail.com>
    (cherry picked from commit 0a523a8820e8a2549ac1c7887eb1892b228af44b)

this commit introduced regression.
Comment 3 Fredrik Höglund 2012-11-06 18:28:17 UTC
KWin uses EGL_NV_post_sub_buffer to do partial updates. But it looks like dri2_swap_buffers_region(), which this commit changed, is called by both eglSwapBuffersRegionNOK() and eglPostSubBufferNV(). So this commit fixed one entry point and broke the other.
Comment 4 Fredrik Höglund 2012-11-06 18:37:38 UTC
Created attachment 69634 [details] [review]
egl_dri2/x11: Fix eglPostSubBufferNV()

This patch should fix the problem.
Comment 5 Ian Romanick 2012-11-06 20:08:35 UTC
Comment on attachment 69634 [details] [review]
egl_dri2/x11: Fix eglPostSubBufferNV()

Review of attachment 69634 [details] [review]:

This looks good to me.

Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Comment 6 wojtek 2012-11-06 21:16:15 UTC
it works too :)

thanks for fix
Comment 7 Fredrik Höglund 2012-11-06 23:55:53 UTC
Fixed by commit f42518962a08ce927e4ddd233d19d2661e135834.

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.