[Mesa-dev] [RFC PATCH 0/6] Refactor st_api and st/dri

Chia-I Wu olvaffe at gmail.com
Sun Apr 25 01:01:34 PDT 2010


Hi Jakob,

On Sat, Apr 24, 2010 at 10:25 PM, Jakob Bornecrantz
<wallbraker at gmail.com> wrote:
> 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.
st_manager/st_framebuffer is intended to be inherited by the
display/drawable of a co state tracker, if possible.  This, and other
changes look good to me.

One thing I failed to do or investigate is that the callbacks of a
st_manager/st_framebuffer are supposed to be thread-safe.  It was
planned that, while there is not much in dri_st_api.c, we can do the
proper locking there before calling into the counterpart in
dri/dri2/drisw.  Do you think a lock will ever be required?  If it is,
we may put some comments to the callbacks as a reminder.

-- 
olv at LunarG.com


More information about the mesa-dev mailing list