Marek Our windows mesa build broke with your checkin: "mesa/glthread: remove HAVE_PTHREAD guards”.
Namely: Compiling src\mesa\main\context.c ... context.c c:\users\gkyriazi\src\mesa\src\mesa\main\glthread.h(34): fatal error C1083: Cannot open include file: 'pthread.h': No such file or directory scons: *** [build\windows-x86_64-debug\mesa\main\context.obj] Error 2 scons: building terminated because of errors. Ideas? George > On Jun 21, 2017, at 8:02 PM, Marek Olšák <mar...@gmail.com> wrote: > > From: Marek Olšák <marek.ol...@amd.com> > > we are switching to util_queue. > --- > src/mapi/glapi/gen/gl_marshal.py | 5 +---- > src/mesa/main/glthread.c | 4 ---- > src/mesa/main/glthread.h | 30 ------------------------------ > src/mesa/main/marshal.c | 4 ---- > src/mesa/main/marshal.h | 27 --------------------------- > 5 files changed, 1 insertion(+), 69 deletions(-) > > diff --git a/src/mapi/glapi/gen/gl_marshal.py > b/src/mapi/glapi/gen/gl_marshal.py > index f52b9b7..062afe5 100644 > --- a/src/mapi/glapi/gen/gl_marshal.py > +++ b/src/mapi/glapi/gen/gl_marshal.py > @@ -59,34 +59,31 @@ def indent(delta = 3): > class PrintCode(gl_XML.gl_print_base): > def __init__(self): > super(PrintCode, self).__init__() > > self.name = 'gl_marshal.py' > self.license = license.bsd_license_template % ( > 'Copyright (C) 2012 Intel Corporation', 'INTEL CORPORATION') > > def printRealHeader(self): > print header > - print '#ifdef HAVE_PTHREAD' > - print > print 'static inline int safe_mul(int a, int b)' > print '{' > print ' if (a < 0 || b < 0) return -1;' > print ' if (a == 0 || b == 0) return 0;' > print ' if (a > INT_MAX / b) return -1;' > print ' return a * b;' > print '}' > print > > def printRealFooter(self): > - print > - print '#endif' > + pass > > def print_sync_call(self, func): > call = 'CALL_{0}(ctx->CurrentServerDispatch, ({1}))'.format( > func.name, func.get_called_parameter_string()) > if func.return_type == 'void': > out('{0};'.format(call)) > else: > out('return {0};'.format(call)) > > def print_sync_dispatch(self, func): > diff --git a/src/mesa/main/glthread.c b/src/mesa/main/glthread.c > index 455b829..e90709c 100644 > --- a/src/mesa/main/glthread.c > +++ b/src/mesa/main/glthread.c > @@ -31,22 +31,20 @@ > * quickly logs the GL commands to a buffer to be processed by a worker > * thread. > */ > > #include "main/mtypes.h" > #include "main/glthread.h" > #include "main/marshal.h" > #include "main/marshal_generated.h" > #include "util/u_thread.h" > > -#ifdef HAVE_PTHREAD > - > static void > glthread_allocate_batch(struct gl_context *ctx) > { > struct glthread_state *glthread = ctx->GLThread; > > /* TODO: handle memory allocation failure. */ > glthread->batch = malloc(sizeof(*glthread->batch)); > if (!glthread->batch) > return; > memset(glthread->batch, 0, offsetof(struct glthread_batch, buffer)); > @@ -277,12 +275,10 @@ _mesa_glthread_finish(struct gl_context *ctx) > _glapi_set_dispatch(dispatch); > } > } else { > _mesa_glthread_flush_batch_locked(ctx); > while (glthread->batch_queue || glthread->busy) > pthread_cond_wait(&glthread->work_done, &glthread->mutex); > } > > pthread_mutex_unlock(&glthread->mutex); > } > - > -#endif > diff --git a/src/mesa/main/glthread.h b/src/mesa/main/glthread.h > index 50c1db2..07bed38 100644 > --- a/src/mesa/main/glthread.h > +++ b/src/mesa/main/glthread.h > @@ -22,22 +22,20 @@ > */ > > #ifndef _GLTHREAD_H > #define _GLTHREAD_H > > #include "main/mtypes.h" > > /* Command size is a number of bytes stored in a short. */ > #define MARSHAL_MAX_CMD_SIZE 65535 > > -#ifdef HAVE_PTHREAD > - > #include <inttypes.h> > #include <stdbool.h> > #include <pthread.h> > > enum marshal_dispatch_cmd_id; > > struct glthread_state > { > /** The worker thread that asynchronously processes our GL commands. */ > pthread_t thread; > @@ -117,39 +115,11 @@ struct glthread_batch > uint8_t buffer[MARSHAL_MAX_CMD_SIZE]; > }; > > void _mesa_glthread_init(struct gl_context *ctx); > void _mesa_glthread_destroy(struct gl_context *ctx); > > void _mesa_glthread_restore_dispatch(struct gl_context *ctx); > void _mesa_glthread_flush_batch(struct gl_context *ctx); > void _mesa_glthread_finish(struct gl_context *ctx); > > -#else /* HAVE_PTHREAD */ > - > -static inline void > -_mesa_glthread_init(struct gl_context *ctx) > -{ > -} > - > -static inline void > -_mesa_glthread_destroy(struct gl_context *ctx) > -{ > -} > - > -static inline void > -_mesa_glthread_finish(struct gl_context *ctx) > -{ > -} > - > -static inline void > -_mesa_glthread_restore_dispatch(struct gl_context *ctx) > -{ > -} > - > -static inline void > -_mesa_glthread_flush_batch(struct gl_context *ctx) > -{ > -} > - > -#endif /* !HAVE_PTHREAD */ > #endif /* _GLTHREAD_H*/ > diff --git a/src/mesa/main/marshal.c b/src/mesa/main/marshal.c > index ae4efb5..4840f32 100644 > --- a/src/mesa/main/marshal.c > +++ b/src/mesa/main/marshal.c > @@ -26,22 +26,20 @@ > * Custom functions for marshalling GL calls from the main thread to a worker > * thread when automatic code generation isn't appropriate. > */ > > #include "main/enums.h" > #include "main/macros.h" > #include "marshal.h" > #include "dispatch.h" > #include "marshal_generated.h" > > -#ifdef HAVE_PTHREAD > - > struct marshal_cmd_Flush > { > struct marshal_cmd_base cmd_base; > }; > > > void > _mesa_unmarshal_Flush(struct gl_context *ctx, > const struct marshal_cmd_Flush *cmd) > { > @@ -474,12 +472,10 @@ _mesa_marshal_ClearBufferfv(GLenum buffer, GLint > drawbuffer, > *variable_data = *value; > > _mesa_post_marshal_hook(ctx); > } else { > debug_print_sync("ClearBufferfv"); > _mesa_glthread_finish(ctx); > CALL_ClearBufferfv(ctx->CurrentServerDispatch, > (buffer, drawbuffer, value)); > } > } > - > -#endif > diff --git a/src/mesa/main/marshal.h b/src/mesa/main/marshal.h > index 4842d27..e9ecaf9 100644 > --- a/src/mesa/main/marshal.h > +++ b/src/mesa/main/marshal.h > @@ -40,22 +40,20 @@ struct marshal_cmd_base > * Type of command. See enum marshal_dispatch_cmd_id. > */ > uint16_t cmd_id; > > /** > * Size of command, in multiples of 4 bytes, including cmd_base. > */ > uint16_t cmd_size; > }; > > -#ifdef HAVE_PTHREAD > - > static inline void * > _mesa_glthread_allocate_command(struct gl_context *ctx, > uint16_t cmd_id, > size_t size) > { > struct glthread_state *glthread = ctx->GLThread; > struct marshal_cmd_base *cmd_base; > const size_t aligned_size = ALIGN(size, 8); > > if (unlikely(glthread->batch->used + size > MARSHAL_MAX_CMD_SIZE)) > @@ -87,45 +85,20 @@ _mesa_glthread_is_non_vbo_vertex_attrib_pointer(const > struct gl_context *ctx) > * calls (deprecated and removed in GL core), we just disable threading. > */ > static inline bool > _mesa_glthread_is_non_vbo_draw_elements(const struct gl_context *ctx) > { > struct glthread_state *glthread = ctx->GLThread; > > return ctx->API != API_OPENGL_CORE && !glthread->element_array_is_vbo; > } > > -#else > - > -/* FIXME: dummy functions for non PTHREAD platforms */ > -static inline void * > -_mesa_glthread_allocate_command(struct gl_context *ctx, > - uint16_t cmd_id, > - size_t size) > -{ > - return NULL; > -} > - > -static inline bool > -_mesa_glthread_is_non_vbo_vertex_attrib_pointer(const struct gl_context *ctx) > -{ > - return false; > -} > - > -static inline bool > -_mesa_glthread_is_non_vbo_draw_elements(const struct gl_context *ctx) > -{ > - return false; > -} > - > -#endif > - > #define DEBUG_MARSHAL_PRINT_CALLS 0 > > /** > * This is printed when we have fallen back to a sync. This can happen when > * MARSHAL_MAX_CMD_SIZE is exceeded. > */ > static inline void > debug_print_sync_fallback(const char *func) > { > #if DEBUG_MARSHAL_PRINT_CALLS > -- > 2.7.4 > > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/mesa-dev _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev