This fixes gears from the wayland-demos, where the cairo-gl context and the gears context render to the same surface, but the gears context renders to old buffers, because of the missing invalidate. So yea, fixes a bug.
2011/6/21 Jakob Bornecrantz <wallbra...@gmail.com>: > On Tue, Jun 21, 2011 at 1:40 PM, Benjamin Franzke > <benjaminfran...@googlemail.com> wrote: >> Actually I wasnt sure, but theres nothing like that in glx/dri2_glx.c >> or egl_dri2. >> Furthermore the intel driver does sth similar. > > I was talking about st/mesa (GL), I'm not to familiar with the > st_manager.c and/or the drawable code but doesn't this happen already > or does this fix a bug? > > Cheers Jakob. > >> 2011/6/21 Jakob Bornecrantz <wallbra...@gmail.com>: >>> On Tue, Jun 21, 2011 at 1:32 PM, Benjamin Franzke >>> <benjaminfran...@googlemail.com> wrote: >>>> --- >>>> .../state_trackers/dri/common/dri_context.c | 5 +++++ >>>> 1 files changed, 5 insertions(+), 0 deletions(-) >>>> >>>> diff --git a/src/gallium/state_trackers/dri/common/dri_context.c >>>> b/src/gallium/state_trackers/dri/common/dri_context.c >>>> index e23c1bc..0f9e4e5 100644 >>>> --- a/src/gallium/state_trackers/dri/common/dri_context.c >>>> +++ b/src/gallium/state_trackers/dri/common/dri_context.c >>>> @@ -192,6 +192,11 @@ dri_make_current(__DRIcontext * cPriv, >>>> } >>>> >>>> ctx->stapi->make_current(ctx->stapi, ctx->st, &draw->base, &read->base); >>>> + if (old_st && old_st != ctx->st) { >>>> + ctx->st->notify_invalid_framebuffer(ctx->st, &draw->base); >>>> + if (draw != read) >>>> + ctx->st->notify_invalid_framebuffer(ctx->st, &read->base); >>>> + } >>> >>> Shouldn't the client api state tracker be smart enough to do this in >>> the make_current call? >>> >>> Cheers Jakob. >>> >> > _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev