Bug 95891

Summary: [CSS Shaders] Vertex attributes should be unbound after a custom filter is applied
Product: WebKit Reporter: Max Vujovic <mvujovic>
Component: Layout and RenderingAssignee: Max Vujovic <mvujovic>
Status: RESOLVED FIXED    
Severity: Normal CC: achicu, dino, jacobg, webkit.review.bot
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Bug Depends on:    
Bug Blocks: 71392    
Attachments:
Description Flags
Patch none

Description Max Vujovic 2012-09-05 14:04:43 PDT
Chromium sometimes prints the following error message:
"GL ERROR :GL_INVALID_OPERATION : glDrawElements: attempt to render with no buffer attached to enabled attribute 2"

This happens in the following situation: 
1) There are two FECustomFilters on the page.
2) One FECustomFilter has a detached mesh. One FECustomFilter has an attached mesh. The detached FECustomFilter has one more vertex attribute (a_triangleCoord) than the attached FECustomFilter.
3) The detached FECustomFilter is destroyed, but a_triangleCoord remains bound.
4) The attached FECustomFilter tries to render, but Chromium notices that there is no buffer attached to the a_triangleCoord attribute.

We should unbind the vertex attributes after a custom filter is applied.
Comment 1 Max Vujovic 2012-09-05 17:09:00 PDT
Created attachment 162374 [details]
Patch
Comment 2 Dean Jackson 2012-09-05 18:18:47 PDT
Did you mean to r? this?
Comment 3 Alexandru Chiculita 2012-09-05 18:28:01 PDT
I think he did. Can you take a look please?
Comment 4 Max Vujovic 2012-09-05 21:04:56 PDT
(In reply to comment #2)
> Did you mean to r? this?

Yup, thanks Dean!
Comment 5 Max Vujovic 2012-09-06 09:32:21 PDT
Comment on attachment 162374 [details]
Patch

Bots look good. Setting cq?.
Comment 6 Dean Jackson 2012-09-06 10:15:17 PDT
You can put cq+ yourself in this case (no changes needed from r+).

I'll do it now.
Comment 7 WebKit Review Bot 2012-09-06 10:44:35 PDT
Comment on attachment 162374 [details]
Patch

Clearing flags on attachment: 162374

Committed r127758: <http://trac.webkit.org/changeset/127758>
Comment 8 WebKit Review Bot 2012-09-06 10:44:39 PDT
All reviewed patches have been landed.  Closing bug.
Comment 9 Max Vujovic 2012-09-06 12:06:35 PDT
(In reply to comment #6)
> You can put cq+ yourself in this case (no changes needed from r+).
> 
> I'll do it now.

Thanks Dean. I don't have committer status yet :)