Bug 80988 - [Chromium] GL_EXT_occlusion_query_boolean and GL_CHROMIUM_command_buffer_query support.
Summary: [Chromium] GL_EXT_occlusion_query_boolean and GL_CHROMIUM_command_buffer_quer...
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebCore Misc. (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: David Reveman
URL:
Keywords:
Depends on: 81561
Blocks: 81004
  Show dependency treegraph
 
Reported: 2012-03-13 08:21 PDT by David Reveman
Modified: 2012-03-21 13:09 PDT (History)
9 users (show)

See Also:


Attachments
Patch (10.71 KB, patch)
2012-03-13 08:33 PDT, David Reveman
no flags Details | Formatted Diff | Diff
Patch (10.71 KB, patch)
2012-03-13 08:43 PDT, David Reveman
no flags Details | Formatted Diff | Diff
Patch (10.71 KB, patch)
2012-03-13 09:01 PDT, David Reveman
no flags Details | Formatted Diff | Diff
Patch (10.78 KB, patch)
2012-03-13 17:45 PDT, David Reveman
no flags Details | Formatted Diff | Diff
Patch (11.05 KB, patch)
2012-03-18 16:07 PDT, David Reveman
no flags Details | Formatted Diff | Diff
Patch (85.25 KB, patch)
2012-03-19 12:19 PDT, James Robinson
no flags Details | Formatted Diff | Diff
Patch (11.39 KB, patch)
2012-03-20 11:25 PDT, David Reveman
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description David Reveman 2012-03-13 08:21:40 PDT
Expose EXT_occlusion_query extensions to WebKit compositor.
Comment 1 David Reveman 2012-03-13 08:33:18 PDT
Created attachment 131623 [details]
Patch
Comment 2 David Reveman 2012-03-13 08:43:59 PDT
Created attachment 131625 [details]
Patch
Comment 3 David Reveman 2012-03-13 09:01:30 PDT
Created attachment 131630 [details]
Patch

Fix typo
Comment 4 Nat Duca 2012-03-13 10:27:53 PDT
Enne, are you comfortable reviewing WGC3D extensions? @kbr is out. Happy to bounce to James but I know his queue is deep.
Comment 5 Nat Duca 2012-03-13 10:45:02 PDT
Comment on attachment 131630 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=131630&action=review

> Source/WebCore/platform/graphics/chromium/Extensions3DChromium.h:49
> +    //   GL_CHROMIUM_fence

Is this what you want to call it? GL_CHROMIM_commands_issued_occlusion_query?

> Source/WebKit/chromium/tests/FakeWebGraphicsContext3D.h:258
> +    virtual WebGLId createQueryEXT() { return 1; }

Is 1 a safe return value?
Comment 6 Adrienne Walker 2012-03-13 11:51:36 PDT
Comment on attachment 131630 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=131630&action=review

> Source/WebCore/platform/graphics/chromium/Extensions3DChromium.h:90
> +        // GL_CHROMIUM_fence
> +        COMMANDS_ISSUED_CHROMIUM = 0x84F2

Where does this get used? Are there not fence setting or checking functions?

>> Source/WebKit/chromium/tests/FakeWebGraphicsContext3D.h:258
>> +    virtual WebGLId createQueryEXT() { return 1; }
> 
> Is 1 a safe return value?

For this fake WGC3D, yes.  It's what we do above for other object-creating functions.  If some test needs to create real IDs, it can override and do that itself.
Comment 7 David Reveman 2012-03-13 12:06:20 PDT
(In reply to comment #5)
> (From update of attachment 131630 [details])
> View in context: https://bugs.webkit.org/attachment.cgi?id=131630&action=review
> 
> > Source/WebCore/platform/graphics/chromium/Extensions3DChromium.h:49
> > +    //   GL_CHROMIUM_fence
> 
> Is this what you want to call it? GL_CHROMIM_commands_issued_occlusion_query?

Maybe GL_CHROMIM_occlusion_query_commands_issued in that case but in this patch I'm just being consistent with the extension name in Gregg's CL  http://codereview.chromium.org/9694025/ so lets move the name discussion over there instead.

> 
> > Source/WebKit/chromium/tests/FakeWebGraphicsContext3D.h:258
> > +    virtual WebGLId createQueryEXT() { return 1; }
> 
> Is 1 a safe return value?

not used at the moment and returning 1 is consistent with the other fake createX() functions.
Comment 8 David Reveman 2012-03-13 12:10:55 PDT
(In reply to comment #6)
> (From update of attachment 131630 [details])
> View in context: https://bugs.webkit.org/attachment.cgi?id=131630&action=review
> 
> > Source/WebCore/platform/graphics/chromium/Extensions3DChromium.h:90
> > +        // GL_CHROMIUM_fence
> > +        COMMANDS_ISSUED_CHROMIUM = 0x84F2
> 
> Where does this get used? Are there not fence setting or checking functions?

The name doesn't currently reflect this but it's an extension on top of the GL_EXT_occlusion_query extension. You can find a usage example in this patch: https://bugs.webkit.org/show_bug.cgi?id=81004 and maybe also as part of the unit test for this CL: http://codereview.chromium.org/9694025/
Comment 9 David Reveman 2012-03-13 17:45:16 PDT
Created attachment 131763 [details]
Patch
Comment 10 WebKit Review Bot 2012-03-18 15:23:04 PDT
Please wait for approval from fishd@chromium.org, abarth@webkit.org or jamesr@chromium.org before submitting because this patch contains changes to the Chromium platform API.
Comment 11 WebKit Review Bot 2012-03-18 15:23:25 PDT
Attachment 131763 [details] did not pass style-queue:

Failed to run "['Tools/Scripts/check-webkit-style', '--diff-files', u'Source/Platform/ChangeLog', u'Source/Platf..." exit_code: 1
Source/WebCore/ChangeLog:8:  You should remove the 'No new tests' and either add and list tests, or explain why no new tests were possible.  [changelog/nonewtests] [5]
Total errors found: 1 in 9 files


If any of these errors are false positives, please file a bug against check-webkit-style.
Comment 12 David Reveman 2012-03-18 16:07:34 PDT
Created attachment 132504 [details]
Patch
Comment 13 David Reveman 2012-03-18 16:24:21 PDT
Please review the patch. The following chromium change need to land before we can put it in the commit queue.

https://chromiumcodereview.appspot.com/9719030/
Comment 14 Adrienne Walker 2012-03-19 08:48:04 PDT
Comment on attachment 132504 [details]
Patch

Sure! Looks good to me.
Comment 15 David Reveman 2012-03-19 08:55:24 PDT
Comment on attachment 132504 [details]
Patch

All required chromium side changes have landed.
Comment 16 Adrienne Walker 2012-03-19 09:00:22 PDT
jamesr: Can you approve the WebGraphicsContext3D API changes?
Comment 17 James Robinson 2012-03-19 10:38:01 PDT
Comment on attachment 132504 [details]
Patch

Looks OK
Comment 18 WebKit Review Bot 2012-03-19 11:28:00 PDT
Comment on attachment 132504 [details]
Patch

Clearing flags on attachment: 132504

Committed r111207: <http://trac.webkit.org/changeset/111207>
Comment 19 WebKit Review Bot 2012-03-19 11:28:06 PDT
All reviewed patches have been landed.  Closing bug.
Comment 20 James Robinson 2012-03-19 12:19:51 PDT
Reopening to attach new patch.
Comment 21 James Robinson 2012-03-19 12:19:54 PDT
Created attachment 132625 [details]
Patch
Comment 22 James Robinson 2012-03-19 12:20:58 PDT
Whoops, wrong bug
Comment 23 Adrienne Walker 2012-03-19 14:38:27 PDT
Rolled out in bug 81561.
Comment 24 David Reveman 2012-03-20 11:25:01 PDT
Created attachment 132862 [details]
Patch

Add base implementations of EXT_occlusion_query functions to be consistent with other extensions.
Comment 25 WebKit Review Bot 2012-03-20 11:27:30 PDT
Please wait for approval from abarth@webkit.org, dglazkov@chromium.org, fishd@chromium.org, jamesr@chromium.org or tkent@chromium.org before submitting, as this patch contains changes to the Chromium public API. See also https://trac.webkit.org/wiki/ChromiumWebKitAPI.
Comment 26 James Robinson 2012-03-20 11:35:26 PDT
API changes ok. Didn't look at impl.
Comment 27 Adrienne Walker 2012-03-20 11:39:03 PDT
How were missing implementations causing test errors? Or, am I misunderstanding what the problem was?
Comment 28 David Reveman 2012-03-20 11:50:29 PDT
Spent a significant amount of time looking at what could possible cause the runtime problem that was the reason for reverting this patch. The only difference I've found compared to other extensions is the lack of base implementations for functions in WebGraphicsContext3D.h. I changed this in the latest patch to be consistent with other extension functions, although I'm not sure how this change can affect a runtime error.
Comment 29 Adrienne Walker 2012-03-20 11:55:19 PDT
(In reply to comment #28)
> Spent a significant amount of time looking at what could possible cause the runtime problem that was the reason for reverting this patch. The only difference I've found compared to other extensions is the lack of base implementations for functions in WebGraphicsContext3D.h. I changed this in the latest patch to be consistent with other extension functions, although I'm not sure how this change can affect a runtime error.

Yeah, it certainly doesn't sound like that would result in runtime errors.

If you haven't already, could you run a try job with this patch to run whatever tests were failing just as a sanity check? If that passes, I'm happy to re-R+/CQ+ this.
Comment 30 Adrienne Walker 2012-03-21 12:50:03 PDT
Comment on attachment 132862 [details]
Patch

http://build.chromium.org/p/tryserver.chromium/builders/mac_gpu/builds/92 looks clean.  Let's try this again.
Comment 31 WebKit Review Bot 2012-03-21 13:09:06 PDT
Comment on attachment 132862 [details]
Patch

Clearing flags on attachment: 132862

Committed r111597: <http://trac.webkit.org/changeset/111597>
Comment 32 WebKit Review Bot 2012-03-21 13:09:12 PDT
All reviewed patches have been landed.  Closing bug.