[Mesa-dev] [PATCH 1/2] st-api: Rework how drawables are invalidated
Thomas Hellstrom
thellstrom at vmware.com
Wed Jun 29 05:37:06 PDT 2011
Jon,
Thanks for pointing this out. I apparently missed at least one case.
I'll fix ASAP.
/Thomas
On 06/29/2011 02:20 PM, Jon TURNEY wrote:
> 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