Bug 106274

Summary: [ANGLE] Update ANGLE in WebKit
Product: WebKit Reporter: Max Vujovic <mvujovic>
Component: WebGLAssignee: Max Vujovic <mvujovic>
Status: RESOLVED FIXED    
Severity: Normal CC: achicu, ddkilzer, dino, eric.carlson, feature-media-reviews, gyuyoung.kim, igor.oliveira, jdiggs, laszlo.gombos, rakuco, svillar, tonikitoo, webkit-ews, webkit.review.bot
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Bug Depends on:    
Bug Blocks: 106798    
Attachments:
Description Flags
Patch (for bots, not for review)
mvujovic: commit-queue-
Patch (for bots, not for review)
mvujovic: commit-queue-
Patch (for bots, not for review)
mvujovic: commit-queue-
Patch (for bots, not for review)
mvujovic: commit-queue-
Patch (for bots, not for review)
mvujovic: commit-queue-
Patch (ready for review)
mvujovic: commit-queue-
Patch (ready for review)
dino: review+, mvujovic: commit-queue-
Attempted build fix - testing EWS webkit-ews: commit-queue-

Description Max Vujovic 2013-01-07 16:30:48 PST
Let's roll in the latest ANGLE sources.
Comment 1 Max Vujovic 2013-01-07 17:09:04 PST
Created attachment 181607 [details]
Patch (for bots, not for review)

Let's see what the bots dislike in this patch.
Comment 2 Early Warning System Bot 2013-01-07 17:18:22 PST
Comment on attachment 181607 [details]
Patch (for bots, not for review)

Attachment 181607 [details] did not pass qt-wk2-ews (qt):
Output: http://queues.webkit.org/results/15734909
Comment 3 Early Warning System Bot 2013-01-07 18:17:34 PST
Comment on attachment 181607 [details]
Patch (for bots, not for review)

Attachment 181607 [details] did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/15735950
Comment 4 EFL EWS Bot 2013-01-07 19:39:11 PST
Comment on attachment 181607 [details]
Patch (for bots, not for review)

Attachment 181607 [details] did not pass efl-ews (efl):
Output: http://queues.webkit.org/results/15732931
Comment 5 Max Vujovic 2013-01-08 13:54:58 PST
Created attachment 181750 [details]
Patch (for bots, not for review)
Comment 6 Early Warning System Bot 2013-01-08 14:05:07 PST
Comment on attachment 181750 [details]
Patch (for bots, not for review)

Attachment 181750 [details] did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/15762211
Comment 7 Early Warning System Bot 2013-01-08 14:05:35 PST
Comment on attachment 181750 [details]
Patch (for bots, not for review)

Attachment 181750 [details] did not pass qt-wk2-ews (qt):
Output: http://queues.webkit.org/results/15763232
Comment 8 EFL EWS Bot 2013-01-08 14:27:46 PST
Comment on attachment 181750 [details]
Patch (for bots, not for review)

Attachment 181750 [details] did not pass efl-ews (efl):
Output: http://queues.webkit.org/results/15758260
Comment 9 Max Vujovic 2013-01-09 10:43:18 PST
Created attachment 181947 [details]
Patch (for bots, not for review)

Attempt Qt bot fix.
Comment 10 EFL EWS Bot 2013-01-09 11:47:35 PST
Comment on attachment 181947 [details]
Patch (for bots, not for review)

Attachment 181947 [details] did not pass efl-ews (efl):
Output: http://queues.webkit.org/results/15758625
Comment 11 Max Vujovic 2013-01-09 14:40:43 PST
Created attachment 181983 [details]
Patch (for bots, not for review)

Attempt EFL build fix. Refactor Qt build fix.
Comment 12 EFL EWS Bot 2013-01-09 15:03:44 PST
Comment on attachment 181983 [details]
Patch (for bots, not for review)

Attachment 181983 [details] did not pass efl-ews (efl):
Output: http://queues.webkit.org/results/15762670
Comment 13 Raphael Kubo da Costa (:rakuco) 2013-01-09 16:49:11 PST
(In reply to comment #12)
> (From update of attachment 181983 [details])
> Attachment 181983 [details] did not pass efl-ews (efl):
> Output: http://queues.webkit.org/results/15762670

It's failing because "${THIRDPARTY_DIR}/ANGLE/include" is part of WebCore_INCLUDE_DIRECTORIES, while ShaderLang.h ends up being included indirectly in Source/WebKit/efl.

You need to add that include directory to Source/WebKit/PlatformEfl.cmake (you may have to do that to WebKit2 too).

BTW, are you sure you need to include "${THIRDPARTY_DIR}/ANGLE/include/KHR" as well (I didn't look at the whole patch)?
Comment 14 Max Vujovic 2013-01-09 16:56:30 PST
(In reply to comment #13)
> (In reply to comment #12)
> > (From update of attachment 181983 [details] [details])
> > Attachment 181983 [details] [details] did not pass efl-ews (efl):
> > Output: http://queues.webkit.org/results/15762670
> 
> It's failing because "${THIRDPARTY_DIR}/ANGLE/include" is part of WebCore_INCLUDE_DIRECTORIES, while ShaderLang.h ends up being included indirectly in Source/WebKit/efl.
> 
> You need to add that include directory to Source/WebKit/PlatformEfl.cmake (you may have to do that to WebKit2 too).

Ah ok. I will give that a try tomorrow.

> 
> BTW, are you sure you need to include "${THIRDPARTY_DIR}/ANGLE/include/KHR" as well (I didn't look at the whole patch)?

No, including KHR directly is wrong, but I figured I'd try it just in case :). I will remove it from the next patch.

Thanks for the help!
Comment 15 Max Vujovic 2013-01-10 11:11:35 PST
Created attachment 182174 [details]
Patch (for bots, not for review)

Attempt EFL fix. Add "${THIRDPARTY_DIR}/ANGLE/include" to PlatformEfl.cmake in WebKit and WebKit2.
Comment 16 Max Vujovic 2013-01-10 14:25:58 PST
Created attachment 182208 [details]
Patch (ready for review)

Setting r?, but cq- because this patch will need to be landed manually due to bug 91556. 

Since this is a massive patch, I'll point out that the important details are described in:
- Source/ThirdParty/ANGLE/ChangeLog

I have additional small ChangeLog entries in:
- Source/WebCore/ChangeLog
- Source/WebKit/ChangeLog
- Source/WebKit2/ChangeLog
Comment 17 Max Vujovic 2013-01-10 14:29:40 PST
Created attachment 182209 [details]
Patch (ready for review)

Oops, uploaded the wrong patch. Uploading the right one now.
Comment 18 Max Vujovic 2013-01-14 14:37:23 PST
Manually committed r139665: http://trac.webkit.org/changeset/139665
Comment 19 Dean Jackson 2013-01-14 18:43:06 PST
Reopening to attach new patch.
Comment 20 Dean Jackson 2013-01-14 18:43:13 PST
Created attachment 182676 [details]
Attempted build fix - testing EWS
Comment 21 Early Warning System Bot 2013-01-14 18:47:35 PST
Comment on attachment 182676 [details]
Attempted build fix - testing EWS

Attachment 182676 [details] did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/15872693
Comment 22 Early Warning System Bot 2013-01-14 18:49:28 PST
Comment on attachment 182676 [details]
Attempted build fix - testing EWS

Attachment 182676 [details] did not pass qt-wk2-ews (qt):
Output: http://queues.webkit.org/results/15868714
Comment 23 Dean Jackson 2013-01-14 18:56:36 PST
Committed http://trac.webkit.org/changeset/139702

But this broke the build :(
Comment 24 Max Vujovic 2013-01-14 21:13:44 PST
Dean and I made some build fixes this evening:

Fix internal Mac build: http://trac.webkit.org/changeset/139702
Fix Qt build: http://trac.webkit.org/changeset/139705
Fix EFL build: http://trac.webkit.org/changeset/139706
Fix GTK build: http://trac.webkit.org/changeset/139710
Comment 25 Sergio Villar Senin 2013-01-15 10:29:07 PST
(In reply to comment #24)
> Dean and I made some build fixes this evening:
> 
> Fix internal Mac build: http://trac.webkit.org/changeset/139702
> Fix Qt build: http://trac.webkit.org/changeset/139705
> Fix EFL build: http://trac.webkit.org/changeset/139706
> Fix GTK build: http://trac.webkit.org/changeset/139710


A clean build of GTK issues linking errors:

  CCLD     Programs/unittests/testwebhistoryitem
  CCLD     Programs/unittests/testwindow
  CCLD     Programs/unittests/testdownload
./.libs/libwebkit2gtk-3.0.so: undefined reference to `VariablePacker::CheckVariablesWithinPackingLimits(int, std::vector<TVariableInfo, std::allocator<TVariableInfo> > const&)'
collect2: error: ld returned 1 exit status
make[1]: *** [Programs/WebKitWebProcess] Error 1
make[1]: *** Waiting for unfinished jobs....
Comment 26 Sergio Villar Senin 2013-01-15 10:34:45 PST
(In reply to comment #25)
> (In reply to comment #24)
> > Dean and I made some build fixes this evening:
> > 
> > Fix internal Mac build: http://trac.webkit.org/changeset/139702
> > Fix Qt build: http://trac.webkit.org/changeset/139705
> > Fix EFL build: http://trac.webkit.org/changeset/139706
> > Fix GTK build: http://trac.webkit.org/changeset/139710
> 
> 
> A clean build of GTK issues linking errors:
> 
>   CCLD     Programs/unittests/testwebhistoryitem
>   CCLD     Programs/unittests/testwindow
>   CCLD     Programs/unittests/testdownload
> ./.libs/libwebkit2gtk-3.0.so: undefined reference to `VariablePacker::CheckVariablesWithinPackingLimits(int, std::vector<TVariableInfo, std::allocator<TVariableInfo> > const&)'
> collect2: error: ld returned 1 exit status
> make[1]: *** [Programs/WebKitWebProcess] Error 1
> make[1]: *** Waiting for unfinished jobs....

Beh, mvujovic just told me about https://bugs.webkit.org/show_bug.cgi?id=106917

Thx for the fix.
Comment 27 Max Vujovic 2013-01-15 10:37:11 PST
(In reply to comment #26)
> (In reply to comment #25)
> > (In reply to comment #24)
> > > Dean and I made some build fixes this evening:
> > > 
> > > Fix internal Mac build: http://trac.webkit.org/changeset/139702
> > > Fix Qt build: http://trac.webkit.org/changeset/139705
> > > Fix EFL build: http://trac.webkit.org/changeset/139706
> > > Fix GTK build: http://trac.webkit.org/changeset/139710
> > 
> > 
> > A clean build of GTK issues linking errors:
> > 
> >   CCLD     Programs/unittests/testwebhistoryitem
> >   CCLD     Programs/unittests/testwindow
> >   CCLD     Programs/unittests/testdownload
> > ./.libs/libwebkit2gtk-3.0.so: undefined reference to `VariablePacker::CheckVariablesWithinPackingLimits(int, std::vector<TVariableInfo, std::allocator<TVariableInfo> > const&)'
> > collect2: error: ld returned 1 exit status
> > make[1]: *** [Programs/WebKitWebProcess] Error 1
> > make[1]: *** Waiting for unfinished jobs....
> 
> Beh, mvujovic just told me about https://bugs.webkit.org/show_bug.cgi?id=106917
> 
> Thx for the fix.

Sorry, should have linked that bug sooner. It just landed.

Fix GTK build, part 2: http://trac.webkit.org/changeset/139755
Comment 28 David Kilzer (:ddkilzer) 2013-01-26 16:54:07 PST
This updated ANGLE to upstream r1641 per Bug 106798 Comment #10.

Note that I also committed a fix to remove nonexistent files from the Xcode project in r139717.
<http://trac.webkit.org/changeset/139717>