On 03/22/2014 03:58 PM, Alexander von Gluck IV wrote:
> * Add HAVE_PTHREAD, we do have pthread support wrappers now for
>   non-native Haiku threaded applications.
> * Viewport changed behavior recently breaking the build.
>   We fix this by looking at the gl_context ViewportArray
>   (Thanks Brian for the idea)

The build fixes and the Viewport changes should be separate patches.

With the changes split, the patch with the Viewport changes is

Reviewed-by: Ian Romanick <ian.d.roman...@intel.com>

I don't know anything about scons, so someone else will have to review that.

> ---
>  scons/gallium.py                                   |    5 +++++
>  .../targets/haiku-softpipe/GalliumContext.cpp      |   12 +++++++++---
>  2 files changed, 14 insertions(+), 3 deletions(-)
> 
> diff --git a/scons/gallium.py b/scons/gallium.py
> index f505a62..e11d4db 100755
> --- a/scons/gallium.py
> +++ b/scons/gallium.py
> @@ -269,6 +269,11 @@ def generate(env):
>              cppdefines += ['HAVE_ALIAS']
>          else:
>              cppdefines += ['GLX_ALIAS_UNSUPPORTED']
> +    if env['platform'] == 'haiku':
> +        cppdefines += [
> +            'HAVE_PTHREAD',
> +            'HAVE_POSIX_MEMALIGN'
> +        ]
>      if platform == 'windows':
>          cppdefines += [
>              'WIN32',
> diff --git a/src/gallium/targets/haiku-softpipe/GalliumContext.cpp 
> b/src/gallium/targets/haiku-softpipe/GalliumContext.cpp
> index 1078cb7..52cd764 100644
> --- a/src/gallium/targets/haiku-softpipe/GalliumContext.cpp
> +++ b/src/gallium/targets/haiku-softpipe/GalliumContext.cpp
> @@ -44,9 +44,15 @@ extern "C" {
>  
>  
>  static void
> -hgl_viewport(struct gl_context* glContext, GLint x, GLint y,
> -     GLsizei width, GLsizei height)
> +hgl_viewport(struct gl_context* glContext)
>  {
> +     // TODO: We should try to eliminate this function
> +
> +     GLint x = glContext->ViewportArray[0].X;
> +     GLint y = glContext->ViewportArray[0].Y;
> +     GLint width = glContext->ViewportArray[0].Width;
> +     GLint height = glContext->ViewportArray[0].Height;
> +
>       TRACE("%s(glContext: %p, x: %d, y: %d, w: %d, h: %d\n", __func__,
>               glContext, x, y, width, height);
>  
> @@ -525,7 +531,7 @@ GalliumContext::ResizeViewport(int32 width, int32 height)
>       for (context_id i = 0; i < CONTEXT_MAX; i++) {
>               if (fContext[i] && fContext[i]->st) {
>                       struct st_context *stContext = (struct 
> st_context*)fContext[i]->st;
> -                     _mesa_set_viewport(stContext->ctx, 0, 0, width, height);
> +                     _mesa_set_viewport(stContext->ctx, 0, 0, 0, width, 
> height);
>                       st_manager_validate_framebuffers(stContext);
>               }
>       }
> 

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

Reply via email to