Bug 42789

Summary: Add ANGLE into WebKit
Product: WebKit Reporter: Paul Sawaya <psawaya>
Component: WebGLAssignee: Paul Sawaya <psawaya>
Status: RESOLVED FIXED    
Severity: Enhancement CC: adele, cmarrin, darin, kbr, sam, simon.fraser, webkit.review.bot
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Mac (Intel)   
OS: OS X 10.5   
Attachments:
Description Flags
ANGLE changes in webcore
sam: review-
ANGLE source code, removed bison.exe and flex.exe, left all else intact.
sam: review-
Changes to WebCore.xcodeproj for ANGLE
sam: review-
Changes to existing files in webkit for ANGLE
none
New ANGLE files for webcore
none
ANGLE source code
none
Contains ANGLE source code and new xcodeproject. Should build correctly into WebKitBuild
none
ANGLE source code and xcodeproject. Contains no changes to WebCore.
none
ANGLE source code and xcodeproject. Improvements to ChangeLog
none
ANGLE source code and Xcode project. Cleaned up ChangeLog
none
ANGLE source code and Xcode project. Got rid of errant files adele: review+

Description Paul Sawaya 2010-07-21 14:47:28 PDT
ANGLE is a library from Google (http://code.google.com/p/angleproject/) useful for compiling OpenGL ES shaders into desktop GL and DirectX shaders, and for performing code validation.

Here are some patches, one for moving the ANGLE source code into the WebCore tree, along with some code (ANGLEWebkitBridge.cpp) for calling the ANGLE compiler, and some hooks in WebCore itself. I also made some changes in the xcode project to link and build ANGLE with the rest of WebCore.
Comment 1 Paul Sawaya 2010-07-21 14:47:52 PDT
Created attachment 62233 [details]
ANGLE changes in webcore
Comment 2 Paul Sawaya 2010-07-21 14:48:29 PDT
Created attachment 62234 [details]
ANGLE source code, removed bison.exe and flex.exe, left all else intact.
Comment 3 Paul Sawaya 2010-07-21 14:49:01 PDT
Created attachment 62235 [details]
Changes to WebCore.xcodeproj for ANGLE
Comment 4 Sam Weinig 2010-07-21 15:50:28 PDT
Comment on attachment 62233 [details]
ANGLE changes in webcore

In the future, you should mark your patches as patches and review? if you want them to be reviewed.  For now, you should run the check-webkit-style on this patch (ignoring the ANGLE lib itself) and repost).  Please also remove commented out and debugging code.
Comment 5 Paul Sawaya 2010-07-21 16:15:24 PDT
Created attachment 62242 [details]
Changes to existing files in webkit for ANGLE
Comment 6 Paul Sawaya 2010-07-21 16:16:34 PDT
Created attachment 62243 [details]
New ANGLE files for webcore

Contains ANGLEWebkitBridge and the ShaderLang and ResourceLimits headers from ANGLE.
Comment 7 WebKit Review Bot 2010-07-21 16:17:50 PDT
Attachment 62242 [details] did not pass style-queue:

Failed to run "['WebKitTools/Scripts/check-webkit-style']" exit_code: 1
WebCore/html/canvas/WebGLShader.h:46:  Tab found; better to use spaces  [whitespace/tab] [1]
WebCore/html/canvas/WebGLShader.h:47:  Tab found; better to use spaces  [whitespace/tab] [1]
WebCore/html/canvas/WebGLShader.h:48:  Tab found; better to use spaces  [whitespace/tab] [1]
WebCore/html/canvas/WebGLShader.h:49:  Tab found; better to use spaces  [whitespace/tab] [1]
WebCore/html/canvas/WebGLShader.h:50:  Tab found; better to use spaces  [whitespace/tab] [1]
WebCore/html/canvas/WebGLShader.h:51:  Tab found; better to use spaces  [whitespace/tab] [1]
WebCore/html/canvas/WebGLShader.h:52:  Tab found; better to use spaces  [whitespace/tab] [1]
WebCore/html/canvas/WebGLShader.h:53:  Tab found; better to use spaces  [whitespace/tab] [1]
WebCore/html/canvas/WebGLShader.h:64:  Tab found; better to use spaces  [whitespace/tab] [1]
WebCore/html/canvas/WebGLShader.h:65:  Tab found; better to use spaces  [whitespace/tab] [1]
WebCore/html/canvas/WebGLShader.h:66:  Tab found; better to use spaces  [whitespace/tab] [1]
WebCore/html/canvas/WebGLShader.h:66:  Should have a space between // and comment  [whitespace/comments] [4]
WebCore/html/canvas/WebGLShader.h:67:  Tab found; better to use spaces  [whitespace/tab] [1]
WebCore/html/canvas/WebGLShader.h:69:  Tab found; better to use spaces  [whitespace/tab] [1]
Total errors found: 14 in 3 files


If any of these errors are false positives, please file a bug against check-webkit-style.
Comment 8 WebKit Review Bot 2010-07-21 16:21:06 PDT
Attachment 62243 [details] did not pass style-queue:

Failed to run "['WebKitTools/Scripts/check-webkit-style']" exit_code: 1
Last 3072 characters of output:
ebCore/platform/graphics/angle/ShaderLang.h:129:  Tab found; better to use spaces  [whitespace/tab] [1]
WebCore/platform/graphics/angle/ShaderLang.h:130:  Tab found; better to use spaces  [whitespace/tab] [1]
WebCore/platform/graphics/angle/ShaderLang.h:130:  One space before end of line comments  [whitespace/comments] [5]
WebCore/platform/graphics/angle/ShaderLang.h:131:  Tab found; better to use spaces  [whitespace/tab] [1]
WebCore/platform/graphics/angle/ShaderLang.h:134:  Tab found; better to use spaces  [whitespace/tab] [1]
WebCore/platform/graphics/angle/ShaderLang.h:134:  One space before end of line comments  [whitespace/comments] [5]
WebCore/platform/graphics/angle/ShaderLang.h:135:  Tab found; better to use spaces  [whitespace/tab] [1]
WebCore/platform/graphics/angle/ShaderLang.h:135:  One space before end of line comments  [whitespace/comments] [5]
WebCore/platform/graphics/angle/ShaderLang.h:136:  Tab found; better to use spaces  [whitespace/tab] [1]
WebCore/platform/graphics/angle/ShaderLang.h:137:  Tab found; better to use spaces  [whitespace/tab] [1]
WebCore/platform/graphics/angle/ShaderLang.h:137:  One space before end of line comments  [whitespace/comments] [5]
WebCore/platform/graphics/angle/ShaderLang.h:138:  Tab found; better to use spaces  [whitespace/tab] [1]
WebCore/platform/graphics/angle/ShaderLang.h:138:  One space before end of line comments  [whitespace/comments] [5]
WebCore/platform/graphics/angle/ShaderLang.h:139:  Tab found; better to use spaces  [whitespace/tab] [1]
WebCore/platform/graphics/angle/ShaderLang.h:142:  Tab found; better to use spaces  [whitespace/tab] [1]
WebCore/platform/graphics/angle/ShaderLang.h:142:  One space before end of line comments  [whitespace/comments] [5]
WebCore/platform/graphics/angle/ShaderLang.h:143:  Tab found; better to use spaces  [whitespace/tab] [1]
WebCore/platform/graphics/angle/ShaderLang.h:143:  One space before end of line comments  [whitespace/comments] [5]
WebCore/platform/graphics/angle/ShaderLang.h:144:  Tab found; better to use spaces  [whitespace/tab] [1]
WebCore/platform/graphics/angle/ShaderLang.h:160:  One space before end of line comments  [whitespace/comments] [5]
WebCore/platform/graphics/angle/ShaderLang.h:161:  One space before end of line comments  [whitespace/comments] [5]
WebCore/platform/graphics/angle/ShaderLang.h:175:  Tab found; better to use spaces  [whitespace/tab] [1]
WebCore/platform/graphics/angle/ShaderLang.h:176:  Tab found; better to use spaces  [whitespace/tab] [1]
WebCore/platform/graphics/angle/ShaderLang.h:177:  Tab found; better to use spaces  [whitespace/tab] [1]
WebCore/platform/graphics/angle/ShaderLang.h:178:  Tab found; better to use spaces  [whitespace/tab] [1]
WebCore/platform/graphics/angle/ShaderLang.h:179:  Tab found; better to use spaces  [whitespace/tab] [1]
WebCore/platform/graphics/angle/ShaderLang.h:180:  Tab found; better to use spaces  [whitespace/tab] [1]
WebCore/platform/graphics/angle/ShaderLang.h:183:  Tab found; better to use spaces  [whitespace/tab] [1]
Total errors found: 72 in 4 files


If any of these errors are false positives, please file a bug against check-webkit-style.
Comment 9 Chris Marrin 2010-07-22 10:47:59 PDT
Why was the ANGLE source code marked R-?
Comment 10 Paul Sawaya 2010-07-22 11:33:59 PDT
Created attachment 62321 [details]
ANGLE source code

Moved ANGLE to /OpenSource/ANGLE, removed ANGLEWebkitBridge which I mistakenly included in my last patch
Comment 11 Paul Sawaya 2010-07-28 18:05:19 PDT
Created attachment 62905 [details]
Contains ANGLE source code and new xcodeproject. Should build correctly into WebKitBuild
Comment 12 Chris Marrin 2010-07-29 15:31:57 PDT
You shouldn't include your .move1v3 or pbxuser files.

I also don't see a Changelog file. You should add a new Changelog file to the ANGLE directory, following the style of the others. Hopefully this will only ever contain "updating to the new version of ANGLE" entries, but it allows us to keep track of what is there. In this case you should indicate what version of ANGLE this is and/or what date you took the drop
Comment 13 Paul Sawaya 2010-08-02 15:23:09 PDT
Created attachment 63268 [details]
ANGLE source code and xcodeproject. Contains no changes to WebCore.
Comment 14 Chris Marrin 2010-08-02 15:27:46 PDT
Please make your changelog match WebKit style (8 spaces before each line, "Reviewed by..." line, bug link). I don't think it needs to list all the files, but it should state their vintage.
Comment 15 Paul Sawaya 2010-08-02 15:40:24 PDT
Created attachment 63269 [details]
ANGLE source code and xcodeproject. Improvements to ChangeLog
Comment 16 Kenneth Russell 2010-08-02 15:42:01 PDT
Note: see http://webkit.org/coding/contributing.html for instructions on using the prepare-ChangeLog, svn-create-patch, etc. scripts which assist in producing patches.
Comment 17 Paul Sawaya 2010-08-02 16:59:57 PDT
Created attachment 63278 [details]
ANGLE source code and Xcode project. Cleaned up ChangeLog

Sorry about all of these gigantic patches. Cleaned up ChangeLog, generated using prepare-ChangeLog
Comment 18 Chris Marrin 2010-08-02 17:21:45 PDT
Created attachment 63282 [details]
ANGLE source code and Xcode project. Got rid of errant files

This is the latest patch from Paul. Looks good to me
Comment 19 Adele Peterson 2010-08-02 17:26:16 PDT
Comment on attachment 63282 [details]
ANGLE source code and Xcode project. Got rid of errant files

I think we need a Makefile in the Angle directory - is that right?
Comment 20 WebKit Review Bot 2010-08-02 17:29:05 PDT
Attachment 63282 [details] did not pass style-queue:

Failed to run "['WebKitTools/Scripts/check-webkit-style']" exit_code: 1
Last 3072 characters of output:
{ should be at the end of the previous line  [whitespace/braces] [4]
ANGLE/src/libGLESv2/Context.cpp:2802:  Declaration has space between type name and * in Framebuffer *framebuffer  [whitespace/declaration] [3]
ANGLE/src/libGLESv2/Context.cpp:2805:  This { should be at the end of the previous line  [whitespace/braces] [4]
ANGLE/src/libGLESv2/Context.cpp:2817:  This { should be at the end of the previous line  [whitespace/braces] [4]
ANGLE/src/libGLESv2/Context.cpp:2829:  This { should be at the end of the previous line  [whitespace/braces] [4]
ANGLE/src/libGLESv2/Context.cpp:2838:  Declaration has space between type name and * in Framebuffer *framebuffer  [whitespace/declaration] [3]
ANGLE/src/libGLESv2/Context.cpp:2841:  This { should be at the end of the previous line  [whitespace/braces] [4]
ANGLE/src/libGLESv2/Context.cpp:2846:  Declaration has space between type name and * in Texture *Context  [whitespace/declaration] [3]
ANGLE/src/libGLESv2/Context.cpp:2848:  Declaration has space between type name and * in Texture *t  [whitespace/declaration] [3]
ANGLE/src/libGLESv2/Context.cpp:2850:  Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons.  [readability/comparison_to_zero] [5]
ANGLE/src/libGLESv2/Context.cpp:2850:  Use 0 instead of NULL.  [readability/null] [5]
ANGLE/src/libGLESv2/Context.cpp:2851:  This { should be at the end of the previous line  [whitespace/braces] [4]
ANGLE/src/libGLESv2/Context.cpp:2855:  This { should be at the end of the previous line  [whitespace/braces] [4]
ANGLE/src/libGLESv2/Context.cpp:2862:  Declaration has space between type name and * in Texture2D *incomplete2d  [whitespace/declaration] [3]
ANGLE/src/libGLESv2/Context.cpp:2870:  Declaration has space between type name and * in TextureCubeMap *incompleteCube  [whitespace/declaration] [3]
ANGLE/src/libGLESv2/Context.cpp:2898:  This { should be at the end of the previous line  [whitespace/braces] [4]
ANGLE/src/libGLESv2/Context.cpp:2916:  Declaration has space between type name and * in Framebuffer *framebufferObject  [whitespace/declaration] [3]
ANGLE/src/libGLESv2/Context.cpp:2919:  This { should be at the end of the previous line  [whitespace/braces] [4]
ANGLE/src/libGLESv2/Context.cpp:2920:  Declaration has space between type name and * in Stencilbuffer *stencilbufferObject  [whitespace/declaration] [3]
ANGLE/src/libGLESv2/Context.cpp:2923:  This { should be at the end of the previous line  [whitespace/braces] [4]
ANGLE/src/libGLESv2/Context.cpp:2946:  This { should be at the end of the previous line  [whitespace/braces] [4]
ANGLE/src/libGLESv2/Context.cpp:2952:  This { should be at the end of the previous line  [whitespace/braces] [4]
ANGLE/src/libGLESv2/Context.cpp:2965:  This { should be at the end of the previous line  [whitespace/braces] [4]
ANGLE/src/libGLESv2/Context.cpp:2976:  This { should be at the end of the previous line  [whitespace/braces] [4]
ANGLE/src/libGLESv2/Context.cpp:2977:  Use 0 instead of NULL.  [readability/null] [5]
Total errors found: 6126 in 132 files


If any of these errors are false positives, please file a bug against check-webkit-style.
Comment 21 Chris Marrin 2010-08-03 09:28:06 PDT
Landed in http://trac.webkit.org/changeset/64560