[Webkit-unassigned] [Bug 58498] WebGL should create a single-sample context if creating multisampled context fails

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Mon Jun 20 11:03:24 PDT 2011


https://bugs.webkit.org/show_bug.cgi?id=58498





--- Comment #8 from Zhenyao Mo <zmo at google.com>  2011-06-20 11:03:24 PST ---
(In reply to comment #7)
> I see, I'll look into it more.
> 
> BTW, this is a quite a bit different question. But do you know SKIA_GPU flag? Is the bug related to this flag? If so, how can I turn it on?

It's on by default on the trunk so if you sync and build your own chromium, you don't need to do anything.  Also, it has nothing to do with this bug.

> 
> Thanks,
> 
> (In reply to comment #6)
> > Ah sorry for confusing you.
> > 
> > GraphicsContext3DOpenGL.cpp is used by webkit Mac port (Safari).
> > 
> > For chromium, the in-process port is in chromium tree under src/webkit/gpu/webgraphicscontext3d_in_process_impl.cc:reshape();
> > 
> > the command buffer port is under the same folder, but you need to dig deeper into the command buffer code to add the behavior, and reshape function is the entry.
> > 
> > 
> > 
> > (In reply to comment #5)
> > > Mo,
> > > 
> > > Sorry for bothering you.
> > > 
> > > But I want to make sure the source code you suggested.
> > > 
> > > Right now, I'm mainly working on Chromium source code base. And even after I change something in GraphicsContext3DOpenGL.cpp, I cannot see anything when I run 'make'. As you know, if we change anything for the source code, we should be able to see compile process when 'make'.
> > > 
> > > I checked on Linux and Mac. But I cannot see any compilation on both platforms.
> > > 
> > > Is this source cod used by Chromium port? Or do I need to set extra build setting to use this portion?
> > > 
> > > Thanks,
> > > 
> > > (In reply to comment #4)
> > > > We don't exactly know on which hardware the multisampled FBO creation might fail.  You'll have to emulate failure in the multisampled path to test the recovering and fallback to non-multisampled path.
> > > > 
> > > > (In reply to comment #3)
> > > > > Thanks, Mo.
> > > > > 
> > > > > So can we reproduce on any Mac environment?
> > > > > Do we need any specific hardware configuration, such as GPU type?
> > > > > 
> > > > > (In reply to comment #2)
> > > > > > One place you can look at is webcore/platform/graphics/opengl/GraphicsContext3DOpenGL.cpp, reshape function.
> > > > > > 
> > > > > > In that function, if m_attrs.antialias is true, then we try to create a multisampled FBO for rendering.
> > > > > > 
> > > > > > Currently that code path doesn't recover from error.  So what we need to do is
> > > > > > 
> > > > > > 1) check if creation of multisampled FBO succeeds or not.
> > > > > > 2) if it failed, set m_attrs.antialias = false, and try again.
> > > > > > 
> > > > > > One thing unclear to me is that it seems attributes.antialias might change in the lifetime of a context.  I am not sure if it's OK or not.
> > > > > > 
> > > > > > Hope this helps.

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the webkit-unassigned mailing list