Bug 46850 - Add GetGraphicsResetStatusARB entry point from ARB_robustness extension to GraphicsContext3D
Summary: Add GetGraphicsResetStatusARB entry point from ARB_robustness extension to Gr...
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebGL (show other bugs)
Version: 528+ (Nightly build)
Hardware: PC OS X 10.5
: P2 Normal
Assignee: Alexey Marinichev
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-09-29 16:17 PDT by Alexey Marinichev
Modified: 2010-09-30 16:30 PDT (History)
8 users (show)

See Also:


Attachments
Patch (4.66 KB, patch)
2010-09-29 16:57 PDT, Alexey Marinichev
no flags Details | Formatted Diff | Diff
added ARB suffix (4.70 KB, patch)
2010-09-29 18:31 PDT, Alexey Marinichev
no flags Details | Formatted Diff | Diff
fixed changelogs (4.72 KB, patch)
2010-09-29 18:37 PDT, Alexey Marinichev
no flags Details | Formatted Diff | Diff
renamed file fix (4.63 KB, patch)
2010-09-30 15:44 PDT, Alexey Marinichev
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Alexey Marinichev 2010-09-29 16:17:44 PDT
ARB_robustness extension provides a mechanism for OpenGL applications to to learn about graphics resets that affect the context.  This will allow proper repopulating of textures in Chrome with active compositor.
Comment 1 Alexey Marinichev 2010-09-29 16:57:16 PDT
Created attachment 69279 [details]
Patch
Comment 2 Chris Marrin 2010-09-29 17:28:53 PDT
Comment on attachment 69279 [details]
Patch

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

> WebCore/platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:1456
> +

I don't understand the point of this patch. It doesn't hook anything up. It simply adds placeholders. You should do at least one implementation to show that it actually works, along with a test case with a bad shader that will crash if ARB_robustness is not there.

I understand if this is just a stepping stone to that goal. But this bug is for "hooking up" the extension, which this patch doesn't do.
Comment 3 Kenneth Russell 2010-09-29 17:56:55 PDT
(In reply to comment #2)
> (From update of attachment 69279 [details])
> View in context: https://bugs.webkit.org/attachment.cgi?id=69279&action=review
> 
> > WebCore/platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:1456
> > +
> 
> I don't understand the point of this patch. It doesn't hook anything up. It simply adds placeholders. You should do at least one implementation to show that it actually works, along with a test case with a bad shader that will crash if ARB_robustness is not there.
> 
> I understand if this is just a stepping stone to that goal. But this bug is for "hooking up" the extension, which this patch doesn't do.

Several steps are needed toward the goal of handling "context lost" events in WebGL and other functionality such as CSS 3D support. Adding the needed entry points to GraphicsContext3D allows some of this work to occur in parallel.

I have updated the synopsis of this bug to reflect the intent.

Alexey, by way of review of your initial patch, I think you should leave the ARB suffix on the new enums and entry point. There is also an ongoing discussion about exactly how extensions should be added (see https://bugs.webkit.org/show_bug.cgi?id=45939 ), but to keep things consistent with the current style, I think you should add a query function indicating whether the extension is supported.
Comment 4 Alexey Marinichev 2010-09-29 18:05:19 PDT
I did not see any enum values or entry points with ARB in them anywhere else related to GraphicsContext3D.  Where can I find an example?
Comment 5 Chris Marrin 2010-09-29 18:11:30 PDT
(In reply to comment #3)
> (In reply to comment #2)
> > (From update of attachment 69279 [details] [details])
> > View in context: https://bugs.webkit.org/attachment.cgi?id=69279&action=review
> > 
> > > WebCore/platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:1456
> > > +
> > 
> > I don't understand the point of this patch. It doesn't hook anything up. It simply adds placeholders. You should do at least one implementation to show that it actually works, along with a test case with a bad shader that will crash if ARB_robustness is not there.
> > 
> > I understand if this is just a stepping stone to that goal. But this bug is for "hooking up" the extension, which this patch doesn't do.
> 
> Several steps are needed toward the goal of handling "context lost" events in WebGL and other functionality such as CSS 3D support. Adding the needed entry points to GraphicsContext3D allows some of this work to occur in parallel.
> 
> I have updated the synopsis of this bug to reflect the intent.

Ok, that's better. Maybe you should create an umbrella bug so we can keep track of all the work?

I will amend my review
Comment 6 Chris Marrin 2010-09-29 18:12:56 PDT
Comment on attachment 69279 [details]
Patch

r+
Comment 7 Alexey Marinichev 2010-09-29 18:31:04 PDT
Created attachment 69291 [details]
added ARB suffix
Comment 8 Kenneth Russell 2010-09-29 18:34:09 PDT
Could you please fix the synopsis in the ChangeLogs to match the new synopsis of the bug?
Comment 9 Alexey Marinichev 2010-09-29 18:37:06 PDT
Created attachment 69293 [details]
fixed changelogs
Comment 10 Kenneth Russell 2010-09-29 18:50:43 PDT
This looks fine to me. Since Chris reviewed the original patch I'll defer to him to review this one.
Comment 11 Chris Marrin 2010-09-30 06:51:19 PDT
Comment on attachment 69293 [details]
fixed changelogs

r=me. But we need to factor this call into what we ever do in https://bugs.webkit.org/show_bug.cgi?id=46894.
Comment 12 WebKit Commit Bot 2010-09-30 14:33:51 PDT
Comment on attachment 69293 [details]
fixed changelogs

Rejecting patch 69293 from commit-queue.

Failed to run "['./WebKitTools/Scripts/webkit-patch', '--status-host=queues.webkit.org', 'apply-attachment', '--force-clean', '--non-interactive', '--quiet', 69293]" exit_code: 2
Cleaning working directory
Updating working directory
Logging in as commit-queue@webkit.org...
Fetching: https://bugs.webkit.org/attachment.cgi?id=69293&action=edit
Fetching: https://bugs.webkit.org/show_bug.cgi?id=46850&ctype=xml
Processing 1 patch from 1 bug.
Processing patch 69293 from bug 46850.
Failed to run "[u'/Projects/CommitQueue/WebKitTools/Scripts/svn-apply', u'--reviewer', u'Chris Marrin', u'--force']" exit_code: 1

Full output: http://queues.webkit.org/results/4226031
Comment 13 Kenneth Russell 2010-09-30 14:37:41 PDT
What happened with this commit queue failure? There doesn't seem to be any error detail. I'll try resubmitting the patch.
Comment 14 WebKit Commit Bot 2010-09-30 15:34:28 PDT
Comment on attachment 69293 [details]
fixed changelogs

Rejecting patch 69293 from commit-queue.

Failed to run "['./WebKitTools/Scripts/webkit-patch', '--status-host=queues.webkit.org', 'apply-attachment', '--force-clean', '--non-interactive', '--quiet', 69293]" exit_code: 2
Cleaning working directory
Updating working directory
Logging in as commit-queue@webkit.org...
Fetching: https://bugs.webkit.org/attachment.cgi?id=69293&action=edit
Fetching: https://bugs.webkit.org/show_bug.cgi?id=46850&ctype=xml
Processing 1 patch from 1 bug.
Processing patch 69293 from bug 46850.
Failed to run "[u'/Projects/CommitQueue/WebKitTools/Scripts/svn-apply', u'--reviewer', u'Chris Marrin', u'--force']" exit_code: 1

Full output: http://queues.webkit.org/results/4149034
Comment 15 Kenneth Russell 2010-09-30 15:38:26 PDT
Ah, the issue is that part of the patch is against WebKit/chromium/src/GraphicsContext3D.cpp, which Alexey just renamed and which no longer exists.
Comment 16 Alexey Marinichev 2010-09-30 15:44:42 PDT
Created attachment 69391 [details]
renamed file fix
Comment 17 WebKit Commit Bot 2010-09-30 16:17:56 PDT
Comment on attachment 69391 [details]
renamed file fix

Clearing flags on attachment: 69391

Committed r68850: <http://trac.webkit.org/changeset/68850>
Comment 18 WebKit Commit Bot 2010-09-30 16:18:03 PDT
All reviewed patches have been landed.  Closing bug.
Comment 19 Eric Seidel (no email) 2010-09-30 16:30:28 PDT
Yeah, the cq logs are less useful atm.  We're working on a fix.