[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