Hi Chia-I et all This Patch series does some minor refactoring in the st_api interface and some major one to st/dri.
The first patch drops the st_module struct from st_api. This is because it was overlapping the st_api struct. Both represent the API. It also drops some extra symbols and instead just exposes a single st_api_create_* function to get the st_api struct from the state tracker. The following five patches refactor st/dri and removes some defines in favour of hooks on dri_screen. And instead of allocating a separate struct for st_manager and st_framebuffer makes them a base for dri_screen and dri_drawable. And finally moves the code from dri_st_api.c into dri_screen.c and dri_drawable.c. Comments please. src/gallium/include/state_tracker/st_api.h | 35 +-- .../state_trackers/dri/common/dri1_helper.c | 10 +- .../state_trackers/dri/common/dri_context.c | 18 +- .../state_trackers/dri/common/dri_context.h | 2 +- .../state_trackers/dri/common/dri_drawable.c | 141 +++++++++- .../state_trackers/dri/common/dri_drawable.h | 17 +- src/gallium/state_trackers/dri/common/dri_screen.c | 47 +++- src/gallium/state_trackers/dri/common/dri_screen.h | 29 ++- src/gallium/state_trackers/dri/common/dri_st_api.c | 289 -------------------- src/gallium/state_trackers/dri/common/dri_st_api.h | 65 ----- src/gallium/state_trackers/dri/drm/Makefile | 1 - src/gallium/state_trackers/dri/drm/SConscript | 1 - src/gallium/state_trackers/dri/drm/dri1.c | 65 ++--- src/gallium/state_trackers/dri/drm/dri1.h | 8 - src/gallium/state_trackers/dri/drm/dri2.c | 18 +- src/gallium/state_trackers/dri/drm/dri2.h | 12 - src/gallium/state_trackers/dri/drm/dri_st_api.c | 1 - src/gallium/state_trackers/dri/sw/Makefile | 1 - src/gallium/state_trackers/dri/sw/SConscript | 1 - src/gallium/state_trackers/dri/sw/dri_st_api.c | 1 - src/gallium/state_trackers/dri/sw/drisw.c | 67 ++--- src/gallium/state_trackers/dri/sw/drisw.h | 11 - src/gallium/state_trackers/egl/common/egl_g3d_st.c | 29 +- src/gallium/state_trackers/es/st_es1.c | 13 +- src/gallium/state_trackers/es/st_es2.c | 14 +- src/gallium/state_trackers/vega/vg_manager.c | 33 +-- src/gallium/targets/libgl-xlib/xlib.c | 16 +- src/mesa/state_tracker/st_gl_api.h | 9 + src/mesa/state_tracker/st_manager.c | 33 +-- 29 files changed, 376 insertions(+), 611 deletions(-) Cheers Jakob. _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev