gallium: Fix build for WinXP.
This commit is contained in:
parent
7411a84c2b
commit
6c3d12e374
|
@ -0,0 +1,54 @@
|
|||
/**************************************************************************
|
||||
*
|
||||
* Copyright 2008 Tungsten Graphics, Inc., Cedar Park, Texas.
|
||||
* All Rights Reserved.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a
|
||||
* copy of this software and associated documentation files (the
|
||||
* "Software"), to deal in the Software without restriction, including
|
||||
* without limitation the rights to use, copy, modify, merge, publish,
|
||||
* distribute, sub license, and/or sell copies of the Software, and to
|
||||
* permit persons to whom the Software is furnished to do so, subject to
|
||||
* the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice (including the
|
||||
* next paragraph) shall be included in all copies or substantial portions
|
||||
* of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
||||
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
|
||||
* IN NO EVENT SHALL TUNGSTEN GRAPHICS AND/OR ITS SUPPLIERS BE LIABLE FOR
|
||||
* ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
||||
* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||
* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
*
|
||||
**************************************************************************/
|
||||
|
||||
#ifndef P_THREAD_H
|
||||
#define P_THREAD_H
|
||||
|
||||
#include "p_compiler.h"
|
||||
|
||||
/*
|
||||
* XXX: We should come up with a system-independent thread definitions.
|
||||
* XXX: Patching glthread defs for now.
|
||||
*/
|
||||
|
||||
#ifndef __MSC__
|
||||
|
||||
#include "glapi/glthread.h"
|
||||
|
||||
#else /* __MSC__ */
|
||||
|
||||
typedef int _glthread_Mutex;
|
||||
|
||||
#define _glthread_INIT_MUTEX( M ) ((void) (M))
|
||||
#define _glthread_LOCK_MUTEX( M ) ((void) (M))
|
||||
#define _glthread_UNLOCK_MUTEX( M ) ((void) (M))
|
||||
|
||||
#define sched_yield() ((void) 0)
|
||||
|
||||
#endif /* __MSC__ */
|
||||
|
||||
#endif /* P_THREAD_H */
|
|
@ -46,6 +46,7 @@
|
|||
|
||||
#include <assert.h>
|
||||
#include <stdlib.h>
|
||||
#include "p_compiler.h"
|
||||
|
||||
#include "pipe/p_state.h"
|
||||
|
||||
|
@ -104,7 +105,7 @@ struct pb_vtbl
|
|||
|
||||
/* Accessor functions for pb->vtbl:
|
||||
*/
|
||||
static inline void *
|
||||
static INLINE void *
|
||||
pb_map(struct pb_buffer *buf,
|
||||
unsigned flags)
|
||||
{
|
||||
|
@ -113,7 +114,7 @@ pb_map(struct pb_buffer *buf,
|
|||
}
|
||||
|
||||
|
||||
static inline void
|
||||
static INLINE void
|
||||
pb_unmap(struct pb_buffer *buf)
|
||||
{
|
||||
assert(buf);
|
||||
|
@ -121,7 +122,7 @@ pb_unmap(struct pb_buffer *buf)
|
|||
}
|
||||
|
||||
|
||||
static inline void
|
||||
static INLINE void
|
||||
pb_get_base_buffer( struct pb_buffer *buf,
|
||||
struct pb_buffer **base_buf,
|
||||
unsigned *offset )
|
||||
|
@ -129,7 +130,7 @@ pb_get_base_buffer( struct pb_buffer *buf,
|
|||
buf->vtbl->get_base_buffer(buf, base_buf, offset);
|
||||
}
|
||||
|
||||
static inline void
|
||||
static INLINE void
|
||||
pb_destroy(struct pb_buffer *buf)
|
||||
{
|
||||
assert(buf);
|
||||
|
@ -163,13 +164,13 @@ pb_malloc_buffer_create( unsigned alignment,
|
|||
|
||||
|
||||
|
||||
static inline struct pipe_buffer *
|
||||
static INLINE struct pipe_buffer *
|
||||
pb_pipe_buffer( struct pb_buffer *pbuf )
|
||||
{
|
||||
return &pbuf->base;
|
||||
}
|
||||
|
||||
static inline struct pb_buffer *
|
||||
static INLINE struct pb_buffer *
|
||||
pb_buffer( struct pipe_buffer *buf )
|
||||
{
|
||||
/* Could add a magic cookie check on debug builds.
|
||||
|
|
|
@ -36,17 +36,21 @@
|
|||
|
||||
#include <assert.h>
|
||||
#include <stdlib.h>
|
||||
#include <unistd.h>
|
||||
|
||||
#include "main/imports.h"
|
||||
#include "glapi/glthread.h"
|
||||
#include "linked_list.h"
|
||||
|
||||
#include "p_compiler.h"
|
||||
#include "p_winsys.h"
|
||||
#include "p_thread.h"
|
||||
|
||||
#include "pb_buffer.h"
|
||||
#include "pb_buffer_fenced.h"
|
||||
|
||||
#ifndef __MSC__
|
||||
#include <unistd.h>
|
||||
#include "main/imports.h"
|
||||
#endif
|
||||
|
||||
|
||||
/**
|
||||
* Convenience macro (type safe).
|
||||
|
@ -103,11 +107,12 @@ _fenced_buffer_list_check_free(struct fenced_buffer_list *fenced_list,
|
|||
struct fenced_buffer *fenced_buf;
|
||||
struct list_head *list, *prev;
|
||||
int signaled = -1;
|
||||
int i;
|
||||
|
||||
list = fenced_list->delayed.next;
|
||||
|
||||
if (fenced_list->numDelayed > 3) {
|
||||
unsigned i;
|
||||
|
||||
for (i = 0; i < fenced_list->numDelayed; i += 3) {
|
||||
list = list->next;
|
||||
}
|
||||
|
@ -281,7 +286,7 @@ fenced_buffer_list_destroy(struct fenced_buffer_list *fenced_list)
|
|||
while (fenced_list->numDelayed) {
|
||||
_glthread_UNLOCK_MUTEX(fenced_list->mutex);
|
||||
sched_yield();
|
||||
_fenced_buffer_list_check_free(fenced_list, GL_TRUE);
|
||||
_fenced_buffer_list_check_free(fenced_list, 1);
|
||||
_glthread_LOCK_MUTEX(fenced_list->mutex);
|
||||
}
|
||||
|
||||
|
|
|
@ -52,7 +52,7 @@ struct fenced_pb_manager
|
|||
};
|
||||
|
||||
|
||||
static inline struct fenced_pb_manager *
|
||||
static INLINE struct fenced_pb_manager *
|
||||
fenced_pb_manager(struct pb_manager *mgr)
|
||||
{
|
||||
assert(mgr);
|
||||
|
|
|
@ -37,17 +37,21 @@
|
|||
|
||||
#include <assert.h>
|
||||
#include <stdlib.h>
|
||||
#include <unistd.h>
|
||||
|
||||
#include "main/imports.h"
|
||||
#include "glapi/glthread.h"
|
||||
#include "linked_list.h"
|
||||
|
||||
#include "p_compiler.h"
|
||||
#include "p_thread.h"
|
||||
#include "p_defines.h"
|
||||
|
||||
#include "pb_buffer.h"
|
||||
#include "pb_bufmgr.h"
|
||||
|
||||
#ifndef __MSC__
|
||||
#include <unistd.h>
|
||||
#include "main/imports.h"
|
||||
#endif
|
||||
|
||||
|
||||
/**
|
||||
* Convenience macro (type safe).
|
||||
|
@ -75,7 +79,7 @@ struct pool_pb_manager
|
|||
};
|
||||
|
||||
|
||||
static inline struct pool_pb_manager *
|
||||
static INLINE struct pool_pb_manager *
|
||||
pool_pb_manager(struct pb_manager *mgr)
|
||||
{
|
||||
assert(mgr);
|
||||
|
@ -95,7 +99,7 @@ struct pool_buffer
|
|||
};
|
||||
|
||||
|
||||
static inline struct pool_buffer *
|
||||
static INLINE struct pool_buffer *
|
||||
pool_buffer(struct pb_buffer *buf)
|
||||
{
|
||||
assert(buf);
|
||||
|
@ -217,7 +221,7 @@ pool_bufmgr_create(struct pb_manager *provider,
|
|||
{
|
||||
struct pool_pb_manager *pool;
|
||||
struct pool_buffer *pool_buf;
|
||||
int i;
|
||||
size_t i;
|
||||
|
||||
pool = (struct pool_pb_manager *)calloc(1, sizeof(*pool));
|
||||
if (!pool)
|
||||
|
|
Loading…
Reference in New Issue