Bug 84178 - Big glamor regression in Xorg server GIT: x11perf 1.5 Test: PutImage XY 500x500 Square
Summary: Big glamor regression in Xorg server GIT: x11perf 1.5 Test: PutImage...
Alias: None
Product: xorg
Classification: Unclassified
Component: Server/Acceleration/glamor (show other bugs)
Version: git
Hardware: Other All
: medium normal
Assignee: Xorg Project Team
QA Contact: Xorg Project Team
Depends on:
Reported: 2014-09-22 11:36 UTC by darkbasic
Modified: 2014-09-30 00:55 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Note You need to log in before you can comment on or make changes to this bug.
Description darkbasic 2014-09-22 11:36:27 UTC
x11perf 1.5 Test: PutImage XY 500x500 Square regression:

Full benchmark (there are some other minor regressions): http://openbenchmarking.org/result/1409222-LI-1405080SO58&embed_export=1
Comment 1 darkbasic 2014-09-22 19:09:25 UTC
It is radeon specific: Keith Packard cannot reproduce it.
Comment 2 Michel Dänzer 2014-09-24 02:50:39 UTC
Do you know of any real world applications using this functionality?
Comment 3 Michel Dänzer 2014-09-24 02:52:16 UTC
Can you bisect?
Comment 4 darkbasic 2014-09-24 07:18:12 UTC
Yes, I will try to bisect it.
Comment 5 darkbasic 2014-09-24 13:42:25 UTC
I wasted hours bisecting the xorg server without success and then hours bisecting mesa but this damn bug is in the kernel. I will try to bisect kernel too, damn I fucking hate bisecting kernel.
Comment 6 darkbasic 2014-09-24 13:43:21 UTC
3.14.3 gives 61.7/sec in PutImage XY 500x500 square while drm-next-3.18 only 0.6.
Comment 7 darkbasic 2014-09-24 16:21:27 UTC
Unfortunately I will not be able to bisect the kernel until at least next week.
Comment 8 Michel Dänzer 2014-09-25 04:01:49 UTC
No need to bisect, I know what the problem is.
Comment 9 darkbasic 2014-09-25 08:23:17 UTC
Awesome, thanks.
Comment 10 Michel Dänzer 2014-09-26 08:12:09 UTC
I just pushed the Mesa side of the fix to Git master, see below. The glamor side of the fix has been reviewed but not applied yet.

Module: Mesa
Branch: master
Commit: 7e55c3b352b6616fa2780f683dd6c8e1a3f61815
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=7e55c3b352b6616fa2780f683dd6c8e1a3f61815

Author: Michel Dänzer <michel.daenzer@amd.com>
Date:   Thu Sep 25 15:29:56 2014 +0900


Such buffers can only be useful by reading from them with the CPU, so we
need to make sure CPU reads are fast.
Comment 11 Michel Dänzer 2014-09-30 00:55:13 UTC
commit d3d845ca9e92f0a2ccde93f4242d7769cfe14164
Author: Michel Dänzer <michel.daenzer@amd.com>
Date:   Thu Sep 25 15:27:22 2014 +0900

    glamor: Use GL_STREAM_READ also for read/write access to a PBO
    Otherwise the CPU may end up reading from non-cacheable memory, which is
    very slow.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct.