Bug 61143

Summary: [chromium] Remove LayerRendererChromium::useShader
Product: WebKit Reporter: Alok Priyadarshi <alokp>
Component: Layout and RenderingAssignee: Alok Priyadarshi <alokp>
Status: RESOLVED FIXED    
Severity: Normal CC: abarth, commit-queue, eric, jamesr, vangelis
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: All   
OS: All   
Bug Depends on:    
Bug Blocks: 56749    
Attachments:
Description Flags
proposed patch
none
proposed patch
none
Patch for landing commit-queue: commit-queue-

Description Alok Priyadarshi 2011-05-19 14:09:04 PDT
LayerRendererChromium::useShader() caches shader id. To enable accelerated drawing, we need to let SKIA use the underlying graphics context without going via LayerRendererChromium. SKIA would be setting a different shader without LayerRendererChromium knowing about it.

There are two ways to fix it:
1. Do the caching at a common lower level - may be command buffer.
2. Get rid of caching altogether if it does not affect compositor performance adversely.

From my initial tests on a variety of composited pages, caching does not affect FPS on both desktop and ANGLE. I would expect all drivers to do this optimization.
Comment 1 Alok Priyadarshi 2011-05-19 14:16:33 PDT
Created attachment 94114 [details]
proposed patch
Comment 2 Alok Priyadarshi 2011-05-19 14:22:41 PDT
Created attachment 94116 [details]
proposed patch

fixed changelog
Comment 3 Vangelis Kokkevis 2011-05-19 16:58:29 PDT
Comment on attachment 94116 [details]
proposed patch

This looks good and it cleans up the API.  I would seriously doubt it would make any difference in performance.
Comment 4 James Robinson 2011-05-19 17:04:26 PDT
Comment on attachment 94116 [details]
proposed patch

R=me
Comment 5 WebKit Commit Bot 2011-05-19 17:13:43 PDT
Comment on attachment 94116 [details]
proposed patch

Rejecting attachment 94116 [details] from commit-queue.

Failed to run "['./Tools/Scripts/webkit-patch', '--status-host=queues.webkit.org', '--bot-id=cr-jail-7', 'apply-..." exit_code: 2

Last 500 characters of output:
tform/graphics/chromium/cc/CCCanvasLayerImpl.cpp.rej
patching file Source/WebCore/platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp
patching file Source/WebCore/platform/graphics/chromium/cc/CCLayerImpl.cpp
patching file Source/WebCore/platform/graphics/chromium/cc/CCPluginLayerImpl.cpp
patching file Source/WebCore/platform/graphics/chromium/cc/CCVideoLayerImpl.cpp

Failed to run "[u'/mnt/git/webkit-commit-queue/Tools/Scripts/svn-apply', u'--reviewer', u'James Robinson', u'--f..." exit_code: 1

Full output: http://queues.webkit.org/results/8722024
Comment 6 Alok Priyadarshi 2011-05-20 10:07:13 PDT
Created attachment 94236 [details]
Patch for landing
Comment 7 WebKit Review Bot 2011-05-20 10:07:55 PDT
Comment on attachment 94236 [details]
Patch for landing

Rejecting attachment 94236 [details] from commit-queue.

alokp@chromium.org does not have committer permissions according to http://trac.webkit.org/browser/trunk/Tools/Scripts/webkitpy/common/config/committers.py.

- If you do not have committer rights please read http://webkit.org/coding/contributing.html for instructions on how to use bugzilla flags.

- If you have committer rights please correct the error in Tools/Scripts/webkitpy/common/config/committers.py by adding yourself to the file (no review needed).  The commit-queue restarts itself every 2 hours.  After restart the commit-queue will correctly respect your committer rights.
Comment 8 WebKit Review Bot 2011-05-20 11:29:10 PDT
Comment on attachment 94236 [details]
Patch for landing

Rejecting attachment 94236 [details] from commit-queue.

alokp@chromium.org does not have committer permissions according to http://trac.webkit.org/browser/trunk/Tools/Scripts/webkitpy/common/config/committers.py.

- If you do not have committer rights please read http://webkit.org/coding/contributing.html for instructions on how to use bugzilla flags.

- If you have committer rights please correct the error in Tools/Scripts/webkitpy/common/config/committers.py by adding yourself to the file (no review needed).  The commit-queue restarts itself every 2 hours.  After restart the commit-queue will correctly respect your committer rights.
Comment 9 WebKit Commit Bot 2011-05-20 11:48:05 PDT
Comment on attachment 94236 [details]
Patch for landing

Rejecting attachment 94236 [details] from commit-queue.

Failed to run "['./Tools/Scripts/webkit-patch', '--status-host=queues.webkit.org', '--bot-id=cr-jail-7', 'apply-..." exit_code: 1

Last 500 characters of output:
autoinstalled/mechanize/_urllib2_fork.py", line 332, in _call_chain
    result = func(*args)
  File "/mnt/git/webkit-commit-queue/Tools/Scripts/webkitpy/thirdparty/autoinstalled/mechanize/_urllib2_fork.py", line 1170, in https_open
    return self.do_open(conn_factory, req)
  File "/mnt/git/webkit-commit-queue/Tools/Scripts/webkitpy/thirdparty/autoinstalled/mechanize/_urllib2_fork.py", line 1118, in do_open
    raise URLError(err)
urllib2.URLError: <urlopen error [Errno 60] Operation timed out>

Full output: http://queues.webkit.org/results/8719446
Comment 10 Alok Priyadarshi 2011-05-20 12:36:52 PDT
Manually committed r86975: http://trac.webkit.org/changeset/86975
Comment 11 Eric Seidel (no email) 2011-05-20 13:25:08 PDT
Have you added yourself to committees.py?  Adam: do we believe the feeder queue is still restarting properly?
Comment 12 Alok Priyadarshi 2011-05-20 13:30:58 PDT
(In reply to comment #11)
> Have you added yourself to committees.py?  Adam: do we believe the feeder queue is still restarting properly?

Yes I have added myself to committers.py.