On 14/05/15 22:39, Alexander von Gluck IV wrote: > We also reduce the amount of need-to-know information about st_api > to require one less extern "C" in st_manager.h > --- > .../targets/haiku-softpipe/GalliumContext.cpp | 23 +++++++------------ > .../targets/haiku-softpipe/GalliumContext.h | 5 +--- > 2 files changed, 10 insertions(+), 18 deletions(-) > > diff --git a/src/gallium/targets/haiku-softpipe/GalliumContext.cpp > b/src/gallium/targets/haiku-softpipe/GalliumContext.cpp > index b24aef7..1e3874b 100644 > --- a/src/gallium/targets/haiku-softpipe/GalliumContext.cpp > +++ b/src/gallium/targets/haiku-softpipe/GalliumContext.cpp > @@ -15,14 +15,13 @@ > #include "GLView.h" > > #include "bitmap_wrapper.h" > -extern "C" { > + > #include "glapi/glapi.h" > #include "pipe/p_format.h" > -#include "state_tracker/st_cb_fbo.h" > -#include "state_tracker/st_cb_flush.h" > +//#include "state_tracker/st_cb_fbo.h" > +//#include "state_tracker/st_cb_flush.h" > #include "state_tracker/st_context.h" > #include "state_tracker/st_gl_api.h" > -#include "state_tracker/st_manager.h" > #include "state_tracker/sw_winsys.h" > #include "sw/hgl/hgl_sw_winsys.h" > #include "util/u_atomic.h" > @@ -30,7 +29,6 @@ extern "C" { > > #include "target-helpers/inline_sw_helper.h" > #include "target-helpers/inline_debug_helper.h" > -} > > > #ifdef DEBUG > @@ -127,7 +125,8 @@ GalliumContext::CreateContext(Bitmap *bitmap) > context->read = NULL; > context->st = NULL; > > - context->api = st_gl_api_create(); > + // Create st_gl_api > + context->api = hgl_create_st_api(); > if (!context->api) { > ERROR("%s: Couldn't obtain Mesa state tracker API!\n", > __func__); > return -1; > @@ -159,12 +158,10 @@ GalliumContext::CreateContext(Bitmap *bitmap) > attribs.minor = 0; > //attribs.flags |= ST_CONTEXT_FLAG_DEBUG; > > - struct st_api* api = context->api; > - > // Create context using state tracker api call > enum st_context_error result; > - context->st = api->create_context(api, context->manager, &attribs, > - &result, context->st); > + context->st = context->api->create_context(context->api, > context->manager, > + &attribs, &result, context->st); > > if (!context->st) { > ERROR("%s: Couldn't create mesa state tracker context!\n", > @@ -289,10 +286,8 @@ GalliumContext::SetCurrentContext(Bitmap *bitmap, > context_id contextID) > return B_ERROR; > } > > - struct st_api* api = context->api; > - > if (!bitmap) { > - api->make_current(context->api, NULL, NULL, NULL); > + context->api->make_current(context->api, NULL, NULL, NULL); > return B_OK; > } > > @@ -305,7 +300,7 @@ GalliumContext::SetCurrentContext(Bitmap *bitmap, > context_id contextID) > } > > // We need to lock and unlock framebuffers before accessing them > - api->make_current(context->api, context->st, context->draw->stfbi, > + context->api->make_current(context->api, context->st, > context->draw->stfbi, > context->read->stfbi); > > //if (context->textures[ST_ATTACHMENT_BACK_LEFT] > diff --git a/src/gallium/targets/haiku-softpipe/GalliumContext.h > b/src/gallium/targets/haiku-softpipe/GalliumContext.h > index b50d528..a13c4ce 100644 > --- a/src/gallium/targets/haiku-softpipe/GalliumContext.h > +++ b/src/gallium/targets/haiku-softpipe/GalliumContext.h > @@ -12,14 +12,11 @@ > #include <stddef.h> > #include <kernel/image.h> > > -extern "C" { > -//#include "state_tracker/st_api.h" > #include "pipe/p_compiler.h" > #include "pipe/p_screen.h" > #include "postprocess/filters.h" > #include "os/os_thread.h" > #include "hgl_context.h" > -} > > #include "bitmap_wrapper.h" > > @@ -56,6 +53,6 @@ private: > context_id fCurrentContext; > pipe_mutex fMutex; > }; > - > + > This commit does a bit too many thing (comparing to other changes in mesa) - Whitespace cleanups - Removing commented out headers/commenting out new ones. - Using function introduced with earlier patch. - Removes a couple of temporary variables. - Drops the extern "C" guard around the header inclusion.
At the end of the day you're the one that reads/maintains this code, but splitting it into 2+ patches seems like a reasonable thing imho. Cheers, Emil _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev