diff options
Diffstat (limited to 'src/gallium')
-rw-r--r-- | src/gallium/auxiliary/os/os_memory.h | 4 | ||||
-rw-r--r-- | src/gallium/auxiliary/os/os_memory_win32k.h | 123 | ||||
-rw-r--r-- | src/gallium/auxiliary/os/os_misc.c | 120 | ||||
-rw-r--r-- | src/gallium/auxiliary/os/os_misc.h | 2 | ||||
-rw-r--r-- | src/gallium/auxiliary/os/os_time.c | 50 | ||||
-rw-r--r-- | src/gallium/auxiliary/util/u_atomic.h | 5 | ||||
-rw-r--r-- | src/gallium/auxiliary/util/u_debug.c | 47 | ||||
-rw-r--r-- | src/gallium/auxiliary/util/u_debug_refcnt.c | 2 | ||||
-rw-r--r-- | src/gallium/auxiliary/util/u_math.h | 68 | ||||
-rw-r--r-- | src/gallium/auxiliary/util/u_snprintf.c | 8 | ||||
-rw-r--r-- | src/gallium/include/pipe/p_config.h | 14 |
11 files changed, 11 insertions, 432 deletions
diff --git a/src/gallium/auxiliary/os/os_memory.h b/src/gallium/auxiliary/os/os_memory.h index 91a84a24bc8..46a6b6e4572 100644 --- a/src/gallium/auxiliary/os/os_memory.h +++ b/src/gallium/auxiliary/os/os_memory.h @@ -71,10 +71,6 @@ os_free_aligned(void *ptr); # include "os_memory_debug.h" -#elif defined(PIPE_SUBSYSTEM_WINDOWS_DISPLAY) || defined(PIPE_SUBSYSTEM_WINDOWS_MINIPORT) - -# include "os_memory_win32k.h" - #else # include "os_memory_stdc.h" diff --git a/src/gallium/auxiliary/os/os_memory_win32k.h b/src/gallium/auxiliary/os/os_memory_win32k.h deleted file mode 100644 index d56d6908722..00000000000 --- a/src/gallium/auxiliary/os/os_memory_win32k.h +++ /dev/null @@ -1,123 +0,0 @@ -/************************************************************************** - * - * Copyright 2008-2010 VMware, Inc. - * 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 VMWARE 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. - * - **************************************************************************/ - - -/* - * OS memory management abstractions for Windows kernel. - */ - - -#ifndef _OS_MEMORY_H_ -#error "Must not be included directly. Include os_memory.h instead" -#endif - - -#include "pipe/p_compiler.h" - - -#ifdef __cplusplus -extern "C" { -#endif - - -#if defined(PIPE_SUBSYSTEM_WINDOWS_DISPLAY) - -void * __stdcall -EngAllocMem(unsigned long Flags, - unsigned long MemSize, - unsigned long Tag); - -void __stdcall -EngFreeMem(void *Mem); - -#define os_malloc(_size) EngAllocMem(0, _size, 'D3AG') -#define os_calloc(_count, _size) EngAllocMem(1, (_count)*(_size), 'D3AG') -#define _os_free(_ptr) EngFreeMem(_ptr) - -#elif defined(PIPE_SUBSYSTEM_WINDOWS_MINIPORT) - -void * -ExAllocatePool(unsigned long PoolType, - size_t NumberOfBytes); - -void -ExFreePool(void *P); - -#define os_malloc(_size) ExAllocatePool(0, _size) -#define _os_free(_ptr) ExFreePool(_ptr) - -static INLINE void * -os_calloc(unsigned count, unsigned size) -{ - void *ptr = os_malloc(count * size); - if (ptr) { - memset(ptr, 0, count * size); - } - return ptr; -} - -#else - -#error "Unsupported subsystem" - -#endif - - -static INLINE void -os_free( void *ptr ) -{ - if (ptr) { - _os_free(ptr); - } -} - - -static INLINE void * -os_realloc(void *old_ptr, unsigned old_size, unsigned new_size) -{ - void *new_ptr = NULL; - - if (new_size != 0) { - unsigned copy_size = old_size < new_size ? old_size : new_size; - new_ptr = os_malloc( new_size ); - if (new_ptr && old_ptr && copy_size) { - memcpy(new_ptr, old_ptr, copy_size); - } - } - - os_free(old_ptr); - - return new_ptr; -} - - -#ifdef __cplusplus -} -#endif - - -#include "os_memory_aligned.h" diff --git a/src/gallium/auxiliary/os/os_misc.c b/src/gallium/auxiliary/os/os_misc.c index 384988017b7..5744dd5b4fc 100644 --- a/src/gallium/auxiliary/os/os_misc.c +++ b/src/gallium/auxiliary/os/os_misc.c @@ -31,19 +31,7 @@ #include <stdarg.h> -#ifdef PIPE_SUBSYSTEM_WINDOWS_DISPLAY - -#include <windows.h> -#include <winddi.h> - -#elif defined(PIPE_SUBSYSTEM_WINDOWS_CE) - -#include <stdio.h> -#include <stdlib.h> -#include <windows.h> -#include <types.h> - -#elif defined(PIPE_SUBSYSTEM_WINDOWS_USER) +#if defined(PIPE_SUBSYSTEM_WINDOWS_USER) #ifndef WIN32_LEAN_AND_MEAN #define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers @@ -59,44 +47,16 @@ #endif -#ifdef PIPE_SUBSYSTEM_WINDOWS_DISPLAY -static INLINE void -_EngDebugPrint(const char *format, ...) -{ - va_list ap; - va_start(ap, format); - EngDebugPrint("", (PCHAR)format, ap); - va_end(ap); -} -#endif - - void os_log_message(const char *message) { -#if defined(PIPE_SUBSYSTEM_WINDOWS_DISPLAY) - _EngDebugPrint("%s", message); -#elif defined(PIPE_SUBSYSTEM_WINDOWS_USER) +#if defined(PIPE_SUBSYSTEM_WINDOWS_USER) OutputDebugStringA(message); if(GetConsoleWindow() && !IsDebuggerPresent()) { fflush(stdout); fputs(message, stderr); fflush(stderr); } -#elif defined(PIPE_SUBSYSTEM_WINDOWS_CE) - wchar_t *wide_format; - long wide_str_len; - /* Format is ascii - needs to be converted to wchar_t for printing */ - wide_str_len = MultiByteToWideChar(CP_ACP, 0, message, -1, NULL, 0); - wide_format = (wchar_t *) malloc((wide_str_len+1) * sizeof(wchar_t)); - if (wide_format) { - MultiByteToWideChar(CP_ACP, 0, message, -1, - wide_format, wide_str_len); - NKDbgPrintfW(wide_format, wide_format); - free(wide_format); - } -#elif defined(PIPE_SUBSYSTEM_WINDOWS_MINIPORT) - /* TODO */ #else /* !PIPE_SUBSYSTEM_WINDOWS */ fflush(stdout); fputs(message, stderr); @@ -104,85 +64,9 @@ os_log_message(const char *message) } -#ifdef PIPE_SUBSYSTEM_WINDOWS_DISPLAY -static const char * -find(const char *start, const char *end, char c) -{ - const char *p; - for(p = start; !end || p != end; ++p) { - if(*p == c) - return p; - if(*p < 32) - break; - } - return NULL; -} - -static int -compare(const char *start, const char *end, const char *s) -{ - const char *p, *q; - for(p = start, q = s; p != end && *q != '\0'; ++p, ++q) { - if(*p != *q) - return 0; - } - return p == end && *q == '\0'; -} - -static void -copy(char *dst, const char *start, const char *end, size_t n) -{ - const char *p; - char *q; - for(p = start, q = dst, n = n - 1; p != end && n; ++p, ++q, --n) - *q = *p; - *q = '\0'; -} -#endif - - const char * os_get_option(const char *name) { -#if defined(PIPE_SUBSYSTEM_WINDOWS_DISPLAY) - /* EngMapFile creates the file if it does not exists, so it must either be - * disabled on release versions (or put in a less conspicuous place). */ -#ifdef DEBUG - const char *result = NULL; - ULONG_PTR iFile = 0; - const void *pMap = NULL; - const char *sol, *eol, *sep; - static char output[1024]; - - pMap = EngMapFile(L"\\??\\c:\\gallium.cfg", 0, &iFile); - if(pMap) { - sol = (const char *)pMap; - while(1) { - /* TODO: handle LF line endings */ - eol = find(sol, NULL, '\r'); - if(!eol || eol == sol) - break; - sep = find(sol, eol, '='); - if(!sep) - break; - if(compare(sol, sep, name)) { - copy(output, sep + 1, eol, sizeof(output)); - result = output; - break; - } - sol = eol + 2; - } - EngUnmapFile(iFile); - } - return result; -#else - return NULL; -#endif -#elif defined(PIPE_SUBSYSTEM_WINDOWS_CE) || defined(PIPE_SUBSYSTEM_WINDOWS_MINIPORT) - /* TODO: implement */ - return NULL; -#else return getenv(name); -#endif } diff --git a/src/gallium/auxiliary/os/os_misc.h b/src/gallium/auxiliary/os/os_misc.h index 48522dac4d7..5029ab96aac 100644 --- a/src/gallium/auxiliary/os/os_misc.h +++ b/src/gallium/auxiliary/os/os_misc.h @@ -66,7 +66,7 @@ extern "C" { /* * Abort the program. */ -#if defined(DEBUG) || defined(PIPE_SUBSYSTEM_WINDOWS_DISPLAY) || defined(PIPE_SUBSYSTEM_WINDOWS_MINIPORT) +#if defined(DEBUG) # define os_abort() os_break() #else # define os_abort() abort() diff --git a/src/gallium/auxiliary/os/os_time.c b/src/gallium/auxiliary/os/os_time.c index 73d86296d91..3e9d50a598a 100644 --- a/src/gallium/auxiliary/os/os_time.c +++ b/src/gallium/auxiliary/os/os_time.c @@ -37,13 +37,7 @@ #if defined(PIPE_OS_UNIX) # include <sys/time.h> /* timeval */ -#elif defined(PIPE_SUBSYSTEM_WINDOWS_DISPLAY) -# include <windows.h> -# include <winddi.h> -#elif defined(PIPE_SUBSYSTEM_WINDOWS_MINIPORT) -# include <windows.h> -extern VOID KeQuerySystemTime(PLARGE_INTEGER); -#elif defined(PIPE_SUBSYSTEM_WINDOWS_USER) || defined(PIPE_SUBSYSTEM_WINDOWS_CE) +#elif defined(PIPE_SUBSYSTEM_WINDOWS_USER) # include <windows.h> #else # error Unsupported OS @@ -61,16 +55,7 @@ os_time_get(void) gettimeofday(&tv, NULL); return tv.tv_usec + tv.tv_sec*1000000LL; -#elif defined(PIPE_SUBSYSTEM_WINDOWS_DISPLAY) - - static LONGLONG frequency; - LONGLONG counter; - if(!frequency) - EngQueryPerformanceFrequency(&frequency); - EngQueryPerformanceCounter(&counter); - return counter*INT64_C(1000000)/frequency; - -#elif defined(PIPE_SUBSYSTEM_WINDOWS_USER) || defined(PIPE_SUBSYSTEM_WINDOWS_CE) +#elif defined(PIPE_SUBSYSTEM_WINDOWS_USER) static LARGE_INTEGER frequency; LARGE_INTEGER counter; @@ -79,40 +64,11 @@ os_time_get(void) QueryPerformanceCounter(&counter); return counter.QuadPart*INT64_C(1000000)/frequency.QuadPart; -#elif defined(PIPE_SUBSYSTEM_WINDOWS_MINIPORT) - - /* Updated every 10 miliseconds, measured in units of 100 nanoseconds. - * http://msdn.microsoft.com/en-us/library/ms801642.aspx */ - LARGE_INTEGER counter; - KeQuerySystemTime(&counter); - return counter.QuadPart/10; - #endif } -#if defined(PIPE_SUBSYSTEM_WINDOWS_DISPLAY) - -void -os_time_sleep(int64_t usecs) -{ - static LONGLONG frequency; - LONGLONG start, curr, end; - - EngQueryPerformanceCounter(&start); - - if(!frequency) - EngQueryPerformanceFrequency(&frequency); - - end = start + (usecs * frequency + 999999LL)/1000000LL; - - do { - EngQueryPerformanceCounter(&curr); - } while(start <= curr && curr < end || - end < start && (curr < end || start <= curr)); -} - -#elif defined(PIPE_SUBSYSTEM_WINDOWS_USER) +#if defined(PIPE_SUBSYSTEM_WINDOWS_USER) void os_time_sleep(int64_t usecs) diff --git a/src/gallium/auxiliary/util/u_atomic.h b/src/gallium/auxiliary/util/u_atomic.h index 8434491a421..2f2b42b346f 100644 --- a/src/gallium/auxiliary/util/u_atomic.h +++ b/src/gallium/auxiliary/util/u_atomic.h @@ -18,10 +18,7 @@ * locally coded assembly, compiler intrinsic or ultimately a * mutex-based implementation. */ -#if (defined(PIPE_SUBSYSTEM_WINDOWS_DISPLAY) || \ - defined(PIPE_SUBSYSTEM_WINDOWS_MINIPORT)) -#define PIPE_ATOMIC_OS_UNLOCKED -#elif defined(PIPE_OS_SOLARIS) +#if defined(PIPE_OS_SOLARIS) #define PIPE_ATOMIC_OS_SOLARIS #elif defined(PIPE_CC_MSVC) #define PIPE_ATOMIC_MSVC_INTRINSIC diff --git a/src/gallium/auxiliary/util/u_debug.c b/src/gallium/auxiliary/util/u_debug.c index b3a30adadb0..df1d8e68cfd 100644 --- a/src/gallium/auxiliary/util/u_debug.c +++ b/src/gallium/auxiliary/util/u_debug.c @@ -274,11 +274,7 @@ void _debug_assert_fail(const char *expr, const char *function) { _debug_printf("%s:%u:%s: Assertion `%s' failed.\n", file, line, function, expr); -#if defined(PIPE_OS_WINDOWS) && !defined(PIPE_SUBSYSTEM_WINDOWS_USER) - if (debug_get_bool_option("GALLIUM_ABORT_ON_ASSERT", FALSE)) -#else if (debug_get_bool_option("GALLIUM_ABORT_ON_ASSERT", TRUE)) -#endif os_abort(); else _debug_printf("continuing...\n"); @@ -453,42 +449,6 @@ void debug_dump_image(const char *prefix, unsigned stride, const void *data) { -#ifdef PIPE_SUBSYSTEM_WINDOWS_DISPLAY - static unsigned no = 0; - char filename[256]; - WCHAR wfilename[sizeof(filename)]; - ULONG_PTR iFile = 0; - struct { - unsigned format; - unsigned cpp; - unsigned width; - unsigned height; - } header; - unsigned char *pMap = NULL; - unsigned i; - - util_snprintf(filename, sizeof(filename), "\\??\\c:\\%03u%s.raw", ++no, prefix); - for(i = 0; i < sizeof(filename); ++i) - wfilename[i] = (WCHAR)filename[i]; - - pMap = (unsigned char *)EngMapFile(wfilename, sizeof(header) + height*width*cpp, &iFile); - if(!pMap) - return; - - header.format = format; - header.cpp = cpp; - header.width = width; - header.height = height; - memcpy(pMap, &header, sizeof(header)); - pMap += sizeof(header); - - for(i = 0; i < height; ++i) { - memcpy(pMap, (unsigned char *)data + stride*i, cpp*width); - pMap += cpp*width; - } - - EngUnmapFile(iFile); -#elif defined(PIPE_OS_UNIX) /* write a ppm file */ char filename[256]; FILE *f; @@ -534,7 +494,6 @@ void debug_dump_image(const char *prefix, else { fprintf(stderr, "Can't open %s for writing\n", filename); } -#endif } /* FIXME: dump resources, not surfaces... */ @@ -636,7 +595,6 @@ debug_dump_surface_bmp(struct pipe_context *pipe, const char *filename, struct pipe_surface *surface) { -#ifndef PIPE_SUBSYSTEM_WINDOWS_MINIPORT struct pipe_transfer *transfer; struct pipe_resource *texture = surface->texture; @@ -647,7 +605,6 @@ debug_dump_surface_bmp(struct pipe_context *pipe, debug_dump_transfer_bmp(pipe, filename, transfer); pipe->transfer_destroy(pipe, transfer); -#endif } void @@ -655,7 +612,6 @@ debug_dump_transfer_bmp(struct pipe_context *pipe, const char *filename, struct pipe_transfer *transfer) { -#ifndef PIPE_SUBSYSTEM_WINDOWS_MINIPORT float *rgba; if (!transfer) @@ -679,7 +635,6 @@ debug_dump_transfer_bmp(struct pipe_context *pipe, FREE(rgba); error1: ; -#endif } void @@ -687,7 +642,6 @@ debug_dump_float_rgba_bmp(const char *filename, unsigned width, unsigned height, float *rgba, unsigned stride) { -#ifndef PIPE_SUBSYSTEM_WINDOWS_MINIPORT FILE *stream; struct bmp_file_header bmfh; struct bmp_info_header bmih; @@ -738,7 +692,6 @@ debug_dump_float_rgba_bmp(const char *filename, fclose(stream); error1: ; -#endif } #endif diff --git a/src/gallium/auxiliary/util/u_debug_refcnt.c b/src/gallium/auxiliary/util/u_debug_refcnt.c index 2679932008d..b94f1af1851 100644 --- a/src/gallium/auxiliary/util/u_debug_refcnt.c +++ b/src/gallium/auxiliary/util/u_debug_refcnt.c @@ -24,7 +24,7 @@ * **************************************************************************/ -#if defined(DEBUG) && (!defined(PIPE_OS_WINDOWS) || defined(PIPE_SUBSYSTEM_WINDOWS_USER)) +#if defined(DEBUG) /* see http://www.mozilla.org/performance/refcnt-balancer.html for what do with the output * on Linux, use tools/addr2line.sh to postprocess it before anything else diff --git a/src/gallium/auxiliary/util/u_math.h b/src/gallium/auxiliary/util/u_math.h index 551463f75cd..f908341f624 100644 --- a/src/gallium/auxiliary/util/u_math.h +++ b/src/gallium/auxiliary/util/u_math.h @@ -48,74 +48,8 @@ extern "C" { #endif -#if defined(PIPE_SUBSYSTEM_WINDOWS_MINIPORT) -__inline double ceil(double val) -{ - double ceil_val; - - if ((val - (long) val) == 0) { - ceil_val = val; - } - else { - if (val > 0) { - ceil_val = (long) val + 1; - } - else { - ceil_val = (long) val; - } - } - - return ceil_val; -} - -#ifndef PIPE_SUBSYSTEM_WINDOWS_CE_OGL -__inline double floor(double val) -{ - double floor_val; - - if ((val - (long) val) == 0) { - floor_val = val; - } - else { - if (val > 0) { - floor_val = (long) val; - } - else { - floor_val = (long) val - 1; - } - } - - return floor_val; -} -#endif - -#pragma function(pow) -__inline double __cdecl pow(double val, double exponent) -{ - /* XXX */ - assert(0); - return 0; -} - -#pragma function(log) -__inline double __cdecl log(double val) -{ - /* XXX */ - assert(0); - return 0; -} - -#pragma function(atan2) -__inline double __cdecl atan2(double val) -{ - /* XXX */ - assert(0); - return 0; -} -#else #include <math.h> #include <stdarg.h> -#endif #ifndef M_SQRT2 @@ -125,7 +59,7 @@ __inline double __cdecl atan2(double val) #if defined(_MSC_VER) -#if _MSC_VER < 1400 && !defined(__cplusplus) || defined(PIPE_SUBSYSTEM_WINDOWS_CE) +#if _MSC_VER < 1400 && !defined(__cplusplus) static INLINE float cosf( float f ) { diff --git a/src/gallium/auxiliary/util/u_snprintf.c b/src/gallium/auxiliary/util/u_snprintf.c index 65bdd0df2b7..f0d53b3cecd 100644 --- a/src/gallium/auxiliary/util/u_snprintf.c +++ b/src/gallium/auxiliary/util/u_snprintf.c @@ -1113,11 +1113,7 @@ again: * Factor of ten with the number of digits needed for the fractional * part. For example, if the precision is 3, the mask will be 1000. */ -#if defined(PIPE_SUBSYSTEM_WINDOWS_MINIPORT) - mask = (unsigned long)mypow10(precision); -#else mask = (UINTMAX_T)mypow10(precision); -#endif /* * We "cheat" by converting the fractional part to integer by * multiplying by a factor of ten. @@ -1369,11 +1365,7 @@ cast(LDOUBLE value) if (value >= UINTMAX_MAX) return UINTMAX_MAX; -#if defined(PIPE_SUBSYSTEM_WINDOWS_MINIPORT) - result = (unsigned long)value; -#else result = (UINTMAX_T)value; -#endif /* * At least on NetBSD/sparc64 3.0.2 and 4.99.30, casting long double to * an integer type converts e.g. 1.9 to 2 instead of 1 (which violates diff --git a/src/gallium/include/pipe/p_config.h b/src/gallium/include/pipe/p_config.h index 7cd42c6f71c..d63eccdc447 100644 --- a/src/gallium/include/pipe/p_config.h +++ b/src/gallium/include/pipe/p_config.h @@ -229,20 +229,10 @@ #endif /* PIPE_OS_LINUX || PIPE_OS_BSD || PIPE_OS_SOLARIS */ #if defined(PIPE_OS_WINDOWS) -#if defined(PIPE_SUBSYSTEM_WINDOWS_DISPLAY) -/* Windows 2000/XP Display Driver */ -#elif defined(PIPE_SUBSYSTEM_WINDOWS_MINIPORT) -/* Windows 2000/XP Miniport Driver */ -#elif defined(PIPE_SUBSYSTEM_WINDOWS_USER) +#if defined(PIPE_SUBSYSTEM_WINDOWS_USER) /* Windows User-space Library */ -#elif defined(PIPE_SUBSYSTEM_WINDOWS_CE) -/* Windows CE 5.0/6.0 */ #else -#ifdef _WIN32_WCE -#define PIPE_SUBSYSTEM_WINDOWS_CE -#else /* !_WIN32_WCE */ -#error No PIPE_SUBSYSTEM_WINDOWS_xxx subsystem defined. -#endif /* !_WIN32_WCE */ +#define PIPE_SUBSYSTEM_WINDOWS_USER #endif #endif /* PIPE_OS_WINDOWS */ |