Good evening Brian,

Thanks, these were fixed.

I just realized that I can drop os_thread.h from our C++ code as we no longer depend on it and not do the extern "C" there. (tested working)

You ok with this changeset with the change above?
(I'd hate to commit it, then undo it)

Thanks!

 -- Alex



On , Brian Paul wrote:
In the past, you used the prefix "target/haiku-softpipe:" on changes
to this code.  I'd suggest using that again here.

With these changes,
Reviewed-by: Brian Paul <bri...@vmware.com>

On 05/14/2015 04:39 PM, 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;
  };
-
+

  #endif /* GALLIUMCONTEXT_H */


_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to