[Mesa-dev] [PATCH 1/2] st-api: Rework how drawables are invalidated
Jon TURNEY
jon.turney at dronecode.org.uk
Wed Jun 29 05:20:38 PDT 2011
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 <thellstrom at 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'
More information about the mesa-dev
mailing list