[Mesa-dev] [Bug 39588] [bisected] mesa demo xeglgears draw nothing if surface type is a pixmap

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Tue Aug 9 11:43:15 PDT 2011


https://bugs.freedesktop.org/show_bug.cgi?id=39588

--- Comment #9 from Benjamin Franzke <benjaminfranzke at googlemail.com> 2011-08-09 11:43:14 PDT ---
(In reply to comment #8)
> (In reply to comment #7)
> > (In reply to comment #6)
> > > Created an attachment (id=49902)
 View: https://bugs.freedesktop.org/attachment.cgi?id=49902
 Review: https://bugs.freedesktop.org/review?bug=39588&attachment=49902

[details]
> > > intel: Set ctx's drawbuffer according to drawables visual
> 
> This patch doesn't seem like the right fix, and the commit message is a bit
> confusing to me (see below).  What particularly concerns me is that the change
> that created the bug was in common code, but the fix is in driver code.  Does
> this leave other drivers broken?

I did this in the driver since its also done in st/mesa like that, but yes,
I also want this to be in _mesa_make_current.
I sent an updated patch in this mail:
http://lists.freedesktop.org/archives/mesa-dev/2011-August/010167.html

Please look at the whole review-thread, since it may already answer your
questions,
but i'll try to answer them here as well.

> > egl_dri2 creates contexts with a doubleBufferConfig when PIXMAP and
> > WINDOW bit is request, so _mesa_init_color sets DrawBuffer[0] to
> > GL_BACK.
> 
> I'm confused about this.  The application creates a context with a particular
> fbconfig, and that determines whether the context is single-buffered or
> double-buffered.  What does egl_dri2 have to do with anything?

- egl_dri2 creates a context (either single or double buffered)
- egl_dri2 creates surfaces (either single or double buffered = pixmap or
window)
If the user requests a config with PIXMAP_BIT and WINDOW_BIT (like xeglgears),
egl_dri2 has to decide for one type of config for the context (either single or
double buffered),
but it needs the ability to use both types of configs for surfaces
(since the user can use both pixmap and window surfaces with the same context).

> > If a pixmap surface is created egl_dri2 will use a single buffer config,
> > so MakeCurrent has to adjust DrawBuffer[0] to the current drawable.
> 
> One other nit with the commit message.  The usual way to reference a bug is:
> 
> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=39588
> 
> This makes it easier to search in 'git log' for things to cherry pick to stable
> branches.

Actually I couldnt detect a general rule for this in mesa, and looking in the
recent
log gave me more "Fixes bug_url" than "Bugzilla: bug_url"

> > I just try your patch. 
> > ./xeglgears -pixmap works fine
> 
> Do the other modes mentioned in comment #0 also work?
> 
> > but
> > ./xeglgears -pixmap -fullscreen doesn't work
> > 
> > The pixmap fullscreen mode doesn't work out on both the 7.9 and 7.11.
> 
> If fullscreen didn't work with Mesa 7.9, it's not the same bug.
> 
> > Would you mind helping me looking into this issue. Thanks a lot.

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


More information about the mesa-dev mailing list