On 28/06/2011 13:19, Thomas Hellstrom wrote: > The api and the state tracker manager code as well as the state tracker code > assumed that only a single context could be bound to a drawable. That is not > a valid assumption, since multiple contexts can bind to the same drawable. > > Fix this by making it the state tracker's responsibility to update all > contexts binding to a drawable. > > Signed-off-by: Thomas Hellstrom <thellst...@vmware.com> > --- > src/gallium/include/state_tracker/st_api.h | 26 ++----- > .../state_trackers/dri/common/dri_drawable.c | 3 + > src/gallium/state_trackers/dri/drm/dri2.c | 4 +- > src/gallium/state_trackers/dri/sw/drisw.c | 4 +- > src/gallium/state_trackers/egl/common/egl_g3d.c | 12 +-- > .../state_trackers/egl/common/egl_g3d_api.c | 7 -- > src/gallium/state_trackers/egl/common/egl_g3d_st.c | 8 ++ > src/gallium/state_trackers/vega/vg_context.h | 4 +- > src/gallium/state_trackers/vega/vg_manager.c | 40 ++++------ > src/gallium/state_trackers/wgl/stw_context.c | 6 +- > src/gallium/state_trackers/wgl/stw_st.c | 3 + > src/mesa/state_tracker/st_cb_viewport.c | 15 +++- > src/mesa/state_tracker/st_context.h | 5 +- > src/mesa/state_tracker/st_manager.c | 85 > +++++++++++--------- > 14 files changed, 109 insertions(+), 113 deletions(-)
It looks like state_trackers/glx/xlib (built when ./configured --with-driver=xlib) hasn't been updated for this change: make[5]: Entering directory `/opt/wip/mesa-cygwin-dri-driver/mesa/src/gallium/state_trackers/glx/xlib' ccache gcc -c -I. -I../../../../../src/gallium/include -I../../../../../src/gallium/auxiliary -I../../../../../src/gallium/drivers -I../../../../../include -I../../../../../src/mapi -I../../../../../src/mesa -I/opt/wip/jhbuild/install/include -g -O0 -Wall -Wmissing-prototypes -std=c99 -ffast-math -fno-strict-aliasing -DPTHREADS -DHAVE_POSIX_MEMALIGN -DUSE_XSHM -DGALLIUM_LLVMPIPE -D__STDC_CONSTANT_MACROS -DHAVE_LLVM=0x0208 -I/usr/include -DNDEBUG -D_GNU_SOURCE -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS xm_api.c -o xm_api.o xm_api.c: In function ‘xmesa_notify_invalid_buffer’: xm_api.c:1119:16: error: ‘struct st_context_iface’ has no member named ‘notify_invalid_framebuffer’ make[5]: *** [xm_api.o] Error 1 make[5]: Leaving directory `/opt/wip/mesa-cygwin-dri-driver/mesa/src/gallium/state_trackers/glx/xlib' _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev