diff options
Diffstat (limited to 'nx-X11/programs/Xserver/GL/mesa')
29 files changed, 3241 insertions, 0 deletions
diff --git a/nx-X11/programs/Xserver/GL/mesa/GLcore/Imakefile b/nx-X11/programs/Xserver/GL/mesa/GLcore/Imakefile new file mode 100644 index 000000000..5fb93b364 --- /dev/null +++ b/nx-X11/programs/Xserver/GL/mesa/GLcore/Imakefile @@ -0,0 +1,52 @@ +#include <Server.tmpl> + +#define NeedAllMesaSrc +#define MesaInXServer +#define MesaBuildDir ../main/ +#define MesaACBuildDir ../array_cache/ +#define MesaMathBuildDir ../math/ +#define MesaSwrastBuildDir ../swrast/ +#define MesaSwrastSetupBuildDir ../swrast_setup/ +#define MesaTnlBuildDir ../tnl/ +#define MesaShaderBuildDir ../shader/ +#define MesaGrammarBuildDir ../shader/grammar/ +#define MesaSlangBuildDir ../shader/slang/ +#define MesaXBuildDir ../X/ + +#include "../array_cache/Imakefile.inc" +#include "../swrast/Imakefile.inc" +#include "../swrast_setup/Imakefile.inc" +#include "../tnl/Imakefile.inc" +#include "../main/Imakefile.inc" +#include "../math/Imakefile.inc" +#include "../shader/Imakefile.inc" +#include "../shader/grammar/Imakefile.inc" +#include "../shader/slang/Imakefile.inc" +#include "../X/Imakefile.inc" +#include "../Imakefile.inc" + + XOBJS = ../X/?*.o + + OBJS = $(COREMESAOBJS) $(MOBJS) + + DONES = ../main/DONE ../X/DONE ../array_cache/DONE \ + ../math/DONE ../swrast/DONE ../swrast_setup/DONE \ + ../tnl/DONE ../shader/DONE ../shader/grammar/DONE \ + ../shader/slang/DONE + + INCLUDES = -I$(INCLUDESRC) -I$(XINCLUDESRC) -I$(EXTINCSRC) \ + -I$(MESASRCDIR)/include \ + -I$(MESASRCDIR)/src/mesa \ + -I$(SERVERSRC)/include + + DEFINES = $(GLX_DEFINES) + +NormalDepLibraryTarget(GLcore, $(DONES) $(OBJS), $(OBJS) $(XOBJS)) +NormalLibraryObjectRule() + +InstallDriverSDKLibraryModule(GLcore,$(DRIVERSDKMODULEDIR),extensions) + +#ifdef IHaveSubdirs +MakeSubdirs($(SUBDIRS)) +DependSubdirs($(SUBDIRS)) +#endif diff --git a/nx-X11/programs/Xserver/GL/mesa/Imakefile b/nx-X11/programs/Xserver/GL/mesa/Imakefile new file mode 100644 index 000000000..f1dbbe101 --- /dev/null +++ b/nx-X11/programs/Xserver/GL/mesa/Imakefile @@ -0,0 +1,26 @@ +#define IHaveSubdirs + SUBDIRS = main math array_cache swrast swrast_setup tnl shader X GLcore $(MODSUBDIR) + +#include <Server.tmpl> + + +#define NeedAllMesaSrc +#define NeedToLinkMesaSrc +#define MesaBuildDir /**/ +#include "Imakefile.inc" + + INCLUDES = -I$(INCLUDESRC) -I$(XINCLUDESRC) -I$(EXTINCSRC) \ + -I$(MESASRCDIR)/include -I$(GLXLIBSRC)/include \ + -I$(MESASRCDIR)/src/mesa \ + -I$(SERVERSRC)/include + + DEFINES = $(GLX_DEFINES) + +NormalLibraryObjectRule() + +#ifdef IHaveSubdirs +MakeSubdirs($(SUBDIRS)) +DependSubdirs($(SUBDIRS)) +#endif + +DependTarget() diff --git a/nx-X11/programs/Xserver/GL/mesa/Imakefile.inc b/nx-X11/programs/Xserver/GL/mesa/Imakefile.inc new file mode 100644 index 000000000..1bff5782e --- /dev/null +++ b/nx-X11/programs/Xserver/GL/mesa/Imakefile.inc @@ -0,0 +1,51 @@ +MESABUILDDIR = MesaBuildDir + +COREMESASRCS = $(COREMESABASESRCS) \ + $(MESA_AC_SRCS) \ + $(MESA_MATH_SRCS) \ + $(MESA_SWRAST_SRCS) \ + $(MESA_SWR_SETUP_SRCS) \ + $(MESA_TNL_SRCS) \ + $(MESA_SHADER_SRCS) \ + $(MESA_GRAMMAR_SRCS) \ + $(MESA_SLANG_SRCS) + +COREMESAOBJS = $(COREMESABASEOBJS) \ + $(MESA_AC_OBJS) \ + $(MESA_MATH_OBJS) \ + $(MESA_SWRAST_OBJS) \ + $(MESA_SWR_SETUP_OBJS) \ + $(MESA_TNL_OBJS) \ + $(MESA_SHADER_OBJS) \ + $(MESA_GRAMMAR_OBJS) \ + $(MESA_SLANG_OBJS) + +COREMESAUOBJS = $(COREMESABASEUOBJS) \ + $(MESA_AC_UOBJS) \ + $(MESA_MATH_UOBJS) \ + $(MESA_SWRAST_UOBJS) \ + $(MESA_SWR_SETUP_UOBJS) \ + $(MESA_TNL_UOBJS) \ + $(MESA_SHADER_UOBJS) \ + $(MESA_GRAMMAR_UOBJS) \ + $(MESA_SLANG_UOBJS) + +COREMESADOBJS = $(COREMESABASEDOBJS) \ + $(MESA_AC_DOBJS) \ + $(MESA_MATH_DOBJS) \ + $(MESA_SWRAST_DOBJS) \ + $(MESA_SWR_SETUP_DOBJS) \ + $(MESA_TNL_DOBJS) \ + $(MESA_SHADER_DOBJS) \ + $(MESA_GRAMMAR_DOBJS) \ + $(MESA_SLANG_DOBJS) + +COREMESAPOBJS = $(COREMESABASEPOBJS) \ + $(MESA_AC_POBJS) \ + $(MESA_MATH_POBJS) \ + $(MESA_SWRAST_POBJS) \ + $(MESA_SWR_SETUP_POBJS) \ + $(MESA_TNL_POBJS) \ + $(MESA_SHADER_POBJS) \ + $(MESA_GRAMMAR_POBJS) \ + $(MESA_SLANG_POBJS) diff --git a/nx-X11/programs/Xserver/GL/mesa/X/Imakefile b/nx-X11/programs/Xserver/GL/mesa/X/Imakefile new file mode 100644 index 000000000..f8812e096 --- /dev/null +++ b/nx-X11/programs/Xserver/GL/mesa/X/Imakefile @@ -0,0 +1,63 @@ +#include <Server.tmpl> + +#define NeedAllMesaSrc +#define NeedToLinkMesaSrc +#define MesaXBuildDir /**/ +#define MesaInXServer +#include "Imakefile.inc" + + +LinkSourceFile(compsize.c,$(MESASRCDIR)/src/glx/x11) + + DRIVER_SRCS = $(XMESA_SRCS) + DRIVER_OBJS = $(XMESA_OBJS) + + COMMON_SRCS = driverfuncs.c + COMMON_OBJS = driverfuncs.o + + GLX_SRCS = xf86glx.c xf86glx_util.c compsize.c + GLX_OBJS = xf86glx.o xf86glx_util.o compsize.o + + SRCS = $(DRIVER_SRCS) $(GLX_SRCS) $(COMMON_SRCS) + OBJS = $(DRIVER_OBJS) $(GLX_OBJS) $(COMMON_OBJS) + + INCLUDES = -I$(SERVERSRC)/GL/mesa/X -I$(XINCLUDESRC) \ + -I$(EXTINCSRC) \ + -I$(MESASRCDIR)/src/mesa \ + -I$(MESASRCDIR)/src/mesa/main \ + -I$(MESASRCDIR)/src/mesa/glapi \ + -I$(MESASRCDIR)/src/mesa/shader \ + -I$(MESASRCDIR)/src -I$(MESASRCDIR)/src/mesa/drivers/x11 \ + -I$(MESASRCDIR)/include \ + -I$(LIBSRC)/GL/glx -I$(LIBSRC)/GL/include \ + -I$(SERVERSRC)/include -I$(SERVERSRC)/GL/include \ + -I$(SERVERSRC)/GL/glx \ + -I$(XF86OSSRC) \ + -I$(DRMSRCDIR)/shared-core \ + `pkg-config --cflags-only-I pixman-1` + + DEFINES = $(GLX_DEFINES) $(GLXSRV_DEFINES) -DNXAGENT_SERVER /*-DUSE_X86_ASM*/ /*-DUSE_SPARC_ASM*/ + +NormalLibraryObjectRule() + +SubdirLibraryRule($(OBJS)) + +NormalLintTarget($(SRCS)) + +DependTarget() + +#ifdef IHaveSubdirs +MakeSubdirs($(SUBDIRS)) +DependSubdirs($(SUBDIRS)) +#endif + + +#ifndef MesaDrvSrcDir +#define MesaDrvSrcDir $(MESASRCDIR)/src/mesa/drivers/dri +#endif + +MESADRVSRCDIR = MesaDrvSrcDir + + +LinkSourceFile(driverfuncs.c, $(MESADRVSRCDIR)/../common) +LinkSourceFile(driverfuncs.h, $(MESADRVSRCDIR)/../common) diff --git a/nx-X11/programs/Xserver/GL/mesa/X/Imakefile.inc b/nx-X11/programs/Xserver/GL/mesa/X/Imakefile.inc new file mode 100644 index 000000000..67eaf7804 --- /dev/null +++ b/nx-X11/programs/Xserver/GL/mesa/X/Imakefile.inc @@ -0,0 +1,98 @@ +MESAXBUILDDIR = MesaXBuildDir + +#ifndef MesaInXServer +XMESA_GLX_SRCS = $(MESAXBUILDDIR)fakeglx.c \ + $(MESAXBUILDDIR)glxapi.c \ + $(MESAXBUILDDIR)realglx.c \ + $(MESAXBUILDDIR)xfonts.c +#endif + + XMESA_SRCS = $(XMESA_GLX_SRCS) \ + $(MESAXBUILDDIR)xm_api.c \ + $(MESAXBUILDDIR)xm_buffer.c \ + $(MESAXBUILDDIR)xm_dd.c \ + $(MESAXBUILDDIR)xm_line.c \ + $(MESAXBUILDDIR)xm_span.c \ + $(MESAXBUILDDIR)xm_tri.c + +#ifdef NeedToLinkMesaSrc +#ifndef MesaInXServer +LinkSourceFile(fakeglx.c, $(MESASRCDIR)/src/mesa/drivers/x11) +LinkSourceFile(glxapi.c, $(MESASRCDIR)/src/mesa/drivers/x11) +LinkSourceFile(glxapi.h, $(MESASRCDIR)/src/mesa/drivers/x11) +LinkSourceFile(realglx.c, $(MESASRCDIR)/src/mesa/drivers/x11) +LinkSourceFile(xfonts.c, $(MESASRCDIR)/src/mesa/drivers/x11) +#endif +LinkSourceFile(xm_api.c, $(MESASRCDIR)/src/mesa/drivers/x11) +LinkSourceFile(xm_buffer.c, $(MESASRCDIR)/src/mesa/drivers/x11) +LinkSourceFile(xm_dd.c, $(MESASRCDIR)/src/mesa/drivers/x11) +LinkSourceFile(xm_line.c, $(MESASRCDIR)/src/mesa/drivers/x11) +LinkSourceFile(xm_span.c, $(MESASRCDIR)/src/mesa/drivers/x11) +LinkSourceFile(xm_tri.c, $(MESASRCDIR)/src/mesa/drivers/x11) +#endif + +#ifndef MesaInXServer +XMESA_GLX_OBJS = $(MESAXBUILDDIR)fakeglx.o \ + $(MESAXBUILDDIR)glxapi.o \ + $(MESAXBUILDDIR)realglx.o \ + $(MESAXBUILDDIR)xfonts.o +#endif + + XMESA_OBJS = $(XMESA_GLX_OBJS) \ + $(MESAXBUILDDIR)xm_api.o \ + $(MESAXBUILDDIR)xm_buffer.o \ + $(MESAXBUILDDIR)xm_dd.o \ + $(MESAXBUILDDIR)xm_line.o \ + $(MESAXBUILDDIR)xm_span.o \ + $(MESAXBUILDDIR)xm_tri.o + +#if defined(DoSharedLib) && DoSharedLib +#ifndef MesaInXServer +XMESA_GLX_UOBJS = $(MESAXBUILDDIR)unshared/fakeglx.o \ + $(MESAXBUILDDIR)unshared/glxapi.o \ + $(MESAXBUILDDIR)unshared/realglx.o \ + $(MESAXBUILDDIR)unshared/xfonts.o +#endif + + XMESA_UOBJS = $(XMESA_GLX_UOBJS) \ + $(MESAXBUILDDIR)unshared/xm_api.o \ + $(MESAXBUILDDIR)unshared/xm_buffer.o \ + $(MESAXBUILDDIR)unshared/xm_dd.o \ + $(MESAXBUILDDIR)unshared/xm_line.o \ + $(MESAXBUILDDIR)unshared/xm_span.o \ + $(MESAXBUILDDIR)unshared/xm_tri.o +#else +XMESA_GLX_UOBJS = $(XMESA_GLX_OBJS) + XMESA_UOBJS = $(XMESA_OBJS) +#endif + +#ifndef MesaInXServer +XMESA_GLX_DOBJS = $(MESAXBUILDDIR)debugger/fakeglx.o \ + $(MESAXBUILDDIR)debugger/glxapi.o \ + $(MESAXBUILDDIR)debugger/realglx.o \ + $(MESAXBUILDDIR)debugger/xfonts.o +#endif + + XMESA_DOBJS = $(XMESA_GLX_DOBJS) \ + $(MESAXBUILDDIR)debugger/xm_api.o \ + $(MESAXBUILDDIR)debugger/xm_buffer.o \ + $(MESAXBUILDDIR)debugger/xm_dd.o \ + $(MESAXBUILDDIR)debugger/xm_line.o \ + $(MESAXBUILDDIR)debugger/xm_span.o \ + $(MESAXBUILDDIR)debugger/xm_tri.o + +#ifndef MesaInXServer +XMESA_GLX_POBJS = $(MESAXBUILDDIR)profiled/fakeglx.o \ + $(MESAXBUILDDIR)profiled/glxapi.o \ + $(MESAXBUILDDIR)profiled/realglx.o \ + $(MESAXBUILDDIR)profiled/xfonts.o +#endif + + XMESA_POBJS = $(XMESA_GLX_POBJS) \ + $(MESAXBUILDDIR)profiled/xm_api.o \ + $(MESAXBUILDDIR)profiled/xm_buffer.o \ + $(MESAXBUILDDIR)profiled/xm_dd.o \ + $(MESAXBUILDDIR)profiled/xm_line.o \ + $(MESAXBUILDDIR)profiled/xm_span.o \ + $(MESAXBUILDDIR)profiled/xm_tri.o + diff --git a/nx-X11/programs/Xserver/GL/mesa/X/xf86glx.c b/nx-X11/programs/Xserver/GL/mesa/X/xf86glx.c new file mode 100644 index 000000000..da0e77134 --- /dev/null +++ b/nx-X11/programs/Xserver/GL/mesa/X/xf86glx.c @@ -0,0 +1,950 @@ +/************************************************************************** + +Copyright 1998-1999 Precision Insight, 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 PRECISION INSIGHT 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. + +**************************************************************************/ + +/* + * Authors: + * Kevin E. Martin <kevin@precisioninsight.com> + * Brian E. Paul <brian@precisioninsight.com> + * + */ + +#ifdef HAVE_DIX_CONFIG_H +#include <dix-config.h> +#endif + +#include <regionstr.h> +#include <resource.h> +#include <GL/gl.h> +#include <GL/glxint.h> +#include <GL/glxtokens.h> +#include <scrnintstr.h> +#include <config.h> +#include <glxserver.h> +#include <glxscreens.h> +#include <glxdrawable.h> +#include <glxcontext.h> +#include <glxext.h> +#include <glxutil.h> +#include "xf86glxint.h" +#include "context.h" +#include "xmesaP.h" +#include "context.h" + +/* + * This define is for the glcore.h header file. + * If you add it here, then make sure you also add it in + * ../../../glx/Imakefile. + */ +#if 0 +#define DEBUG +#include <GL/internal/glcore.h> +#undef DEBUG +#else +#include <GL/internal/glcore.h> +#endif + +#include "glcontextmodes.h" + +#ifdef NXAGENT_SERVER +#include "../main/WSDrawBuffer.h" +#endif + +/* + * This structure is statically allocated in the __glXScreens[] + * structure. This struct is not used anywhere other than in + * __glXScreenInit to initialize each of the active screens + * (__glXActiveScreens[]). Several of the fields must be initialized by + * the screenProbe routine before they are copied to the active screens + * struct. In particular, the contextCreate, pGlxVisual, numVisuals, + * and numUsableVisuals fields must be initialized. + */ +static __GLXscreenInfo __glDDXScreenInfo = { + __MESA_screenProbe, /* Must be generic and handle all screens */ + __MESA_createContext, /* Substitute screen's createContext routine */ + __MESA_createBuffer, /* Substitute screen's createBuffer routine */ + NULL, /* Set up modes in probe */ + NULL, /* Set up pVisualPriv in probe */ + 0, /* Set up numVisuals in probe */ + 0, /* Set up numUsableVisuals in probe */ + NULL, /* GLextensions is overwritten by __glXScreenInit */ + "Vendor String", /* GLXvendor is overwritten by __glXScreenInit */ + "Version String", /* GLXversion is overwritten by __glXScreenInit */ + "Extensions String", /* GLXextensions is overwritten by __glXScreenInit */ + NULL /* WrappedPositionWindow is overwritten */ +}; + +#ifdef NXAGENT_SERVER +WSDrawBufferPtr pWSDrawBuffer = NULL; + +void AddWSDrawBuffer(GLframebuffer *mesa_buffer) +{ + WSDrawBufferPtr prevWSDB; + WSDrawBufferPtr newWSDB; + WSDrawBufferPtr p; + + prevWSDB = NULL; + newWSDB = NULL; + p = pWSDrawBuffer; + while (p != NULL) { + prevWSDB = p; + if (prevWSDB -> DrawBuffer == mesa_buffer) { + return; + } + p = p -> next; + } + newWSDB = malloc(sizeof(WSDrawBufferRec)); + newWSDB -> DrawBuffer = mesa_buffer; + newWSDB -> next = NULL; + + if (pWSDrawBuffer == NULL) + pWSDrawBuffer = newWSDB; + else + prevWSDB -> next = newWSDB; +} +#endif + +void *__glXglDDXScreenInfo(void) { + return &__glDDXScreenInfo; +} + +static __GLXextensionInfo __glDDXExtensionInfo = { + GL_CORE_MESA, + __MESA_resetExtension, + __MESA_initVisuals, + __MESA_setVisualConfigs +}; + +void *__glXglDDXExtensionInfo(void) { + return &__glDDXExtensionInfo; +} + +static __MESA_screen MESAScreens[MAXSCREENS]; +static __GLcontext *MESA_CC = NULL; + +static int numConfigs = 0; +static __GLXvisualConfig *visualConfigs = NULL; +static void **visualPrivates = NULL; + + +static int count_bits(unsigned int n) +{ + int bits = 0; + + while (n > 0) { + if (n & 1) bits++; + n >>= 1; + } + return bits; +} + + +static XMesaVisual find_mesa_visual(int screen, VisualID vid) +{ + __MESA_screen * const pMScr = &MESAScreens[screen]; + const __GLcontextModes *modes; + unsigned i = 0; + + for ( modes = pMScr->modes ; modes != NULL ; modes = modes->next ) { + if ( modes->visualID == vid ) { + break; + } + + i++; + } + + return (modes != NULL) ? pMScr->xm_vis[i] : NULL; +} + + +/* + * In the case the driver defines no GLX visuals we'll use these. + * Note that for TrueColor and DirectColor visuals, bufferSize is the + * sum of redSize, greenSize, blueSize and alphaSize, which may be larger + * than the nplanes/rootDepth of the server's X11 visuals + */ +#define NUM_FALLBACK_CONFIGS 5 +static __GLXvisualConfig FallbackConfigs[NUM_FALLBACK_CONFIGS] = { + /* [0] = RGB, double buffered, Z */ + { + -1, /* vid */ + -1, /* class */ + True, /* rgba */ + -1, -1, -1, 0, /* rgba sizes */ + -1, -1, -1, 0, /* rgba masks */ + 0, 0, 0, 0, /* rgba accum sizes */ + True, /* doubleBuffer */ + False, /* stereo */ + -1, /* bufferSize */ + 16, /* depthSize */ + 0, /* stencilSize */ + 0, /* auxBuffers */ + 0, /* level */ + GLX_NONE, /* visualRating */ + GLX_NONE, /* transparentPixel */ + 0, 0, 0, 0, /* transparent rgba color (floats scaled to ints) */ + 0 /* transparentIndex */ + }, + /* [1] = RGB, double buffered, Z, stencil, accum */ + { + -1, /* vid */ + -1, /* class */ + True, /* rgba */ + -1, -1, -1, 0, /* rgba sizes */ + -1, -1, -1, 0, /* rgba masks */ + 16, 16, 16, 0, /* rgba accum sizes */ + True, /* doubleBuffer */ + False, /* stereo */ + -1, /* bufferSize */ + 16, /* depthSize */ + 8, /* stencilSize */ + 0, /* auxBuffers */ + 0, /* level */ + GLX_NONE, /* visualRating */ + GLX_NONE, /* transparentPixel */ + 0, 0, 0, 0, /* transparent rgba color (floats scaled to ints) */ + 0 /* transparentIndex */ + }, + /* [2] = RGB+Alpha, double buffered, Z, stencil, accum */ + { + -1, /* vid */ + -1, /* class */ + True, /* rgba */ + -1, -1, -1, 8, /* rgba sizes */ + -1, -1, -1, -1, /* rgba masks */ + 16, 16, 16, 16, /* rgba accum sizes */ + True, /* doubleBuffer */ + False, /* stereo */ + -1, /* bufferSize */ + 16, /* depthSize */ + 8, /* stencilSize */ + 0, /* auxBuffers */ + 0, /* level */ + GLX_NONE, /* visualRating */ + GLX_NONE, /* transparentPixel */ + 0, 0, 0, 0, /* transparent rgba color (floats scaled to ints) */ + 0 /* transparentIndex */ + }, + /* [3] = RGB+Alpha, single buffered, Z, stencil, accum */ + { + -1, /* vid */ + -1, /* class */ + True, /* rgba */ + -1, -1, -1, 8, /* rgba sizes */ + -1, -1, -1, -1, /* rgba masks */ + 16, 16, 16, 16, /* rgba accum sizes */ + False, /* doubleBuffer */ + False, /* stereo */ + -1, /* bufferSize */ + 16, /* depthSize */ + 8, /* stencilSize */ + 0, /* auxBuffers */ + 0, /* level */ + GLX_NONE, /* visualRating */ + GLX_NONE, /* transparentPixel */ + 0, 0, 0, 0, /* transparent rgba color (floats scaled to ints) */ + 0 /* transparentIndex */ + }, + /* [4] = CI, double buffered, Z */ + { + -1, /* vid */ + -1, /* class */ + False, /* rgba? (false = color index) */ + -1, -1, -1, 0, /* rgba sizes */ + -1, -1, -1, 0, /* rgba masks */ + 0, 0, 0, 0, /* rgba accum sizes */ + True, /* doubleBuffer */ + False, /* stereo */ + -1, /* bufferSize */ + 16, /* depthSize */ + 0, /* stencilSize */ + 0, /* auxBuffers */ + 0, /* level */ + GLX_NONE, /* visualRating */ + GLX_NONE, /* transparentPixel */ + 0, 0, 0, 0, /* transparent rgba color (floats scaled to ints) */ + 0 /* transparentIndex */ + }, +}; + + +static Bool init_visuals(int *nvisualp, VisualPtr *visualp, + VisualID *defaultVisp, + int ndepth, DepthPtr pdepth, + int rootDepth) +{ + int numRGBconfigs; + int numCIconfigs; + int numVisuals = *nvisualp; + int numNewVisuals; + int numNewConfigs; + VisualPtr pVisual = *visualp; + VisualPtr pVisualNew = NULL; + VisualID *orig_vid = NULL; + __GLcontextModes *modes; + __GLXvisualConfig *pNewVisualConfigs = NULL; + void **glXVisualPriv; + void **pNewVisualPriv; + int found_default; + int i, j, k; + + if (numConfigs > 0) + numNewConfigs = numConfigs; + else + numNewConfigs = NUM_FALLBACK_CONFIGS; + + /* Alloc space for the list of new GLX visuals */ + pNewVisualConfigs = (__GLXvisualConfig *) + malloc(numNewConfigs * sizeof(__GLXvisualConfig)); + if (!pNewVisualConfigs) { + return FALSE; + } + + /* Alloc space for the list of new GLX visual privates */ + pNewVisualPriv = (void **) malloc(numNewConfigs * sizeof(void *)); + if (!pNewVisualPriv) { + free(pNewVisualConfigs); + return FALSE; + } + + /* + ** If SetVisualConfigs was not called, then use default GLX + ** visual configs. + */ + if (numConfigs == 0) { + memcpy(pNewVisualConfigs, FallbackConfigs, + NUM_FALLBACK_CONFIGS * sizeof(__GLXvisualConfig)); + memset(pNewVisualPriv, 0, NUM_FALLBACK_CONFIGS * sizeof(void *)); + } + else { + /* copy driver's visual config info */ + for (i = 0; i < numConfigs; i++) { + pNewVisualConfigs[i] = visualConfigs[i]; + pNewVisualPriv[i] = visualPrivates[i]; + } + } + + /* Count the number of RGB and CI visual configs */ + numRGBconfigs = 0; + numCIconfigs = 0; + for (i = 0; i < numNewConfigs; i++) { + if (pNewVisualConfigs[i].rgba) + numRGBconfigs++; + else + numCIconfigs++; + } + + /* Count the total number of visuals to compute */ + numNewVisuals = 0; + for (i = 0; i < numVisuals; i++) { + numNewVisuals += + (pVisual[i].class == TrueColor || pVisual[i].class == DirectColor) + ? numRGBconfigs : numCIconfigs; + } + + /* Reset variables for use with the next screen/driver's visual configs */ + visualConfigs = NULL; + numConfigs = 0; + + /* Alloc temp space for the list of orig VisualIDs for each new visual */ + orig_vid = (VisualID *)malloc(numNewVisuals * sizeof(VisualID)); + if (!orig_vid) { + free(pNewVisualPriv); + free(pNewVisualConfigs); + return FALSE; + } + + /* Alloc space for the list of glXVisuals */ + modes = _gl_context_modes_create(numNewVisuals, sizeof(__GLcontextModes)); + if (modes == NULL) { + free(orig_vid); + free(pNewVisualPriv); + free(pNewVisualConfigs); + return FALSE; + } + + /* Alloc space for the list of glXVisualPrivates */ + glXVisualPriv = (void **)malloc(numNewVisuals * sizeof(void *)); + if (!glXVisualPriv) { + _gl_context_modes_destroy( modes ); + free(orig_vid); + free(pNewVisualPriv); + free(pNewVisualConfigs); + return FALSE; + } + + /* Alloc space for the new list of the X server's visuals */ + pVisualNew = (VisualPtr)malloc(numNewVisuals * sizeof(VisualRec)); + if (!pVisualNew) { + free(glXVisualPriv); + _gl_context_modes_destroy( modes ); + free(orig_vid); + free(pNewVisualPriv); + free(pNewVisualConfigs); + return FALSE; + } + + /* Initialize the new visuals */ + found_default = FALSE; + MESAScreens[screenInfo.numScreens-1].modes = modes; + for (i = j = 0; i < numVisuals; i++) { + int is_rgb = (pVisual[i].class == TrueColor || + pVisual[i].class == DirectColor); + + for (k = 0; k < numNewConfigs; k++) { + if (pNewVisualConfigs[k].rgba != is_rgb) + continue; + + assert( modes != NULL ); + + /* Initialize the new visual */ + pVisualNew[j] = pVisual[i]; + pVisualNew[j].vid = FakeClientID(0); + + /* Check for the default visual */ + if (!found_default && pVisual[i].vid == *defaultVisp) { + *defaultVisp = pVisualNew[j].vid; + found_default = TRUE; + } + + /* Save the old VisualID */ + orig_vid[j] = pVisual[i].vid; + + /* Initialize the glXVisual */ + _gl_copy_visual_to_context_mode( modes, & pNewVisualConfigs[k] ); + modes->visualID = pVisualNew[j].vid; + + /* + * If the class is -1, then assume the X visual information + * is identical to what GLX needs, and take them from the X + * visual. NOTE: if class != -1, then all other fields MUST + * be initialized. + */ + if (modes->visualType == GLX_NONE) { + modes->visualType = _gl_convert_from_x_visual_type( pVisual[i].class ); + modes->redBits = count_bits(pVisual[i].redMask); + modes->greenBits = count_bits(pVisual[i].greenMask); + modes->blueBits = count_bits(pVisual[i].blueMask); + modes->alphaBits = modes->alphaBits; + modes->redMask = pVisual[i].redMask; + modes->greenMask = pVisual[i].greenMask; + modes->blueMask = pVisual[i].blueMask; + modes->alphaMask = modes->alphaMask; + modes->rgbBits = (is_rgb) + ? (modes->redBits + modes->greenBits + + modes->blueBits + modes->alphaBits) + : rootDepth; + } + + /* Save the device-dependent private for this visual */ + glXVisualPriv[j] = pNewVisualPriv[k]; + + j++; + modes = modes->next; + } + } + + assert(j <= numNewVisuals); + + /* Save the GLX visuals in the screen structure */ + MESAScreens[screenInfo.numScreens-1].num_vis = numNewVisuals; + MESAScreens[screenInfo.numScreens-1].private = glXVisualPriv; + + /* Set up depth's VisualIDs */ + for (i = 0; i < ndepth; i++) { + int numVids = 0; + VisualID *pVids = NULL; + int k, n = 0; + + /* Count the new number of VisualIDs at this depth */ + for (j = 0; j < pdepth[i].numVids; j++) + for (k = 0; k < numNewVisuals; k++) + if (pdepth[i].vids[j] == orig_vid[k]) + numVids++; + + /* Allocate a new list of VisualIDs for this depth */ + pVids = (VisualID *)malloc(numVids * sizeof(VisualID)); + + /* Initialize the new list of VisualIDs for this depth */ + for (j = 0; j < pdepth[i].numVids; j++) + for (k = 0; k < numNewVisuals; k++) + if (pdepth[i].vids[j] == orig_vid[k]) + pVids[n++] = pVisualNew[k].vid; + + /* Update this depth's list of VisualIDs */ + free(pdepth[i].vids); + pdepth[i].vids = pVids; + pdepth[i].numVids = numVids; + } + + /* Update the X server's visuals */ + *nvisualp = numNewVisuals; + *visualp = pVisualNew; + + /* Free the old list of the X server's visuals */ + free(pVisual); + + /* Clean up temporary allocations */ + free(orig_vid); + free(pNewVisualPriv); + free(pNewVisualConfigs); + + /* Free the private list created by DDX HW driver */ + if (visualPrivates) + free(visualPrivates); + visualPrivates = NULL; + + return TRUE; +} + +void __MESA_setVisualConfigs(int nconfigs, __GLXvisualConfig *configs, + void **privates) +{ + numConfigs = nconfigs; + visualConfigs = configs; + visualPrivates = privates; +} + +Bool __MESA_initVisuals(VisualPtr *visualp, DepthPtr *depthp, + int *nvisualp, int *ndepthp, int *rootDepthp, + VisualID *defaultVisp, unsigned long sizes, + int bitsPerRGB) +{ + /* + * Setup the visuals supported by this particular screen. + */ + return init_visuals(nvisualp, visualp, defaultVisp, + *ndepthp, *depthp, *rootDepthp); +} + +static void fixup_visuals(int screen) +{ + ScreenPtr pScreen = screenInfo.screens[screen]; + __MESA_screen *pMScr = &MESAScreens[screen]; + int j; + __GLcontextModes *modes; + + for ( modes = pMScr->modes ; modes != NULL ; modes = modes->next ) { + const int vis_class = _gl_convert_to_x_visual_type( modes->visualType ); + const int nplanes = (modes->rgbBits - modes->alphaBits); + const VisualPtr pVis = pScreen->visuals; + + /* Find a visual that matches the GLX visual's class and size */ + for (j = 0; j < pScreen->numVisuals; j++) { + if (pVis[j].class == vis_class && + pVis[j].nplanes == nplanes) { + + /* Fixup the masks */ + modes->redMask = pVis[j].redMask; + modes->greenMask = pVis[j].greenMask; + modes->blueMask = pVis[j].blueMask; + + /* Recalc the sizes */ + modes->redBits = count_bits(modes->redMask); + modes->greenBits = count_bits(modes->greenMask); + modes->blueBits = count_bits(modes->blueMask); + } + } + } +} + +static void init_screen_visuals(int screen) +{ + ScreenPtr pScreen = screenInfo.screens[screen]; + __GLcontextModes *modes; + XMesaVisual *pXMesaVisual; + int *used; + int i, j; + + /* Alloc space for the list of XMesa visuals */ + pXMesaVisual = (XMesaVisual *)malloc(MESAScreens[screen].num_vis * + sizeof(XMesaVisual)); + memset(pXMesaVisual, 0, + MESAScreens[screen].num_vis * sizeof(XMesaVisual)); + + /* FIXME: Change 'used' to be a array of bits (rather than of ints), + * FIXME: create a stack array of 8 or 16 bytes. If 'numVisuals' is less + * FIXME: than 64 or 128 the stack array can be used instead of calling + * FIXME: malloc / free. If nothing else, convert 'used' to + * FIXME: array of bytes instead of ints! + */ + used = (int *)malloc(pScreen->numVisuals * sizeof(int)); + memset(used, 0, pScreen->numVisuals * sizeof(int)); + + i = 0; + for ( modes = MESAScreens[screen].modes + ; modes != NULL + ; modes = modes->next ) { + const int vis_class = _gl_convert_to_x_visual_type( modes->visualType ); + const int nplanes = (modes->rgbBits - modes->alphaBits); + const VisualPtr pVis = pScreen->visuals; + + for (j = 0; j < pScreen->numVisuals; j++) { + if (pVis[j].class == vis_class && + pVis[j].nplanes == nplanes && + pVis[j].redMask == modes->redMask && + pVis[j].greenMask == modes->greenMask && + pVis[j].blueMask == modes->blueMask && + !used[j]) { + + /* Create the XMesa visual */ + pXMesaVisual[i] = + XMesaCreateVisual(pScreen, + pVis, + modes->rgbMode, + (modes->alphaBits > 0), + modes->doubleBufferMode, + modes->stereoMode, + GL_TRUE, /* ximage_flag */ + modes->depthBits, + modes->stencilBits, + modes->accumRedBits, + modes->accumGreenBits, + modes->accumBlueBits, + modes->accumAlphaBits, + modes->samples, + modes->level, + modes->visualRating); + /* Set the VisualID */ + modes->visualID = pVis[j].vid; + + /* Mark this visual used */ + used[j] = 1; + break; + } + } + + if ( j == pScreen->numVisuals ) { + ErrorF("No matching visual for __GLcontextMode with " + "visual class = %d (%d), nplanes = %u\n", + vis_class, + modes->visualType, + (modes->rgbBits - modes->alphaBits) ); + } + else if ( modes->visualID == -1 ) { + FatalError( "Matching visual found, but visualID still -1!\n" ); + } + + i++; + } + + free(used); + + MESAScreens[screen].xm_vis = pXMesaVisual; +} + +Bool __MESA_screenProbe(int screen) +{ + /* + * Set up the current screen's visuals. + */ + __glDDXScreenInfo.modes = MESAScreens[screen].modes; + __glDDXScreenInfo.pVisualPriv = MESAScreens[screen].private; + __glDDXScreenInfo.numVisuals = + __glDDXScreenInfo.numUsableVisuals = MESAScreens[screen].num_vis; + + /* + * Set the current screen's createContext routine. This could be + * wrapped by a DDX GLX context creation routine. + */ + __glDDXScreenInfo.createContext = __MESA_createContext; + + /* + * The ordering of the rgb compenents might have been changed by the + * driver after mi initialized them. + */ + fixup_visuals(screen); + + /* + * Find the GLX visuals that are supported by this screen and create + * XMesa's visuals. + */ + init_screen_visuals(screen); + + return TRUE; +} + +extern void __MESA_resetExtension(void) +{ + int i, j; + + XMesaReset(); + + for (i = 0; i < screenInfo.numScreens; i++) { + for (j = 0; j < MESAScreens[i].num_vis; j++) { + if (MESAScreens[i].xm_vis[j]) { + XMesaDestroyVisual(MESAScreens[i].xm_vis[j]); + MESAScreens[i].xm_vis[j] = NULL; + } + } + _gl_context_modes_destroy( MESAScreens[i].modes ); + MESAScreens[i].modes = NULL; + free(MESAScreens[i].private); + MESAScreens[i].private = NULL; + free(MESAScreens[i].xm_vis); + MESAScreens[i].xm_vis = NULL; + MESAScreens[i].num_vis = 0; + } + __glDDXScreenInfo.modes = NULL; + MESA_CC = NULL; +} + +void __MESA_createBuffer(__GLXdrawablePrivate *glxPriv) +{ + DrawablePtr pDraw = glxPriv->pDraw; + XMesaVisual xm_vis = find_mesa_visual(pDraw->pScreen->myNum, + glxPriv->modes->visualID); + __GLdrawablePrivate *glPriv = &glxPriv->glPriv; + __MESA_buffer buf; + + if (xm_vis == NULL) { + ErrorF("find_mesa_visual returned NULL for visualID = 0x%04x\n", + glxPriv->modes->visualID); + } + buf = (__MESA_buffer)malloc(sizeof(struct __MESA_bufferRec)); + + /* Create Mesa's buffers */ + if (glxPriv->type == DRAWABLE_WINDOW) { + buf->xm_buf = (void *)XMesaCreateWindowBuffer(xm_vis, + (WindowPtr)pDraw); + } else { + buf->xm_buf = (void *)XMesaCreatePixmapBuffer(xm_vis, + (PixmapPtr)pDraw, 0); + } + + /* Wrap the front buffer's resize routine */ + buf->fbresize = glPriv->frontBuffer.resize; + glPriv->frontBuffer.resize = __MESA_resizeBuffers; + + /* Wrap the swap buffers routine */ + buf->fbswap = glxPriv->swapBuffers; + glxPriv->swapBuffers = __MESA_swapBuffers; + + /* Save Mesa's private buffer structure */ + glPriv->private = (void *)buf; + glPriv->freePrivate = __MESA_destroyBuffer; +} + +GLboolean __MESA_resizeBuffers(__GLdrawableBuffer *buffer, + GLint x, GLint y, + GLuint width, GLuint height, + __GLdrawablePrivate *glPriv, + GLuint bufferMask) +{ + __MESA_buffer buf = (__MESA_buffer)glPriv->private; + + if (buf->xm_buf) + XMesaResizeBuffers(buf->xm_buf); + + return (*buf->fbresize)(buffer, x, y, width, height, glPriv, bufferMask); +} + +GLboolean __MESA_swapBuffers(__GLXdrawablePrivate *glxPriv) +{ + __MESA_buffer buf = (__MESA_buffer)glxPriv->glPriv.private; + + /* + ** Do not call the wrapped swap buffers routine since Mesa has + ** already done the swap. + */ + XMesaSwapBuffers(buf->xm_buf); + + return GL_TRUE; +} + +void __MESA_destroyBuffer(__GLdrawablePrivate *glPriv) +{ + __MESA_buffer buf = (__MESA_buffer)glPriv->private; + __GLXdrawablePrivate *glxPriv = (__GLXdrawablePrivate *)glPriv->other; + +#ifdef NXAGENT_SERVER + AddWSDrawBuffer(& (buf -> xm_buf -> mesa_buffer) ); +#endif + + /* Destroy Mesa's buffers */ + if (buf->xm_buf) + XMesaDestroyBuffer(buf->xm_buf); + + /* Unwrap these routines */ + glxPriv->swapBuffers = buf->fbswap; + glPriv->frontBuffer.resize = buf->fbresize; + + free(glPriv->private); + glPriv->private = NULL; +} + +__GLinterface *__MESA_createContext(__GLimports *imports, + __GLcontextModes *modes, + __GLinterface *shareGC) +{ + __GLcontext *gl_ctx = NULL; + __GLcontext *m_share = NULL; + __GLXcontext *glxc = (__GLXcontext *)imports->other; + XMesaVisual xm_vis; + + if (shareGC) + m_share = (__GLcontext *)shareGC; + + xm_vis = find_mesa_visual(glxc->pScreen->myNum, glxc->modes->visualID); + if (xm_vis) { + XMesaContext xmshare = m_share ? m_share->DriverCtx : 0; + XMesaContext xmctx = XMesaCreateContext(xm_vis, xmshare); + gl_ctx = xmctx ? &xmctx->mesa : 0; + } + else { + ErrorF("find_mesa_visual returned NULL for visualID = 0x%04x\n", + glxc->modes->visualID); + } + + + if (!gl_ctx) + return NULL; + + gl_ctx->imports = *imports; + gl_ctx->exports.destroyContext = __MESA_destroyContext; + gl_ctx->exports.loseCurrent = __MESA_loseCurrent; + gl_ctx->exports.makeCurrent = __MESA_makeCurrent; + gl_ctx->exports.shareContext = __MESA_shareContext; + gl_ctx->exports.copyContext = __MESA_copyContext; + gl_ctx->exports.forceCurrent = __MESA_forceCurrent; + gl_ctx->exports.notifyResize = __MESA_notifyResize; + gl_ctx->exports.notifyDestroy = __MESA_notifyDestroy; + gl_ctx->exports.notifySwapBuffers = __MESA_notifySwapBuffers; + gl_ctx->exports.dispatchExec = __MESA_dispatchExec; + gl_ctx->exports.beginDispatchOverride = __MESA_beginDispatchOverride; + gl_ctx->exports.endDispatchOverride = __MESA_endDispatchOverride; + + return (__GLinterface *)gl_ctx; +} + +GLboolean __MESA_destroyContext(__GLcontext *gc) +{ + XMesaContext xmesa = (XMesaContext) gc->DriverCtx; + XMesaDestroyContext( xmesa ); + return GL_TRUE; +} + +GLboolean __MESA_loseCurrent(__GLcontext *gc) +{ + XMesaContext xmesa = (XMesaContext) gc->DriverCtx; + MESA_CC = NULL; + __glXLastContext = NULL; + return XMesaLoseCurrent(xmesa); +} + +GLboolean __MESA_makeCurrent(__GLcontext *gc) +{ + __GLdrawablePrivate *drawPriv = gc->imports.getDrawablePrivate( gc ); + __MESA_buffer drawBuf = (__MESA_buffer)drawPriv->private; + __GLdrawablePrivate *readPriv = gc->imports.getReadablePrivate( gc ); + __MESA_buffer readBuf = (__MESA_buffer)readPriv->private; + XMesaContext xmesa = (XMesaContext) gc->DriverCtx; + + MESA_CC = gc; + return XMesaMakeCurrent2(xmesa, drawBuf->xm_buf, readBuf->xm_buf); +} + +GLboolean __MESA_shareContext(__GLcontext *gc, __GLcontext *gcShare) +{ + /* NOT_DONE */ + /* XXX I don't see where/how this could ever be called */ + ErrorF("__MESA_shareContext\n"); + return GL_FALSE; +} + +GLboolean __MESA_copyContext(__GLcontext *dst, const __GLcontext *src, + GLuint mask) +{ + XMesaContext xm_dst = (XMesaContext) dst->DriverCtx; + const XMesaContext xm_src = (const XMesaContext) src->DriverCtx; + _mesa_copy_context(&xm_src->mesa, &xm_dst->mesa, mask); + return GL_TRUE; +} + +GLboolean __MESA_forceCurrent(__GLcontext *gc) +{ + XMesaContext xmesa = (XMesaContext) gc->DriverCtx; + MESA_CC = gc; + return XMesaForceCurrent(xmesa); +} + +GLboolean __MESA_notifyResize(__GLcontext *gc) +{ + /* NOT_DONE */ + ErrorF("__MESA_notifyResize\n"); + return GL_FALSE; +} + +void __MESA_notifyDestroy(__GLcontext *gc) +{ + /* NOT_DONE */ + ErrorF("__MESA_notifyDestroy\n"); + return; +} + +void __MESA_notifySwapBuffers(__GLcontext *gc) +{ + _mesa_notifySwapBuffers(gc); +} + +struct __GLdispatchStateRec *__MESA_dispatchExec(__GLcontext *gc) +{ + /* NOT_DONE */ + ErrorF("__MESA_dispatchExec\n"); + return NULL; +} + +void __MESA_beginDispatchOverride(__GLcontext *gc) +{ + /* NOT_DONE */ + ErrorF("__MESA_beginDispatchOverride\n"); + return; +} + +void __MESA_endDispatchOverride(__GLcontext *gc) +{ + /* NOT_DONE */ + ErrorF("__MESA_endDispatchOverride\n"); + return; +} + + +/* + * Server-side GLX uses these functions which are normally defined + * in the OpenGL SI. + */ + +GLuint __glFloorLog2(GLuint val) +{ + int c = 0; + + while (val > 1) { + c++; + val >>= 1; + } + return c; +} + diff --git a/nx-X11/programs/Xserver/GL/mesa/X/xf86glx_util.c b/nx-X11/programs/Xserver/GL/mesa/X/xf86glx_util.c new file mode 100644 index 000000000..fad84ec7e --- /dev/null +++ b/nx-X11/programs/Xserver/GL/mesa/X/xf86glx_util.c @@ -0,0 +1,151 @@ +/************************************************************************** + +Copyright 1998-1999 Precision Insight, 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 PRECISION INSIGHT 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. + +**************************************************************************/ + +/* + * Authors: + * Kevin E. Martin <kevin@precisioninsight.com> + * Brian Paul <brian@precisioninsight.com> + */ + +#ifdef HAVE_DIX_CONFIG_H +#include <dix-config.h> +#endif + +#include <stdlib.h> + +#include <gcstruct.h> +#include "pixmapstr.h" +#include "xf86glx_util.h" +#include <nx-X11/Xmd.h> + +#ifdef ROUNDUP +#undef ROUNDUP +#endif + +#define ROUNDUP(nbytes, pad) ((((nbytes) + ((pad)-1)) / (pad)) * ((pad)>>3)) + +XMesaImage *XMesaCreateImage(int bitsPerPixel, int width, int height, char *data) +{ + XMesaImage *image; + + image = (XMesaImage *)malloc(sizeof(XMesaImage)); + + if (image) { + image->width = width; + image->height = height; + image->data = data; + /* Always pad to 32 bits */ + image->bytes_per_line = ROUNDUP((bitsPerPixel * width), 32); + image->bits_per_pixel = bitsPerPixel; + } + + return image; +} + +void XMesaDestroyImage(XMesaImage *image) +{ + if (image->data) + free(image->data); + free(image); +} + +unsigned long XMesaGetPixel(XMesaImage *image, int x, int y) +{ + CARD8 *row = (CARD8 *)(image->data + y*image->bytes_per_line); + CARD8 *i8; + CARD16 *i16; + CARD32 *i32; + switch (image->bits_per_pixel) { + case 8: + i8 = (CARD8 *)row; + return i8[x]; + break; + case 15: + case 16: + i16 = (CARD16 *)row; + return i16[x]; + break; + case 24: /* WARNING: architecture specific code */ + i8 = (CARD8 *)row; + return (((CARD32)i8[x*3]) | + (((CARD32)i8[x*3+1])<<8) | + (((CARD32)i8[x*3+2])<<16)); + break; + case 32: + i32 = (CARD32 *)row; + return i32[x]; + break; + } + return 0; +} + +#ifndef XMESA_USE_PUTPIXEL_MACRO +void XMesaPutPixel(XMesaImage *image, int x, int y, unsigned long pixel) +{ + CARD8 *row = (CARD8 *)(image->data + y*image->bytes_per_line); + CARD8 *i8; + CARD16 *i16; + CARD32 *i32; + switch (image->bits_per_pixel) { + case 8: + i8 = (CARD8 *)row; + i8[x] = (CARD8)pixel; + break; + case 15: + case 16: + i16 = (CARD16 *)row; + i16[x] = (CARD16)pixel; + break; + case 24: /* WARNING: architecture specific code */ + i8 = (CARD8 *)__row; + i8[x*3] = (CARD8)(p); + i8[x*3+1] = (CARD8)(p>>8); + i8[x*3+2] = (CARD8)(p>>16); + case 32: + i32 = (CARD32 *)row; + i32[x] = (CARD32)pixel; + break; + } +} +#endif + +void XMesaPutImageHelper(ScreenPtr display, + DrawablePtr d, GCPtr gc, + XMesaImage *image, + int src_x, int src_y, + int dest_x, int dest_y, + unsigned int width, unsigned int height) +{ + /* NOT_DONE: Verify that the following works for all depths */ + char *src = (image->data + + src_y * image->bytes_per_line + + ((src_x * image->bits_per_pixel) >> 3)); + + ValidateGC(d, gc); + (*gc->ops->PutImage)(d, gc, d->depth, dest_x, dest_y, width, height, + 0, ZPixmap, src); +} diff --git a/nx-X11/programs/Xserver/GL/mesa/X/xf86glx_util.h b/nx-X11/programs/Xserver/GL/mesa/X/xf86glx_util.h new file mode 100644 index 000000000..bb314128d --- /dev/null +++ b/nx-X11/programs/Xserver/GL/mesa/X/xf86glx_util.h @@ -0,0 +1,105 @@ +/************************************************************************** + +Copyright 1998-1999 Precision Insight, 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 PRECISION INSIGHT 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. + +**************************************************************************/ + +/* + * Authors: + * Kevin E. Martin <kevin@precisioninsight.com> + * Brian Paul <brian@precisioninsight.com> + */ + +#ifdef HAVE_DIX_CONFIG_H +#include <dix-config.h> +#endif + +#ifndef _XF86GLX_UTIL_H_ +#define _XF86GLX_UTIL_H_ + +#ifdef __CYGWIN__ +#undef WIN32 +#undef _WIN32 +#endif + +#include <screenint.h> +#include <pixmap.h> +#include <gc.h> +#include "GL/xmesa.h" + +#define XMESA_USE_PUTPIXEL_MACRO + +struct _XMesaImageRec { + int width, height; + char *data; + int bytes_per_line; /* Padded to 32 bits */ + int bits_per_pixel; +}; + +extern XMesaImage *XMesaCreateImage(int bitsPerPixel, int width, int height, + char *data); +extern void XMesaDestroyImage(XMesaImage *image); +extern unsigned long XMesaGetPixel(XMesaImage *image, int x, int y); +#ifdef XMESA_USE_PUTPIXEL_MACRO +#define XMesaPutPixel(__i,__x,__y,__p) \ +{ \ + CARD8 *__row = (CARD8 *)(__i->data + __y*__i->bytes_per_line); \ + CARD8 *__i8; \ + CARD16 *__i16; \ + CARD32 *__i32; \ + switch (__i->bits_per_pixel) { \ + case 8: \ + __i8 = (CARD8 *)__row; \ + __i8[__x] = (CARD8)__p; \ + break; \ + case 15: \ + case 16: \ + __i16 = (CARD16 *)__row; \ + __i16[__x] = (CARD16)__p; \ + break; \ + case 24: /* WARNING: architecture specific code */ \ + __i8 = (CARD8 *)__row; \ + __i8[__x*3] = (CARD8)(__p); \ + __i8[__x*3+1] = (CARD8)(__p>>8); \ + __i8[__x*3+2] = (CARD8)(__p>>16); \ + break; \ + case 32: \ + __i32 = (CARD32 *)__row; \ + __i32[__x] = (CARD32)__p; \ + break; \ + } \ +} +#else +extern void XMesaPutPixel(XMesaImage *image, int x, int y, + unsigned long pixel); +#endif + +extern void XMesaPutImageHelper(ScreenPtr display, + DrawablePtr d, GCPtr gc, + XMesaImage *image, + int src_x, int src_y, + int dest_x, int dest_y, + unsigned int width, unsigned int height); + +#endif /* _XF86GLX_UTIL_H_ */ diff --git a/nx-X11/programs/Xserver/GL/mesa/X/xf86glxint.h b/nx-X11/programs/Xserver/GL/mesa/X/xf86glxint.h new file mode 100644 index 000000000..4784566a4 --- /dev/null +++ b/nx-X11/programs/Xserver/GL/mesa/X/xf86glxint.h @@ -0,0 +1,101 @@ +/************************************************************************** + +Copyright 1998-1999 Precision Insight, 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 PRECISION INSIGHT 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. + +**************************************************************************/ + +/* + * Authors: + * Kevin E. Martin <kevin@precisioninsight.com> + * + */ + +#ifdef HAVE_DIX_CONFIG_H +#include <dix-config.h> +#endif + +#ifndef _XF86GLXINT_H_ +#define _XF86GLXINT_H_ + +#include <miscstruct.h> +#include <GL/gl.h> +#include <GL/xmesa.h> + +typedef struct __MESA_screenRec __MESA_screen; +struct __MESA_screenRec { + int num_vis; + __GLcontextModes *modes; + XMesaVisual *xm_vis; + void **private; +}; + +typedef struct __MESA_bufferRec *__MESA_buffer; +struct __MESA_bufferRec { + XMesaBuffer xm_buf; + GLboolean (*fbresize)(__GLdrawableBuffer *buf, + GLint x, GLint y, GLuint width, GLuint height, + __GLdrawablePrivate *glPriv, GLuint bufferMask); + GLboolean (*fbswap)(__GLXdrawablePrivate *glxPriv); +}; + +extern void __MESA_setVisualConfigs(int nconfigs, __GLXvisualConfig *configs, + void **privates); +extern Bool __MESA_initVisuals(VisualPtr *visualp, DepthPtr *depthp, + int *nvisualp, int *ndepthp, int *rootDepthp, + VisualID *defaultVisp, unsigned long sizes, + int bitsPerRGB); +extern Bool __MESA_screenProbe(int screen); + +extern void __MESA_resetExtension(void); + +extern void __MESA_createBuffer(__GLXdrawablePrivate *glxPriv); +extern GLboolean __MESA_resizeBuffers(__GLdrawableBuffer *buf, + GLint x, GLint y, + GLuint width, GLuint height, + __GLdrawablePrivate *glPriv, + GLuint bufferMask); +extern GLboolean __MESA_swapBuffers(__GLXdrawablePrivate *glxPriv); +extern void __MESA_destroyBuffer(__GLdrawablePrivate *glPriv); + +extern __GLinterface *__MESA_createContext(__GLimports *imports, + __GLcontextModes *modes, + __GLinterface *shareGC); +extern GLboolean __MESA_destroyContext(__GLcontext *gc); +extern GLboolean __MESA_loseCurrent(__GLcontext *gc); +extern GLboolean __MESA_makeCurrent(__GLcontext *gc); +extern GLboolean __MESA_shareContext(__GLcontext *gc, __GLcontext *gcShare); +extern GLboolean __MESA_copyContext(__GLcontext *dst, const __GLcontext *src, + GLuint mask); +extern GLboolean __MESA_forceCurrent(__GLcontext *gc); + +extern GLboolean __MESA_notifyResize(__GLcontext *gc); +extern void __MESA_notifyDestroy(__GLcontext *gc); +extern void __MESA_notifySwapBuffers(__GLcontext *gc); +extern struct __GLdispatchStateRec *__MESA_dispatchExec(__GLcontext *gc); +extern void __MESA_beginDispatchOverride(__GLcontext *gc); +extern void __MESA_endDispatchOverride(__GLcontext *gc); + +extern GLuint __glFloorLog2(GLuint val); + +#endif /* _XF86GLXINT_H_ */ diff --git a/nx-X11/programs/Xserver/GL/mesa/array_cache/Imakefile b/nx-X11/programs/Xserver/GL/mesa/array_cache/Imakefile new file mode 100644 index 000000000..474710747 --- /dev/null +++ b/nx-X11/programs/Xserver/GL/mesa/array_cache/Imakefile @@ -0,0 +1,36 @@ +#include <Server.tmpl> + +#define NeedAllMesaSrc +#define NeedToLinkMesaSrc +#define MesaACBuildDir /**/ +#include "Imakefile.inc" + + SRCS = $(MESA_AC_SRCS) + OBJS = $(MESA_AC_OBJS) + + INCLUDES = -I$(MESASRCDIR)/src/mesa \ + -I$(MESASRCDIR)/src/mesa/array_cache \ + -I$(MESASRCDIR)/src/mesa/math \ + -I$(MESASRCDIR)/src/mesa/main \ + -I$(MESASRCDIR)/src/mesa/glapi \ + -I$(MESASRCDIR)/include \ + -I$(SERVERSRC)/include -I$(XINCLUDESRC) \ + -I$(SERVERSRC)/GL/include -I$(SERVERSRC)/GL/glx \ + -I$(LIBSRC)/GL/include \ + -I$(XF86SRC) -I$(INCLUDESRC) + + DEFINES = $(GLX_DEFINES) /*-DUSE_X86_ASM*/ /*-DUSE_SPARC_ASM*/ + +NormalLibraryObjectRule() + +SubdirLibraryRule($(OBJS)) + +NormalLintTarget($(SRCS)) + +DependTarget() + +#ifdef IHaveSubdirs +MakeSubdirs($(SUBDIRS)) +DependSubdirs($(SUBDIRS)) +#endif + diff --git a/nx-X11/programs/Xserver/GL/mesa/array_cache/Imakefile.inc b/nx-X11/programs/Xserver/GL/mesa/array_cache/Imakefile.inc new file mode 100644 index 000000000..39f6e2400 --- /dev/null +++ b/nx-X11/programs/Xserver/GL/mesa/array_cache/Imakefile.inc @@ -0,0 +1,28 @@ +MESAACBUILDDIR = MesaACBuildDir + + MESA_AC_SRCS = $(MESAACBUILDDIR)ac_context.c \ + $(MESAACBUILDDIR)ac_import.c + +#ifdef NeedToLinkMesaSrc +LinkSourceFile(acache.h, $(MESASRCDIR)/src/mesa/array_cache) +LinkSourceFile(ac_context.c, $(MESASRCDIR)/src/mesa/array_cache) +LinkSourceFile(ac_context.h, $(MESASRCDIR)/src/mesa/array_cache) +LinkSourceFile(ac_import.c, $(MESASRCDIR)/src/mesa/array_cache) +#endif + + MESA_AC_OBJS = $(MESAACBUILDDIR)ac_context.o \ + $(MESAACBUILDDIR)ac_import.o + +#if defined(DoSharedLib) && DoSharedLib + MESA_AC_UOBJS = $(MESAACBUILDDIR)unshared/ac_context.o \ + $(MESAACBUILDDIR)unshared/ac_import.o +#else + MESA_AC_UOBJS = $(MESA_AC_OBJS) +#endif + + MESA_AC_DOBJS = $(MESAACBUILDDIR)debugger/ac_context.o \ + $(MESAACBUILDDIR)debugger/ac_import.o + + MESA_AC_POBJS = $(MESAACBUILDDIR)profiled/ac_context.o \ + $(MESAACBUILDDIR)profiled/ac_import.o + diff --git a/nx-X11/programs/Xserver/GL/mesa/main/Imakefile b/nx-X11/programs/Xserver/GL/mesa/main/Imakefile new file mode 100644 index 000000000..d6e914b89 --- /dev/null +++ b/nx-X11/programs/Xserver/GL/mesa/main/Imakefile @@ -0,0 +1,40 @@ +/* Large PIC tables needed for Solaris/SPARC builds */ +#if defined(SunArchitecture) && defined(SparcArchitecture) && defined(LargePositionIndependentCFlags) + PICFLAGS = LargePositionIndependentCFlags +#endif + +#include <Server.tmpl> + +#define NeedAllMesaSrc +#define NeedToLinkMesaSrc +#define MesaBuildDir /**/ +#include "Imakefile.inc" + + SRCS = $(COREMESABASESRCS) + OBJS = $(COREMESABASEOBJS) + + INCLUDES = -I$(MESASRCDIR)/src/mesa \ + -I$(MESASRCDIR)/src/mesa/main \ + -I$(MESASRCDIR)/src/mesa/shader \ + -I$(MESASRCDIR)/src/mesa/glapi \ + -I$(MESASRCDIR)/include \ + -I$(SERVERSRC)/include -I$(XINCLUDESRC) \ + -I$(SERVERSRC)/GL/include -I$(SERVERSRC)/GL/glx \ + -I$(LIBSRC)/GL/include \ + -I$(XF86SRC) -I$(INCLUDESRC) + + DEFINES = $(GLX_DEFINES) -DNXAGENT_SERVER /*-DUSE_X86_ASM*/ /*-DUSE_SPARC_ASM*/ + +NormalLibraryObjectRule() + +SubdirLibraryRule($(OBJS)) + +NormalLintTarget($(SRCS)) + +DependTarget() + +#ifdef IHaveSubdirs +MakeSubdirs($(SUBDIRS)) +DependSubdirs($(SUBDIRS)) +#endif + diff --git a/nx-X11/programs/Xserver/GL/mesa/main/Imakefile.inc b/nx-X11/programs/Xserver/GL/mesa/main/Imakefile.inc new file mode 100644 index 000000000..3e98f9149 --- /dev/null +++ b/nx-X11/programs/Xserver/GL/mesa/main/Imakefile.inc @@ -0,0 +1,481 @@ +/* gcc on ppc64 defines this, causes macro recursion with pixel below */ +#undef pixel + +MESABUILDDIR = MesaBuildDir + +#ifdef NeedAllMesaSrc + DISPATCHSRCS = $(MESABUILDDIR)dispatch.c + GLAPISRCS = $(MESABUILDDIR)glapi.c + GLTHREADSRCS = $(MESABUILDDIR)glthread.c +#endif + +MESA_CORE_INCLUDES = -I$(MESASRCDIR)/src/array_cache \ + -I$(MESASRCDIR)/src/math -I$(MESASRCDIR)/src/shader \ + -I$(MESASRCDIR)/src/swrast -I$(MESASRCDIR)/src/swrast_setup \ + -I$(MESASRCDIR)/src/tnl -I$(MESASRCDIR)/src/tnl_dd + +COREMESABASESRCS = \ + $(MESABUILDDIR)api_arrayelt.c \ + $(MESABUILDDIR)api_loopback.c \ + $(MESABUILDDIR)api_noop.c \ + $(MESABUILDDIR)api_validate.c \ + $(MESABUILDDIR)accum.c \ + $(MESABUILDDIR)attrib.c \ + $(MESABUILDDIR)blend.c \ + $(MESABUILDDIR)bufferobj.c \ + $(MESABUILDDIR)buffers.c \ + $(MESABUILDDIR)clip.c \ + $(MESABUILDDIR)colortab.c \ + $(MESABUILDDIR)context.c \ + $(MESABUILDDIR)convolve.c \ + $(MESABUILDDIR)debug.c \ + $(MESABUILDDIR)depth.c \ + $(MESABUILDDIR)dlist.c \ + $(MESABUILDDIR)drawpix.c \ + $(MESABUILDDIR)enable.c \ + $(MESABUILDDIR)enums.c \ + $(MESABUILDDIR)eval.c \ + $(MESABUILDDIR)execmem.c \ + $(MESABUILDDIR)extensions.c \ + $(MESABUILDDIR)feedback.c \ + $(MESABUILDDIR)fbobject.c \ + $(MESABUILDDIR)fog.c \ + $(MESABUILDDIR)framebuffer.c \ + $(MESABUILDDIR)get.c \ + $(MESABUILDDIR)getstring.c \ + $(MESABUILDDIR)hash.c \ + $(MESABUILDDIR)hint.c \ + $(MESABUILDDIR)histogram.c \ + $(MESABUILDDIR)image.c \ + $(MESABUILDDIR)imports.c \ + $(MESABUILDDIR)light.c \ + $(MESABUILDDIR)lines.c \ + $(MESABUILDDIR)matrix.c \ + $(MESABUILDDIR)mm.c \ + $(MESABUILDDIR)occlude.c \ + $(MESABUILDDIR)pixel.c \ + $(MESABUILDDIR)points.c \ + $(MESABUILDDIR)polygon.c \ + $(MESABUILDDIR)rastpos.c \ + $(MESABUILDDIR)renderbuffer.c \ + $(MESABUILDDIR)state.c \ + $(MESABUILDDIR)stencil.c \ + $(MESABUILDDIR)texcompress.c \ + $(MESABUILDDIR)texcompress_fxt1.c \ + $(MESABUILDDIR)texcompress_s3tc.c \ + $(MESABUILDDIR)texenvprogram.c \ + $(MESABUILDDIR)texformat.c \ + $(MESABUILDDIR)teximage.c \ + $(MESABUILDDIR)texobj.c \ + $(MESABUILDDIR)texrender.c \ + $(MESABUILDDIR)texstate.c \ + $(MESABUILDDIR)texstore.c \ + $(MESABUILDDIR)varray.c \ + $(MESABUILDDIR)vtxfmt.c + +#ifdef NeedToLinkMesaSrc +LinkSourceFile(api_arrayelt.c, $(MESASRCDIR)/src/mesa/main) +LinkSourceFile(api_arrayelt.h, $(MESASRCDIR)/src/mesa/main) +LinkSourceFile(api_eval.h, $(MESASRCDIR)/src/mesa/main) +LinkSourceFile(api_loopback.c, $(MESASRCDIR)/src/mesa/main) +LinkSourceFile(api_loopback.h, $(MESASRCDIR)/src/mesa/main) +LinkSourceFile(api_noop.c, $(MESASRCDIR)/src/mesa/main) +LinkSourceFile(api_noop.h, $(MESASRCDIR)/src/mesa/main) +LinkSourceFile(api_validate.c, $(MESASRCDIR)/src/mesa/main) +LinkSourceFile(api_validate.h, $(MESASRCDIR)/src/mesa/main) +LinkSourceFile(accum.c, $(MESASRCDIR)/src/mesa/main) +LinkSourceFile(accum.h, $(MESASRCDIR)/src/mesa/main) +LinkSourceFile(attrib.c, $(MESASRCDIR)/src/mesa/main) +LinkSourceFile(attrib.h, $(MESASRCDIR)/src/mesa/main) +LinkSourceFile(blend.c, $(MESASRCDIR)/src/mesa/main) +LinkSourceFile(blend.h, $(MESASRCDIR)/src/mesa/main) +LinkSourceFile(bufferobj.c, $(MESASRCDIR)/src/mesa/main) +LinkSourceFile(bufferobj.h, $(MESASRCDIR)/src/mesa/main) +LinkSourceFile(buffers.c, $(MESASRCDIR)/src/mesa/main) +LinkSourceFile(buffers.h, $(MESASRCDIR)/src/mesa/main) +LinkSourceFile(clip.c, $(MESASRCDIR)/src/mesa/main) +LinkSourceFile(clip.h, $(MESASRCDIR)/src/mesa/main) +LinkSourceFile(colormac.h, $(MESASRCDIR)/src/mesa/main) +LinkSourceFile(colortab.c, $(MESASRCDIR)/src/mesa/main) +LinkSourceFile(colortab.h, $(MESASRCDIR)/src/mesa/main) +LinkSourceFile(config.h, $(MESASRCDIR)/src/mesa/main) +LinkSourceFile(context.c, $(MESASRCDIR)/src/mesa/main) +LinkSourceFile(context.h, $(MESASRCDIR)/src/mesa/main) +LinkSourceFile(convolve.c, $(MESASRCDIR)/src/mesa/main) +LinkSourceFile(convolve.h, $(MESASRCDIR)/src/mesa/main) +LinkSourceFile(dd.h, $(MESASRCDIR)/src/mesa/main) +LinkSourceFile(debug.c, $(MESASRCDIR)/src/mesa/main) +LinkSourceFile(debug.h, $(MESASRCDIR)/src/mesa/main) +LinkSourceFile(depth.c, $(MESASRCDIR)/src/mesa/main) +LinkSourceFile(depth.h, $(MESASRCDIR)/src/mesa/main) +#ifdef NeedAllMesaSrc +LinkSourceFile(dispatch.c, $(MESASRCDIR)/src/mesa/main) +#endif +LinkSourceFile(dlist.c, $(MESASRCDIR)/src/mesa/main) +LinkSourceFile(dlist.h, $(MESASRCDIR)/src/mesa/main) +LinkSourceFile(drawpix.c, $(MESASRCDIR)/src/mesa/main) +LinkSourceFile(drawpix.h, $(MESASRCDIR)/src/mesa/main) +LinkSourceFile(enable.c, $(MESASRCDIR)/src/mesa/main) +LinkSourceFile(enable.h, $(MESASRCDIR)/src/mesa/main) +LinkSourceFile(enums.c, $(MESASRCDIR)/src/mesa/main) +LinkSourceFile(enums.h, $(MESASRCDIR)/src/mesa/main) +LinkSourceFile(eval.c, $(MESASRCDIR)/src/mesa/main) +LinkSourceFile(eval.h, $(MESASRCDIR)/src/mesa/main) +LinkSourceFile(execmem.c, $(MESASRCDIR)/src/mesa/main) +LinkSourceFile(extensions.c, $(MESASRCDIR)/src/mesa/main) +LinkSourceFile(extensions.h, $(MESASRCDIR)/src/mesa/main) +LinkSourceFile(fbobject.c, $(MESASRCDIR)/src/mesa/main) +LinkSourceFile(fbobject.h, $(MESASRCDIR)/src/mesa/main) +LinkSourceFile(feedback.c, $(MESASRCDIR)/src/mesa/main) +LinkSourceFile(feedback.h, $(MESASRCDIR)/src/mesa/main) +LinkSourceFile(fog.c, $(MESASRCDIR)/src/mesa/main) +LinkSourceFile(fog.h, $(MESASRCDIR)/src/mesa/main) +LinkSourceFile(framebuffer.c, $(MESASRCDIR)/src/mesa/main) +LinkSourceFile(framebuffer.h, $(MESASRCDIR)/src/mesa/main) +LinkSourceFile(get.c, $(MESASRCDIR)/src/mesa/main) +LinkSourceFile(get.h, $(MESASRCDIR)/src/mesa/main) +LinkSourceFile(getstring.c, $(MESASRCDIR)/src/mesa/main) +#ifdef NeedAllMesaSrc +LinkSourceFile(glapi.c, $(MESASRCDIR)/src/mesa/glapi) +LinkSourceFile(glthread.c, $(MESASRCDIR)/src/mesa/glapi) +#endif +LinkSourceFile(glheader.h, $(MESASRCDIR)/src/mesa/main) +LinkSourceFile(hash.c, $(MESASRCDIR)/src/mesa/main) +LinkSourceFile(hash.h, $(MESASRCDIR)/src/mesa/main) +LinkSourceFile(hint.c, $(MESASRCDIR)/src/mesa/main) +LinkSourceFile(hint.h, $(MESASRCDIR)/src/mesa/main) +LinkSourceFile(histogram.c, $(MESASRCDIR)/src/mesa/main) +LinkSourceFile(histogram.h, $(MESASRCDIR)/src/mesa/main) +LinkSourceFile(image.c, $(MESASRCDIR)/src/mesa/main) +LinkSourceFile(image.h, $(MESASRCDIR)/src/mesa/main) +LinkSourceFile(imports.c, $(MESASRCDIR)/src/mesa/main) +LinkSourceFile(imports.h, $(MESASRCDIR)/src/mesa/main) +LinkSourceFile(light.c, $(MESASRCDIR)/src/mesa/main) +LinkSourceFile(light.h, $(MESASRCDIR)/src/mesa/main) +LinkSourceFile(lines.c, $(MESASRCDIR)/src/mesa/main) +LinkSourceFile(lines.h, $(MESASRCDIR)/src/mesa/main) +LinkSourceFile(macros.h, $(MESASRCDIR)/src/mesa/main) +LinkSourceFile(matrix.c, $(MESASRCDIR)/src/mesa/main) +LinkSourceFile(matrix.h, $(MESASRCDIR)/src/mesa/main) +LinkSourceFile(mm.c, $(MESASRCDIR)/src/mesa/main) +LinkSourceFile(mm.h, $(MESASRCDIR)/src/mesa/main) +LinkSourceFile(mtypes.h, $(MESASRCDIR)/src/mesa/main) +LinkSourceFile(occlude.c, $(MESASRCDIR)/src/mesa/main) +LinkSourceFile(occlude.h, $(MESASRCDIR)/src/mesa/main) +LinkSourceFile(pixel.c, $(MESASRCDIR)/src/mesa/main) +LinkSourceFile(pixel.h, $(MESASRCDIR)/src/mesa/main) +LinkSourceFile(points.c, $(MESASRCDIR)/src/mesa/main) +LinkSourceFile(points.h, $(MESASRCDIR)/src/mesa/main) +LinkSourceFile(polygon.c, $(MESASRCDIR)/src/mesa/main) +LinkSourceFile(polygon.h, $(MESASRCDIR)/src/mesa/main) +LinkSourceFile(rastpos.c, $(MESASRCDIR)/src/mesa/main) +LinkSourceFile(rastpos.h, $(MESASRCDIR)/src/mesa/main) +LinkSourceFile(renderbuffer.c, $(MESASRCDIR)/src/mesa/main) +LinkSourceFile(renderbuffer.h, $(MESASRCDIR)/src/mesa/main) +LinkSourceFile(simple_list.h, $(MESASRCDIR)/src/mesa/main) +LinkSourceFile(state.c, $(MESASRCDIR)/src/mesa/main) +LinkSourceFile(state.h, $(MESASRCDIR)/src/mesa/main) +LinkSourceFile(stencil.c, $(MESASRCDIR)/src/mesa/main) +LinkSourceFile(stencil.h, $(MESASRCDIR)/src/mesa/main) +LinkSourceFile(texcompress.c, $(MESASRCDIR)/src/mesa/main) +LinkSourceFile(texcompress_fxt1.c, $(MESASRCDIR)/src/mesa/main) +LinkSourceFile(texcompress_s3tc.c, $(MESASRCDIR)/src/mesa/main) +LinkSourceFile(texcompress.h, $(MESASRCDIR)/src/mesa/main) +LinkSourceFile(texenvprogram.c, $(MESASRCDIR)/src/mesa/main) +LinkSourceFile(texenvprogram.h, $(MESASRCDIR)/src/mesa/main) +LinkSourceFile(texformat.c, $(MESASRCDIR)/src/mesa/main) +LinkSourceFile(texformat.h, $(MESASRCDIR)/src/mesa/main) +LinkSourceFile(texformat_tmp.h, $(MESASRCDIR)/src/mesa/main) +LinkSourceFile(teximage.c, $(MESASRCDIR)/src/mesa/main) +LinkSourceFile(teximage.h, $(MESASRCDIR)/src/mesa/main) +LinkSourceFile(texobj.c, $(MESASRCDIR)/src/mesa/main) +LinkSourceFile(texobj.h, $(MESASRCDIR)/src/mesa/main) +LinkSourceFile(texrender.c, $(MESASRCDIR)/src/mesa/main) +LinkSourceFile(texrender.h, $(MESASRCDIR)/src/mesa/main) +LinkSourceFile(texstate.c, $(MESASRCDIR)/src/mesa/main) +LinkSourceFile(texstate.h, $(MESASRCDIR)/src/mesa/main) +LinkSourceFile(texstore.c, $(MESASRCDIR)/src/mesa/main) +LinkSourceFile(texstore.h, $(MESASRCDIR)/src/mesa/main) +LinkSourceFile(varray.c, $(MESASRCDIR)/src/mesa/main) +LinkSourceFile(varray.h, $(MESASRCDIR)/src/mesa/main) +LinkSourceFile(version.h, $(MESASRCDIR)/src/mesa/main) +LinkSourceFile(vtxfmt.c, $(MESASRCDIR)/src/mesa/main) +LinkSourceFile(vtxfmt.h, $(MESASRCDIR)/src/mesa/main) +LinkSourceFile(vtxfmt_tmp.h, $(MESASRCDIR)/src/mesa/main) +#endif + +#ifdef NeedAllMesaSrc + DISPATCHOBJS = $(MESABUILDDIR)dispatch.o + GLAPIOBJS = $(MESABUILDDIR)glapi.o + GLTHREADOBJS = $(MESABUILDDIR)glthread.o +#endif + +COREMESABASEOBJS = \ + $(DISPATCHOBJS) \ + $(GLAPIOBJS) \ + $(GLTHREADOBJS) \ + $(MESABUILDDIR)api_arrayelt.o \ + $(MESABUILDDIR)api_loopback.o \ + $(MESABUILDDIR)api_noop.o \ + $(MESABUILDDIR)api_validate.o \ + $(MESABUILDDIR)accum.o \ + $(MESABUILDDIR)attrib.o \ + $(MESABUILDDIR)blend.o \ + $(MESABUILDDIR)bufferobj.o \ + $(MESABUILDDIR)buffers.o \ + $(MESABUILDDIR)clip.o \ + $(MESABUILDDIR)colortab.o \ + $(MESABUILDDIR)context.o \ + $(MESABUILDDIR)convolve.o \ + $(MESABUILDDIR)debug.o \ + $(MESABUILDDIR)depth.o \ + $(MESABUILDDIR)dlist.o \ + $(MESABUILDDIR)drawpix.o \ + $(MESABUILDDIR)enable.o \ + $(MESABUILDDIR)enums.o \ + $(MESABUILDDIR)eval.o \ + $(MESABUILDDIR)execmem.o \ + $(MESABUILDDIR)extensions.o \ + $(MESABUILDDIR)fbobject.o \ + $(MESABUILDDIR)feedback.o \ + $(MESABUILDDIR)fog.o \ + $(MESABUILDDIR)framebuffer.o \ + $(MESABUILDDIR)get.o \ + $(MESABUILDDIR)getstring.o \ + $(MESABUILDDIR)hash.o \ + $(MESABUILDDIR)hint.o \ + $(MESABUILDDIR)histogram.o \ + $(MESABUILDDIR)image.o \ + $(MESABUILDDIR)imports.o \ + $(MESABUILDDIR)light.o \ + $(MESABUILDDIR)lines.o \ + $(MESABUILDDIR)matrix.o \ + $(MESABUILDDIR)mm.o \ + $(MESABUILDDIR)occlude.o \ + $(MESABUILDDIR)pixel.o \ + $(MESABUILDDIR)points.o \ + $(MESABUILDDIR)polygon.o \ + $(MESABUILDDIR)rastpos.o \ + $(MESABUILDDIR)renderbuffer.o \ + $(MESABUILDDIR)state.o \ + $(MESABUILDDIR)stencil.o \ + $(MESABUILDDIR)texcompress.o \ + $(MESABUILDDIR)texcompress_fxt1.o \ + $(MESABUILDDIR)texcompress_s3tc.o \ + $(MESABUILDDIR)texenvprogram.o \ + $(MESABUILDDIR)texformat.o \ + $(MESABUILDDIR)teximage.o \ + $(MESABUILDDIR)texrender.o \ + $(MESABUILDDIR)texobj.o \ + $(MESABUILDDIR)texstate.o \ + $(MESABUILDDIR)texstore.o \ + $(MESABUILDDIR)varray.o \ + $(MESABUILDDIR)vtxfmt.o + +#ifdef NeedAllMesaSrc + DISPATCHUOBJS = $(MESABUILDDIR)unshared/dispatch.o + GLAPIUOBJS = $(MESABUILDDIR)unshared/glapi.o + GLTHREADUOBJS = $(MESABUILDDIR)unshared/glthread.o +#endif + +#if defined(DoSharedLib) && DoSharedLib +COREMESABASEUOBJS = \ + $(DISPATCHUOBJS) \ + $(GLAPIUOBJS) \ + $(GLTHREADUOBJS) \ + $(MESABUILDDIR)unshared/api_arrayelt.o \ + $(MESABUILDDIR)unshared/api_loopback.o \ + $(MESABUILDDIR)unshared/api_noop.o \ + $(MESABUILDDIR)unshared/api_validate.o \ + $(MESABUILDDIR)unshared/accum.o \ + $(MESABUILDDIR)unshared/attrib.o \ + $(MESABUILDDIR)unshared/blend.o \ + $(MESABUILDDIR)unshared/bufferobj.o \ + $(MESABUILDDIR)unshared/buffers.o \ + $(MESABUILDDIR)unshared/clip.o \ + $(MESABUILDDIR)unshared/colortab.o \ + $(MESABUILDDIR)unshared/context.o \ + $(MESABUILDDIR)unshared/convolve.o \ + $(MESABUILDDIR)unshared/debug.o \ + $(MESABUILDDIR)unshared/depth.o \ + $(MESABUILDDIR)unshared/dlist.o \ + $(MESABUILDDIR)unshared/drawpix.o \ + $(MESABUILDDIR)unshared/enable.o \ + $(MESABUILDDIR)unshared/enums.o \ + $(MESABUILDDIR)unshared/eval.o \ + $(MESABUILDDIR)unshared/execmem.o \ + $(MESABUILDDIR)unshared/extensions.o \ + $(MESABUILDDIR)unshared/fbobject.o \ + $(MESABUILDDIR)unshared/feedback.o \ + $(MESABUILDDIR)unshared/fog.o \ + $(MESABUILDDIR)unshared/framebuffer.o \ + $(MESABUILDDIR)unshared/get.o \ + $(MESABUILDDIR)unshared/getstring.o \ + $(MESABUILDDIR)unshared/hash.o \ + $(MESABUILDDIR)unshared/hint.o \ + $(MESABUILDDIR)unshared/histogram.o \ + $(MESABUILDDIR)unshared/image.o \ + $(MESABUILDDIR)unshared/imports.o \ + $(MESABUILDDIR)unshared/light.o \ + $(MESABUILDDIR)unshared/lines.o \ + $(MESABUILDDIR)unshared/matrix.o \ + $(MESABUILDDIR)unshared/mm.o \ + $(MESABUILDDIR)unshared/occlude.o \ + $(MESABUILDDIR)unshared/pixel.o \ + $(MESABUILDDIR)unshared/points.o \ + $(MESABUILDDIR)unshared/polygon.o \ + $(MESABUILDDIR)unshared/rastpos.o \ + $(MESABUILDDIR)unshared/renderbuffer.o \ + $(MESABUILDDIR)unshared/state.o \ + $(MESABUILDDIR)unshared/stencil.o \ + $(MESABUILDDIR)unshared/texcompress.o \ + $(MESABUILDDIR)unshared/texcompress_fxt1.o \ + $(MESABUILDDIR)unshared/texcompress_s3tc.o \ + $(MESABUILDDIR)unshared/texenvprogram.o \ + $(MESABUILDDIR)unshared/texformat.o \ + $(MESABUILDDIR)unshared/teximage.o \ + $(MESABUILDDIR)unshared/texobj.o \ + $(MESABUILDDIR)unshared/texrender.o \ + $(MESABUILDDIR)unshared/texstate.o \ + $(MESABUILDDIR)unshared/texstore.o \ + $(MESABUILDDIR)unshared/varray.o \ + $(MESABUILDDIR)unshared/vtxfmt.o +#else +COREMESABASEUOBJS = $(COREMESABASEOBJS) +#endif + +#ifdef NeedAllMesaSrc + DISPATCHDOBJS = $(MESABUILDDIR)debugger/dispatch.o + GLAPIDOBJS = $(MESABUILDDIR)debugger/glapi.o + GLTHREADDOBJS = $(MESABUILDDIR)debugger/glthread.o +#endif + +COREMESABASEDOBJS = \ + $(DISPATCHDOBJS) \ + $(GLAPIDOBJS) \ + $(GLTHREADDOBJS) \ + $(MESABUILDDIR)debugger/api_arrayelt.o \ + $(MESABUILDDIR)debugger/api_loopback.o \ + $(MESABUILDDIR)debugger/api_noop.o \ + $(MESABUILDDIR)debugger/api_validate.o \ + $(MESABUILDDIR)debugger/accum.o \ + $(MESABUILDDIR)debugger/attrib.o \ + $(MESABUILDDIR)debugger/blend.o \ + $(MESABUILDDIR)debugger/bufferobj.o \ + $(MESABUILDDIR)debugger/buffers.o \ + $(MESABUILDDIR)debugger/clip.o \ + $(MESABUILDDIR)debugger/colortab.o \ + $(MESABUILDDIR)debugger/context.o \ + $(MESABUILDDIR)debugger/convolve.o \ + $(MESABUILDDIR)debugger/debug.o \ + $(MESABUILDDIR)debugger/depth.o \ + $(MESABUILDDIR)debugger/dlist.o \ + $(MESABUILDDIR)debugger/drawpix.o \ + $(MESABUILDDIR)debugger/enable.o \ + $(MESABUILDDIR)debugger/enums.o \ + $(MESABUILDDIR)debugger/eval.o \ + $(MESABUILDDIR)debugger/execmem.o \ + $(MESABUILDDIR)debugger/extensions.o \ + $(MESABUILDDIR)debugger/fbobject.o \ + $(MESABUILDDIR)debugger/feedback.o \ + $(MESABUILDDIR)debugger/fog.o \ + $(MESABUILDDIR)debugger/framebuffer.o \ + $(MESABUILDDIR)debugger/get.o \ + $(MESABUILDDIR)debugger/getstring.o \ + $(MESABUILDDIR)debugger/hash.o \ + $(MESABUILDDIR)debugger/hint.o \ + $(MESABUILDDIR)debugger/histogram.o \ + $(MESABUILDDIR)debugger/image.o \ + $(MESABUILDDIR)debugger/imports.o \ + $(MESABUILDDIR)debugger/light.o \ + $(MESABUILDDIR)debugger/lines.o \ + $(MESABUILDDIR)debugger/matrix.o \ + $(MESABUILDDIR)debugger/mm.o \ + $(MESABUILDDIR)debugger/occlude.o \ + $(MESABUILDDIR)debugger/pixel.o \ + $(MESABUILDDIR)debugger/points.o \ + $(MESABUILDDIR)debugger/polygon.o \ + $(MESABUILDDIR)debugger/rastpos.o \ + $(MESABUILDDIR)debugger/renderbuffer.o \ + $(MESABUILDDIR)debugger/state.o \ + $(MESABUILDDIR)debugger/stencil.o \ + $(MESABUILDDIR)debugger/texcompress.o \ + $(MESABUILDDIR)debugger/texcompress_fxt1.o \ + $(MESABUILDDIR)debugger/texcompress_s3tc.o \ + $(MESABUILDDIR)debugger/texenvprogram.o \ + $(MESABUILDDIR)debugger/texformat.o \ + $(MESABUILDDIR)debugger/teximage.o \ + $(MESABUILDDIR)debugger/texobj.o \ + $(MESABUILDDIR)debugger/texrender.o \ + $(MESABUILDDIR)debugger/texstate.o \ + $(MESABUILDDIR)debugger/texstore.o \ + $(MESABUILDDIR)debugger/varray.o \ + $(MESABUILDDIR)debugger/vtxfmt.o + +#ifdef NeedAllMesaSrc + DISPATCHPOBJS = $(MESABUILDDIR)profiled/dispatch.o + GLAPIPOBJS = $(MESABUILDDIR)profiled/glapi.o + GLTHREADPOBJS = $(MESABUILDDIR)profiled/glthread.o +#endif + +COREMESABASEPOBJS = \ + $(DISPATCHPOBJS) \ + $(GLAPIPOBJS) \ + $(GLTHREADPOBJS) \ + $(MESABUILDDIR)profiled/api_arrayelt.o \ + $(MESABUILDDIR)profiled/api_loopback.o \ + $(MESABUILDDIR)profiled/api_noop.o \ + $(MESABUILDDIR)profiled/api_validate.o \ + $(MESABUILDDIR)profiled/accum.o \ + $(MESABUILDDIR)profiled/attrib.o \ + $(MESABUILDDIR)profiled/blend.o \ + $(MESABUILDDIR)profiled/bufferobj.o \ + $(MESABUILDDIR)profiled/buffers.o \ + $(MESABUILDDIR)profiled/clip.o \ + $(MESABUILDDIR)profiled/colortab.o \ + $(MESABUILDDIR)profiled/context.o \ + $(MESABUILDDIR)profiled/convolve.o \ + $(MESABUILDDIR)profiled/debug.o \ + $(MESABUILDDIR)profiled/depth.o \ + $(MESABUILDDIR)profiled/dlist.o \ + $(MESABUILDDIR)profiled/drawpix.o \ + $(MESABUILDDIR)profiled/enable.o \ + $(MESABUILDDIR)profiled/enums.o \ + $(MESABUILDDIR)profiled/eval.o \ + $(MESABUILDDIR)profiled/execmem.o \ + $(MESABUILDDIR)profiled/extensions.o \ + $(MESABUILDDIR)profiled/fbobject.o \ + $(MESABUILDDIR)profiled/feedback.o \ + $(MESABUILDDIR)profiled/fog.o \ + $(MESABUILDDIR)profiled/framebuffer.o \ + $(MESABUILDDIR)profiled/get.o \ + $(MESABUILDDIR)profiled/getstring.o \ + $(MESABUILDDIR)profiled/hash.o \ + $(MESABUILDDIR)profiled/hint.o \ + $(MESABUILDDIR)profiled/histogram.o \ + $(MESABUILDDIR)profiled/image.o \ + $(MESABUILDDIR)profiled/imports.o \ + $(MESABUILDDIR)profiled/light.o \ + $(MESABUILDDIR)profiled/lines.o \ + $(MESABUILDDIR)profiled/matrix.o \ + $(MESABUILDDIR)profiled/mm.o \ + $(MESABUILDDIR)profiled/occlude.o \ + $(MESABUILDDIR)profiled/pixel.o \ + $(MESABUILDDIR)profiled/points.o \ + $(MESABUILDDIR)profiled/polygon.o \ + $(MESABUILDDIR)profiled/rastpos.o \ + $(MESABUILDDIR)profiled/renderbuffer.o \ + $(MESABUILDDIR)profiled/state.o \ + $(MESABUILDDIR)profiled/stencil.o \ + $(MESABUILDDIR)profiled/texcompress.o \ + $(MESABUILDDIR)profiled/texcompress_fxt1.o \ + $(MESABUILDDIR)profiled/texcompress_s3tc.o \ + $(MESABUILDDIR)profiled/texenvprogram.o \ + $(MESABUILDDIR)profiled/texformat.o \ + $(MESABUILDDIR)profiled/teximage.o \ + $(MESABUILDDIR)profiled/texobj.o \ + $(MESABUILDDIR)profiled/texrender.o \ + $(MESABUILDDIR)profiled/texstate.o \ + $(MESABUILDDIR)profiled/texstore.o \ + $(MESABUILDDIR)profiled/varray.o \ + $(MESABUILDDIR)profiled/vtxfmt.o diff --git a/nx-X11/programs/Xserver/GL/mesa/math/Imakefile b/nx-X11/programs/Xserver/GL/mesa/math/Imakefile new file mode 100644 index 000000000..6af3a0a0c --- /dev/null +++ b/nx-X11/programs/Xserver/GL/mesa/math/Imakefile @@ -0,0 +1,35 @@ +#include <Server.tmpl> + +#define NeedAllMesaSrc +#define NeedToLinkMesaSrc +#define MesaMathBuildDir /**/ +#include "Imakefile.inc" + + SRCS = $(MESA_MATH_SRCS) + OBJS = $(MESA_MATH_OBJS) + + INCLUDES = -I$(MESASRCDIR)/src/mesa \ + -I$(MESASRCDIR)/src/mesa/math \ + -I$(MESASRCDIR)/src/mesa/main \ + -I$(MESASRCDIR)/src/mesa/glapi \ + -I$(MESASRCDIR)/include \ + -I$(SERVERSRC)/include -I$(XINCLUDESRC) \ + -I$(SERVERSRC)/GL/include -I$(SERVERSRC)/GL/glx \ + -I$(LIBSRC)/GL/include \ + -I$(XF86SRC) -I$(INCLUDESRC) + + DEFINES = $(GLX_DEFINES) /*-DUSE_X86_ASM*/ /*-DUSE_SPARC_ASM*/ + +NormalLibraryObjectRule() + +SubdirLibraryRule($(OBJS)) + +NormalLintTarget($(SRCS)) + +DependTarget() + +#ifdef IHaveSubdirs +MakeSubdirs($(SUBDIRS)) +DependSubdirs($(SUBDIRS)) +#endif + diff --git a/nx-X11/programs/Xserver/GL/mesa/math/Imakefile.inc b/nx-X11/programs/Xserver/GL/mesa/math/Imakefile.inc new file mode 100644 index 000000000..bc9a1f326 --- /dev/null +++ b/nx-X11/programs/Xserver/GL/mesa/math/Imakefile.inc @@ -0,0 +1,76 @@ +MESAMATHBUILDDIR = MesaMathBuildDir + + MESA_MATH_SRCS = $(MESAMATHBUILDDIR)m_debug_clip.c \ + $(MESAMATHBUILDDIR)m_debug_norm.c \ + $(MESAMATHBUILDDIR)m_debug_xform.c \ + $(MESAMATHBUILDDIR)m_eval.c \ + $(MESAMATHBUILDDIR)m_matrix.c \ + $(MESAMATHBUILDDIR)m_translate.c \ + $(MESAMATHBUILDDIR)m_vector.c \ + $(MESAMATHBUILDDIR)m_xform.c + +#ifdef NeedToLinkMesaSrc +LinkSourceFile(mathmod.h, $(MESASRCDIR)/src/mesa/math) +LinkSourceFile(m_clip_tmp.h, $(MESASRCDIR)/src/mesa/math) +LinkSourceFile(m_copy_tmp.h, $(MESASRCDIR)/src/mesa/math) +LinkSourceFile(m_debug_clip.c, $(MESASRCDIR)/src/mesa/math) +LinkSourceFile(m_debug.h, $(MESASRCDIR)/src/mesa/math) +LinkSourceFile(m_debug_util.h, $(MESASRCDIR)/src/mesa/math) +LinkSourceFile(m_debug_norm.c, $(MESASRCDIR)/src/mesa/math) +LinkSourceFile(m_debug_xform.c, $(MESASRCDIR)/src/mesa/math) +LinkSourceFile(m_dotprod_tmp.h, $(MESASRCDIR)/src/mesa/math) +LinkSourceFile(m_eval.c, $(MESASRCDIR)/src/mesa/math) +LinkSourceFile(m_eval.h, $(MESASRCDIR)/src/mesa/math) +LinkSourceFile(m_matrix.c, $(MESASRCDIR)/src/mesa/math) +LinkSourceFile(m_matrix.h, $(MESASRCDIR)/src/mesa/math) +LinkSourceFile(m_norm_tmp.h, $(MESASRCDIR)/src/mesa/math) +LinkSourceFile(m_translate.c, $(MESASRCDIR)/src/mesa/math) +LinkSourceFile(m_translate.h, $(MESASRCDIR)/src/mesa/math) +LinkSourceFile(m_trans_tmp.h, $(MESASRCDIR)/src/mesa/math) +LinkSourceFile(m_vector.c, $(MESASRCDIR)/src/mesa/math) +LinkSourceFile(m_vector.h, $(MESASRCDIR)/src/mesa/math) +LinkSourceFile(m_xform.c, $(MESASRCDIR)/src/mesa/math) +LinkSourceFile(m_xform.h, $(MESASRCDIR)/src/mesa/math) +LinkSourceFile(m_xform_tmp.h, $(MESASRCDIR)/src/mesa/math) +#endif + + MESA_MATH_OBJS = $(MESAMATHBUILDDIR)m_debug_clip.o \ + $(MESAMATHBUILDDIR)m_debug_norm.o \ + $(MESAMATHBUILDDIR)m_debug_xform.o \ + $(MESAMATHBUILDDIR)m_eval.o \ + $(MESAMATHBUILDDIR)m_matrix.o \ + $(MESAMATHBUILDDIR)m_translate.o \ + $(MESAMATHBUILDDIR)m_vector.o \ + $(MESAMATHBUILDDIR)m_xform.o + +#if defined(DoSharedLib) && DoSharedLib + MESA_MATH_UOBJS = $(MESAMATHBUILDDIR)unshared/m_debug_clip.o \ + $(MESAMATHBUILDDIR)unshared/m_debug_norm.o \ + $(MESAMATHBUILDDIR)unshared/m_debug_xform.o \ + $(MESAMATHBUILDDIR)unshared/m_eval.o \ + $(MESAMATHBUILDDIR)unshared/m_matrix.o \ + $(MESAMATHBUILDDIR)unshared/m_translate.o \ + $(MESAMATHBUILDDIR)unshared/m_vector.o \ + $(MESAMATHBUILDDIR)unshared/m_xform.o +#else + MATH_MESA_UOBJS = $(MESA_MATH_OBJS) +#endif + + MESA_MATH_DOBJS = $(MESAMATHBUILDDIR)debugger/m_debug_clip.o \ + $(MESAMATHBUILDDIR)debugger/m_debug_norm.o \ + $(MESAMATHBUILDDIR)debugger/m_debug_xform.o \ + $(MESAMATHBUILDDIR)debugger/m_eval.o \ + $(MESAMATHBUILDDIR)debugger/m_matrix.o \ + $(MESAMATHBUILDDIR)debugger/m_translate.o \ + $(MESAMATHBUILDDIR)debugger/m_vector.o \ + $(MESAMATHBUILDDIR)debugger/m_xform.o + + MESA_MATH_POBJS = $(MESAMATHBUILDDIR)profiled/m_debug_clip.o \ + $(MESAMATHBUILDDIR)profiled/m_debug_norm.o \ + $(MESAMATHBUILDDIR)profiled/m_debug_xform.o \ + $(MESAMATHBUILDDIR)profiled/m_eval.o \ + $(MESAMATHBUILDDIR)profiled/m_matrix.o \ + $(MESAMATHBUILDDIR)profiled/m_translate.o \ + $(MESAMATHBUILDDIR)profiled/m_vector.o \ + $(MESAMATHBUILDDIR)profiled/m_xform.o + diff --git a/nx-X11/programs/Xserver/GL/mesa/shader/Imakefile b/nx-X11/programs/Xserver/GL/mesa/shader/Imakefile new file mode 100644 index 000000000..bf3acd4f6 --- /dev/null +++ b/nx-X11/programs/Xserver/GL/mesa/shader/Imakefile @@ -0,0 +1,40 @@ + +#define IHaveSubdirs + SUBDIRS = grammar slang + +#include <Server.tmpl> + +#define NeedAllMesaSrc +#define NeedToLinkMesaSrc +#define MesaShaderBuildDir /**/ +#include "Imakefile.inc" + + SRCS = $(MESA_SHADER_SRCS) + OBJS = $(MESA_SHADER_OBJS) + + INCLUDES = -I$(MESASRCDIR)/src/mesa \ + -I$(MESASRCDIR)/src/mesa/shader \ + -I$(MESASRCDIR)/src/mesa/shader/grammar \ + -I$(MESASRCDIR)/src/mesa/shader/slang \ + -I$(MESASRCDIR)/src/mesa/main \ + -I$(MESASRCDIR)/src/mesa/glapi \ + -I$(MESASRCDIR)/include \ + -I$(SERVERSRC)/include -I$(XINCLUDESRC) \ + -I$(SERVERSRC)/GL/include -I$(SERVERSRC)/GL/glx \ + -I$(LIBSRC)/GL/include \ + -I$(XF86SRC) -I$(INCLUDESRC) + + DEFINES = $(GLX_DEFINES) /*-DUSE_X86_ASM*/ /*-DUSE_SPARC_ASM*/ + +NormalLibraryObjectRule() + +SubdirLibraryRule($(OBJS)) + +NormalLintTarget($(SRCS)) + +DependTarget() + +#ifdef IHaveSubdirs +MakeSubdirs($(SUBDIRS)) +DependSubdirs($(SUBDIRS)) +#endif diff --git a/nx-X11/programs/Xserver/GL/mesa/shader/Imakefile.inc b/nx-X11/programs/Xserver/GL/mesa/shader/Imakefile.inc new file mode 100644 index 000000000..185103996 --- /dev/null +++ b/nx-X11/programs/Xserver/GL/mesa/shader/Imakefile.inc @@ -0,0 +1,100 @@ +MESASHADERBUILDDIR = MesaShaderBuildDir + + MESA_SHADER_SRCS = $(MESASHADERBUILDDIR)arbprogparse.c \ + $(MESASHADERBUILDDIR)arbprogram.c \ + $(MESASHADERBUILDDIR)arbfragparse.c \ + $(MESASHADERBUILDDIR)arbvertparse.c \ + $(MESASHADERBUILDDIR)atifragshader.c \ + $(MESASHADERBUILDDIR)nvprogram.c \ + $(MESASHADERBUILDDIR)nvfragparse.c \ + $(MESASHADERBUILDDIR)nvvertexec.c \ + $(MESASHADERBUILDDIR)nvvertparse.c \ + $(MESASHADERBUILDDIR)program.c \ + $(MESASHADERBUILDDIR)shaderobjects.c \ + $(MESASHADERBUILDDIR)shaderobjects_3dlabs.c + +#ifdef NeedToLinkMesaSrc +LinkSourceFile(arbprogparse.c, $(MESASRCDIR)/src/mesa/shader) +LinkSourceFile(arbprogram.c, $(MESASRCDIR)/src/mesa/shader) +LinkSourceFile(arbfragparse.c, $(MESASRCDIR)/src/mesa/shader) +LinkSourceFile(arbvertparse.c, $(MESASRCDIR)/src/mesa/shader) +LinkSourceFile(arbfragparse.h, $(MESASRCDIR)/src/mesa/shader) +LinkSourceFile(arbprogparse.h, $(MESASRCDIR)/src/mesa/shader) +LinkSourceFile(arbprogram.h, $(MESASRCDIR)/src/mesa/shader) +LinkSourceFile(arbprogram_syn.h, $(MESASRCDIR)/src/mesa/shader) +LinkSourceFile(arbvertparse.h, $(MESASRCDIR)/src/mesa/shader) +LinkSourceFile(atifragshader.c, $(MESASRCDIR)/src/mesa/shader) +LinkSourceFile(atifragshader.h, $(MESASRCDIR)/src/mesa/shader) +LinkSourceFile(nvfragparse.h, $(MESASRCDIR)/src/mesa/shader) +LinkSourceFile(nvfragprog.h, $(MESASRCDIR)/src/mesa/shader) +LinkSourceFile(nvprogram.c, $(MESASRCDIR)/src/mesa/shader) +LinkSourceFile(nvprogram.h, $(MESASRCDIR)/src/mesa/shader) +LinkSourceFile(nvfragparse.c, $(MESASRCDIR)/src/mesa/shader) +LinkSourceFile(nvvertexec.c, $(MESASRCDIR)/src/mesa/shader) +LinkSourceFile(nvvertexec.h, $(MESASRCDIR)/src/mesa/shader) +LinkSourceFile(nvvertparse.c, $(MESASRCDIR)/src/mesa/shader) +LinkSourceFile(nvvertparse.h, $(MESASRCDIR)/src/mesa/shader) +LinkSourceFile(nvvertprog.h, $(MESASRCDIR)/src/mesa/shader) +LinkSourceFile(program.c, $(MESASRCDIR)/src/mesa/shader) +LinkSourceFile(program.h, $(MESASRCDIR)/src/mesa/shader) +LinkSourceFile(shaderobjects.c, $(MESASRCDIR)/src/mesa/shader) +LinkSourceFile(shaderobjects.h, $(MESASRCDIR)/src/mesa/shader) +LinkSourceFile(shaderobjects_3dlabs.c, $(MESASRCDIR)/src/mesa/shader) +LinkSourceFile(shaderobjects_3dlabs.h, $(MESASRCDIR)/src/mesa/shader) +#endif + + MESA_SHADER_OBJS = $(MESASHADERBUILDDIR)arbprogparse.o \ + $(MESASHADERBUILDDIR)arbprogram.o \ + $(MESASHADERBUILDDIR)arbfragparse.o \ + $(MESASHADERBUILDDIR)arbvertparse.o \ + $(MESASHADERBUILDDIR)atifragshader.o \ + $(MESASHADERBUILDDIR)nvprogram.o \ + $(MESASHADERBUILDDIR)nvfragparse.o \ + $(MESASHADERBUILDDIR)nvvertexec.o \ + $(MESASHADERBUILDDIR)nvvertparse.o \ + $(MESASHADERBUILDDIR)program.o \ + $(MESASHADERBUILDDIR)shaderobjects.o \ + $(MESASHADERBUILDDIR)shaderobjects_3dlabs.o + +#if defined(DoSharedLib) && DoSharedLib + MESA_SHADER_UOBJS = $(MESASHADERBUILDDIR)unshared/arbprogparse.o \ + $(MESASHADERBUILDDIR)unshared/arbprogram.o \ + $(MESASHADERBUILDDIR)unshared/arbfragparse.o \ + $(MESASHADERBUILDDIR)unshared/arbvertparse.o \ + $(MESASHADERBUILDDIR)unshared/atifragshader.o \ + $(MESASHADERBUILDDIR)unshared/nvprogram.o \ + $(MESASHADERBUILDDIR)unshared/nvfragparse.o \ + $(MESASHADERBUILDDIR)unshared/nvvertexec.o \ + $(MESASHADERBUILDDIR)unshared/nvvertparse.o \ + $(MESASHADERBUILDDIR)unshared/program.o \ + $(MESASHADERBUILDDIR)unshared/shaderobjects.o \ + $(MESASHADERBUILDDIR)unshared/shaderobjects_3dlabs.o +#else + MESA_SHADER_UOBJS = $(MESA_SHADER_OBJS) +#endif + + MESA_SHADER_DOBJS = $(MESASHADERBUILDDIR)debugger/arbprogparse.o \ + $(MESASHADERBUILDDIR)debugger/arbprogram.o \ + $(MESASHADERBUILDDIR)debugger/arbfragparse.o \ + $(MESASHADERBUILDDIR)debugger/arbvertparse.o \ + $(MESASHADERBUILDDIR)debugger/atifragshader.o \ + $(MESASHADERBUILDDIR)debugger/nvprogram.o \ + $(MESASHADERBUILDDIR)debugger/nvfragparse.o \ + $(MESASHADERBUILDDIR)debugger/nvvertexec.o \ + $(MESASHADERBUILDDIR)debugger/nvvertparse.o \ + $(MESASHADERBUILDDIR)debugger/program.o \ + $(MESASHADERBUILDDIR)debugger/shaderobjects.o \ + $(MESASHADERBUILDDIR)debugger/shaderobjects_3dlabs.o + + MESA_SHADER_POBJS = $(MESASHADERBUILDDIR)profiled/arbprogparse.o \ + $(MESASHADERBUILDDIR)profiled/arbprogram.o \ + $(MESASHADERBUILDDIR)profiled/arbfragparse.o \ + $(MESASHADERBUILDDIR)profiled/arbvertparse.o \ + $(MESASHADERBUILDDIR)profiled/atifragshader.o \ + $(MESASHADERBUILDDIR)profiled/nvprogram.o \ + $(MESASHADERBUILDDIR)profiled/nvfragparse.o \ + $(MESASHADERBUILDDIR)profiled/nvvertexec.o \ + $(MESASHADERBUILDDIR)profiled/nvvertparse.o \ + $(MESASHADERBUILDDIR)profiled/program.o \ + $(MESASHADERBUILDDIR)profiled/shaderobjects.o \ + $(MESASHADERBUILDDIR)profiled/shaderobjects_3dlabs.o diff --git a/nx-X11/programs/Xserver/GL/mesa/shader/grammar/Imakefile b/nx-X11/programs/Xserver/GL/mesa/shader/grammar/Imakefile new file mode 100644 index 000000000..3fe604f2e --- /dev/null +++ b/nx-X11/programs/Xserver/GL/mesa/shader/grammar/Imakefile @@ -0,0 +1,37 @@ + +#include <Server.tmpl> + +#define NeedAllMesaSrc +#define NeedToLinkMesaSrc +#define MesaGrammarBuildDir /**/ +#include "Imakefile.inc" + + SRCS = $(MESA_GRAMMAR_SRCS) + OBJS = $(MESA_GRAMMAR_OBJS) + + INCLUDES = -I$(MESASRCDIR)/src/mesa \ + -I$(MESASRCDIR)/src/mesa/shader \ + -I$(MESASRCDIR)/src/mesa/shader/grammar \ + -I$(MESASRCDIR)/src/mesa/main \ + -I$(MESASRCDIR)/src/mesa/glapi \ + -I$(MESASRCDIR)/include \ + -I$(SERVERSRC)/include -I$(XINCLUDESRC) \ + -I$(SERVERSRC)/GL/include -I$(SERVERSRC)/GL/glx \ + -I$(LIBSRC)/GL/include \ + -I$(XF86SRC) -I$(INCLUDESRC) + + DEFINES = $(GLX_DEFINES) /*-DUSE_X86_ASM*/ /*-DUSE_SPARC_ASM*/ + +NormalLibraryObjectRule() + +SubdirLibraryRule($(OBJS)) + +NormalLintTarget($(SRCS)) + +DependTarget() + +#ifdef IHaveSubdirs +MakeSubdirs($(SUBDIRS)) +DependSubdirs($(SUBDIRS)) +#endif + diff --git a/nx-X11/programs/Xserver/GL/mesa/shader/grammar/Imakefile.inc b/nx-X11/programs/Xserver/GL/mesa/shader/grammar/Imakefile.inc new file mode 100644 index 000000000..4f91af9c1 --- /dev/null +++ b/nx-X11/programs/Xserver/GL/mesa/shader/grammar/Imakefile.inc @@ -0,0 +1,23 @@ +MESAGRAMMARBUILDDIR=MesaGrammarBuildDir + + MESA_GRAMMAR_SRCS = $(MESAGRAMMARBUILDDIR)grammar_mesa.c + +#ifdef NeedToLinkMesaSrc +LinkSourceFile(grammar.c, $(MESASRCDIR)/src/mesa/shader/grammar) +LinkSourceFile(grammar.h, $(MESASRCDIR)/src/mesa/shader/grammar) +LinkSourceFile(grammar_syn.h, $(MESASRCDIR)/src/mesa/shader/grammar) +LinkSourceFile(grammar_mesa.c, $(MESASRCDIR)/src/mesa/shader/grammar) +LinkSourceFile(grammar_mesa.h, $(MESASRCDIR)/src/mesa/shader/grammar) +#endif + + MESA_GRAMMAR_OBJS = $(MESAGRAMMARBUILDDIR)grammar_mesa.o + +#if defined(DoSharedLib) && DoSharedLib + MESA_GRAMMAR_UOBJS = $(MESAGRAMMARBUILDDIR)unshared/grammar_mesa.o +#else + MESA_GRAMMAR_UOBJS = $(MESA_GRAMMAR_OBJS) +#endif + + MESA_GRAMMAR_DOBJS = $(MESAGRAMMARBUILDDIR)debugger/grammar_mesa.o + + MESA_GRAMMAR_POBJS = $(MESAGRAMMARBUILDDIR)profiled/grammar_mesa.o diff --git a/nx-X11/programs/Xserver/GL/mesa/shader/slang/Imakefile b/nx-X11/programs/Xserver/GL/mesa/shader/slang/Imakefile new file mode 100644 index 000000000..d5ec4d6cf --- /dev/null +++ b/nx-X11/programs/Xserver/GL/mesa/shader/slang/Imakefile @@ -0,0 +1,40 @@ + +#define IHaveSubdirs + SUBDIRS = library + +#include <Server.tmpl> + +#define NeedAllMesaSrc +#define NeedToLinkMesaSrc +#define MesaSlangBuildDir /**/ +#include "Imakefile.inc" + + SRCS = $(MESA_SLANG_SRCS) + OBJS = $(MESA_SLANG_OBJS) + + INCLUDES = -I$(MESASRCDIR)/src/mesa \ + -I$(MESASRCDIR)/src/mesa/shader \ + -I$(MESASRCDIR)/src/mesa/shader/grammar \ + -I$(MESASRCDIR)/src/mesa/main \ + -I$(MESASRCDIR)/src/mesa/glapi \ + -I$(MESASRCDIR)/include \ + -I$(SERVERSRC)/include -I$(XINCLUDESRC) \ + -I$(SERVERSRC)/GL/include -I$(SERVERSRC)/GL/glx \ + -I$(LIBSRC)/GL/include \ + -I$(XF86SRC) -I$(INCLUDESRC) + + DEFINES = $(GLX_DEFINES) /*-DUSE_X86_ASM*/ /*-DUSE_SPARC_ASM*/ + +NormalLibraryObjectRule() + +SubdirLibraryRule($(OBJS)) + +NormalLintTarget($(SRCS)) + +DependTarget() + +#ifdef IHaveSubdirs +MakeSubdirs($(SUBDIRS)) +DependSubdirs($(SUBDIRS)) +#endif + diff --git a/nx-X11/programs/Xserver/GL/mesa/shader/slang/Imakefile.inc b/nx-X11/programs/Xserver/GL/mesa/shader/slang/Imakefile.inc new file mode 100644 index 000000000..4ffa7805f --- /dev/null +++ b/nx-X11/programs/Xserver/GL/mesa/shader/slang/Imakefile.inc @@ -0,0 +1,84 @@ +MESASLANGBUILDDIR=MesaSlangBuildDir + + MESA_SLANG_SRCS = $(MESASLANGBUILDDIR)slang_assemble_assignment.c \ + $(MESASLANGBUILDDIR)slang_assemble.c \ + $(MESASLANGBUILDDIR)slang_assemble_conditional.c \ + $(MESASLANGBUILDDIR)slang_assemble_constructor.c \ + $(MESASLANGBUILDDIR)slang_assemble_typeinfo.c \ + $(MESASLANGBUILDDIR)slang_compile.c \ + $(MESASLANGBUILDDIR)slang_execute.c \ + $(MESASLANGBUILDDIR)slang_preprocess.c \ + $(MESASLANGBUILDDIR)slang_storage.c \ + $(MESASLANGBUILDDIR)slang_utility.c + +#ifdef NeedToLinkMesaSrc +LinkSourceFile(slang_assemble_assignment.c, $(MESASRCDIR)/src/mesa/shader/slang) +LinkSourceFile(slang_assemble_assignment.h, $(MESASRCDIR)/src/mesa/shader/slang) +LinkSourceFile(slang_assemble.c, $(MESASRCDIR)/src/mesa/shader/slang) +LinkSourceFile(slang_assemble.h, $(MESASRCDIR)/src/mesa/shader/slang) +LinkSourceFile(slang_assemble_conditional.c, $(MESASRCDIR)/src/mesa/shader/slang) +LinkSourceFile(slang_assemble_conditional.h, $(MESASRCDIR)/src/mesa/shader/slang) +LinkSourceFile(slang_assemble_constructor.c, $(MESASRCDIR)/src/mesa/shader/slang) +LinkSourceFile(slang_assemble_constructor.h, $(MESASRCDIR)/src/mesa/shader/slang) +LinkSourceFile(slang_assemble_typeinfo.c, $(MESASRCDIR)/src/mesa/shader/slang) +LinkSourceFile(slang_assemble_typeinfo.h, $(MESASRCDIR)/src/mesa/shader/slang) +LinkSourceFile(slang_compile.c, $(MESASRCDIR)/src/mesa/shader/slang) +LinkSourceFile(slang_compile.h, $(MESASRCDIR)/src/mesa/shader/slang) +LinkSourceFile(slang_execute.c, $(MESASRCDIR)/src/mesa/shader/slang) +LinkSourceFile(slang_execute.h, $(MESASRCDIR)/src/mesa/shader/slang) +LinkSourceFile(slang_preprocess.c, $(MESASRCDIR)/src/mesa/shader/slang) +LinkSourceFile(slang_preprocess.h, $(MESASRCDIR)/src/mesa/shader/slang) +LinkSourceFile(slang_storage.c, $(MESASRCDIR)/src/mesa/shader/slang) +LinkSourceFile(slang_storage.h, $(MESASRCDIR)/src/mesa/shader/slang) +LinkSourceFile(slang_utility.c, $(MESASRCDIR)/src/mesa/shader/slang) +LinkSourceFile(slang_utility.h, $(MESASRCDIR)/src/mesa/shader/slang) +LinkSourceFile(traverse_wrap.h, $(MESASRCDIR)/src/mesa/shader/slang) +#endif + + MESA_SLANG_OBJS = $(MESASLANGBUILDDIR)slang_assemble_assignment.o \ + $(MESASLANGBUILDDIR)slang_assemble.o \ + $(MESASLANGBUILDDIR)slang_assemble_conditional.o \ + $(MESASLANGBUILDDIR)slang_assemble_constructor.o \ + $(MESASLANGBUILDDIR)slang_assemble_typeinfo.o \ + $(MESASLANGBUILDDIR)slang_compile.o \ + $(MESASLANGBUILDDIR)slang_execute.o \ + $(MESASLANGBUILDDIR)slang_preprocess.o \ + $(MESASLANGBUILDDIR)slang_storage.o \ + $(MESASLANGBUILDDIR)slang_utility.o + +#if defined(DoSharedLib) && DoSharedLib + MESA_SLANG_UOBJS = $(MESASLANGBUILDDIR)unshared/slang_assemble_assignment.o \ + $(MESASLANGBUILDDIR)unshared/slang_assemble.o \ + $(MESASLANGBUILDDIR)unshared/slang_assemble_conditional.o \ + $(MESASLANGBUILDDIR)unshared/slang_assemble_constructor.o \ + $(MESASLANGBUILDDIR)unshared/slang_assemble_typeinfo.o \ + $(MESASLANGBUILDDIR)unshared/slang_compile.o \ + $(MESASLANGBUILDDIR)unshared/slang_execute.o \ + $(MESASLANGBUILDDIR)unshared/slang_preprocess.o \ + $(MESASLANGBUILDDIR)unshared/slang_storage.o \ + $(MESASLANGBUILDDIR)unshared/slang_utility.o +#else + MESA_SLANG_UOBJS = $(MESA_SLANG_OBJS) +#endif + + MESA_SLANG_DOBJS = $(MESASLANGBUILDDIR)debuggerslang_assemble_assignment.o \ + $(MESASLANGBUILDDIR)debuggerslang_assemble.o \ + $(MESASLANGBUILDDIR)debuggerslang_assemble_conditional.o \ + $(MESASLANGBUILDDIR)debuggerslang_assemble_constructor.o \ + $(MESASLANGBUILDDIR)debuggerslang_assemble_typeinfo.o \ + $(MESASLANGBUILDDIR)debuggerslang_compile.o \ + $(MESASLANGBUILDDIR)debuggerslang_execute.o \ + $(MESASLANGBUILDDIR)debuggerslang_preprocess.o \ + $(MESASLANGBUILDDIR)debuggerslang_storage.o \ + $(MESASLANGBUILDDIR)debuggerslang_utility.o + + MESA_SLANG_POBJS = $(MESASLANGBUILDDIR)profiled/slang_assemble_assignment.o \ + $(MESASLANGBUILDDIR)profiled/slang_assemble.o \ + $(MESASLANGBUILDDIR)profiled/slang_assemble_conditional.o \ + $(MESASLANGBUILDDIR)profiled/slang_assemble_constructor.o \ + $(MESASLANGBUILDDIR)profiled/slang_assemble_typeinfo.o \ + $(MESASLANGBUILDDIR)profiled/slang_compile.o \ + $(MESASLANGBUILDDIR)profiled/slang_execute.o \ + $(MESASLANGBUILDDIR)profiled/slang_preprocess.o \ + $(MESASLANGBUILDDIR)profiled/slang_storage.o \ + $(MESASLANGBUILDDIR)profiled/slang_utility.o diff --git a/nx-X11/programs/Xserver/GL/mesa/shader/slang/library/Imakefile b/nx-X11/programs/Xserver/GL/mesa/shader/slang/library/Imakefile new file mode 100644 index 000000000..8c216804d --- /dev/null +++ b/nx-X11/programs/Xserver/GL/mesa/shader/slang/library/Imakefile @@ -0,0 +1,30 @@ + +#include <Server.tmpl> + +#define NeedAllMesaSrc +#define NeedToLinkMesaSrc +#define MesaLibraryBuildDir /**/ +#include "Imakefile.inc" + + INCLUDES = -I$(MESASRCDIR)/src/mesa \ + -I$(MESASRCDIR)/src/mesa/shader \ + -I$(MESASRCDIR)/src/mesa/shader/grammar \ + -I$(MESASRCDIR)/src/mesa/main \ + -I$(MESASRCDIR)/src/mesa/glapi \ + -I$(MESASRCDIR)/include \ + -I$(SERVERSRC)/include -I$(XINCLUDESRC) \ + -I$(SERVERSRC)/GL/include -I$(SERVERSRC)/GL/glx \ + -I$(LIBSRC)/GL/include \ + -I$(XF86SRC) -I$(INCLUDESRC) + + DEFINES = $(GLX_DEFINES) /*-DUSE_X86_ASM*/ /*-DUSE_SPARC_ASM*/ + +NormalLibraryObjectRule() + +DependTarget() + +#ifdef IHaveSubdirs +MakeSubdirs($(SUBDIRS)) +DependSubdirs($(SUBDIRS)) +#endif + diff --git a/nx-X11/programs/Xserver/GL/mesa/shader/slang/library/Imakefile.inc b/nx-X11/programs/Xserver/GL/mesa/shader/slang/library/Imakefile.inc new file mode 100644 index 000000000..06b530063 --- /dev/null +++ b/nx-X11/programs/Xserver/GL/mesa/shader/slang/library/Imakefile.inc @@ -0,0 +1,12 @@ +#ifdef NeedToLinkMesaSrc +LinkSourceFile(slang_common_builtin_gc_bin.h, $(MESASRCDIR)/src/mesa/shader/slang/library) +LinkSourceFile(slang_common_builtin_gc.h, $(MESASRCDIR)/src/mesa/shader/slang/library) +LinkSourceFile(slang_core_gc_bin.h, $(MESASRCDIR)/src/mesa/shader/slang/library) +LinkSourceFile(slang_core_gc.h, $(MESASRCDIR)/src/mesa/shader/slang/library) +LinkSourceFile(slang_fragment_builtin_gc_bin.h, $(MESASRCDIR)/src/mesa/shader/slang/library) +LinkSourceFile(slang_fragment_builtin_gc.h, $(MESASRCDIR)/src/mesa/shader/slang/library) +LinkSourceFile(slang_shader_syn.h, $(MESASRCDIR)/src/mesa/shader/slang/library) +LinkSourceFile(slang_version_syn.h, $(MESASRCDIR)/src/mesa/shader/slang/library) +LinkSourceFile(slang_vertex_builtin_gc_bin.h, $(MESASRCDIR)/src/mesa/shader/slang/library) +LinkSourceFile(slang_vertex_builtin_gc.h, $(MESASRCDIR)/src/mesa/shader/slang/library) +#endif diff --git a/nx-X11/programs/Xserver/GL/mesa/swrast/Imakefile b/nx-X11/programs/Xserver/GL/mesa/swrast/Imakefile new file mode 100644 index 000000000..df47a1caa --- /dev/null +++ b/nx-X11/programs/Xserver/GL/mesa/swrast/Imakefile @@ -0,0 +1,42 @@ +/* Large PIC tables needed for Solaris/SPARC builds */ +#if defined(SunArchitecture) && defined(SparcArchitecture) && defined(LargePositionIndependentCFlags) + PICFLAGS = LargePositionIndependentCFlags +#endif + +#include <Server.tmpl> + +#define NeedAllMesaSrc +#define NeedToLinkMesaSrc +#define MesaSwrastBuildDir /**/ +#include "Imakefile.inc" + + + SRCS = $(MESA_SWRAST_SRCS) + OBJS = $(MESA_SWRAST_OBJS) + + INCLUDES = -I$(MESASRCDIR)/src/mesa \ + -I$(MESASRCDIR)/src/mesa/main \ + -I$(MESASRCDIR)/src/mesa/glapi \ + -I$(MESASRCDIR)/src/mesa/swrast \ + -I$(MESASRCDIR)/src/mesa/swrast_setup \ + -I$(MESASRCDIR)/src/mesa/shader \ + -I$(MESASRCDIR)/include \ + -I$(SERVERSRC)/include -I$(XINCLUDESRC) \ + -I$(SERVERSRC)/GL/include -I$(SERVERSRC)/GL/glx \ + -I$(LIBSRC)/GL/include \ + -I$(XF86SRC) -I$(INCLUDESRC) + + DEFINES = $(GLX_DEFINES) /*-DUSE_X86_ASM*/ /*-DUSE_SPARC_ASM*/ + +NormalLibraryObjectRule() + +SubdirLibraryRule($(OBJS)) + +NormalLintTarget($(SRCS)) + +DependTarget() + +#ifdef IHaveSubdirs +MakeSubdirs($(SUBDIRS)) +DependSubdirs($(SUBDIRS)) +#endif diff --git a/nx-X11/programs/Xserver/GL/mesa/swrast/Imakefile.inc b/nx-X11/programs/Xserver/GL/mesa/swrast/Imakefile.inc new file mode 100644 index 000000000..f573098c1 --- /dev/null +++ b/nx-X11/programs/Xserver/GL/mesa/swrast/Imakefile.inc @@ -0,0 +1,212 @@ +MESASWRASTBUILDDIR = MesaSwrastBuildDir + + MESA_SWRAST_SRCS = $(MESASWRASTBUILDDIR)s_aaline.c \ + $(MESASWRASTBUILDDIR)s_aatriangle.c \ + $(MESASWRASTBUILDDIR)s_accum.c \ + $(MESASWRASTBUILDDIR)s_alpha.c \ + $(MESASWRASTBUILDDIR)s_atifragshader.c \ + $(MESASWRASTBUILDDIR)s_bitmap.c \ + $(MESASWRASTBUILDDIR)s_blend.c \ + $(MESASWRASTBUILDDIR)s_buffers.c \ + $(MESASWRASTBUILDDIR)s_context.c \ + $(MESASWRASTBUILDDIR)s_copypix.c \ + $(MESASWRASTBUILDDIR)s_depth.c \ + $(MESASWRASTBUILDDIR)s_drawpix.c \ + $(MESASWRASTBUILDDIR)s_feedback.c \ + $(MESASWRASTBUILDDIR)s_fog.c \ + $(MESASWRASTBUILDDIR)s_imaging.c \ + $(MESASWRASTBUILDDIR)s_lines.c \ + $(MESASWRASTBUILDDIR)s_logic.c \ + $(MESASWRASTBUILDDIR)s_masking.c \ + $(MESASWRASTBUILDDIR)s_nvfragprog.c \ + $(MESASWRASTBUILDDIR)s_pixeltex.c \ + $(MESASWRASTBUILDDIR)s_points.c \ + $(MESASWRASTBUILDDIR)s_readpix.c \ + $(MESASWRASTBUILDDIR)s_span.c \ + $(MESASWRASTBUILDDIR)s_stencil.c \ + $(MESASWRASTBUILDDIR)s_texstore.c \ + $(MESASWRASTBUILDDIR)s_texture.c \ + $(MESASWRASTBUILDDIR)s_triangle.c \ + $(MESASWRASTBUILDDIR)s_zoom.c + +#ifdef NeedToLinkMesaSrc +LinkSourceFile(s_aaline.c, $(MESASRCDIR)/src/mesa/swrast) +LinkSourceFile(s_aaline.h, $(MESASRCDIR)/src/mesa/swrast) +LinkSourceFile(s_aalinetemp.h, $(MESASRCDIR)/src/mesa/swrast) +LinkSourceFile(s_aatriangle.c, $(MESASRCDIR)/src/mesa/swrast) +LinkSourceFile(s_aatriangle.h, $(MESASRCDIR)/src/mesa/swrast) +LinkSourceFile(s_aatritemp.h, $(MESASRCDIR)/src/mesa/swrast) +LinkSourceFile(s_accum.c, $(MESASRCDIR)/src/mesa/swrast) +LinkSourceFile(s_accum.h, $(MESASRCDIR)/src/mesa/swrast) +LinkSourceFile(s_alpha.c, $(MESASRCDIR)/src/mesa/swrast) +LinkSourceFile(s_alpha.h, $(MESASRCDIR)/src/mesa/swrast) +LinkSourceFile(s_atifragshader.c, $(MESASRCDIR)/src/mesa/swrast) +LinkSourceFile(s_atifragshader.h, $(MESASRCDIR)/src/mesa/swrast) +LinkSourceFile(s_bitmap.c, $(MESASRCDIR)/src/mesa/swrast) +LinkSourceFile(s_blend.c, $(MESASRCDIR)/src/mesa/swrast) +LinkSourceFile(s_blend.h, $(MESASRCDIR)/src/mesa/swrast) +LinkSourceFile(s_buffers.c, $(MESASRCDIR)/src/mesa/swrast) +LinkSourceFile(s_context.c, $(MESASRCDIR)/src/mesa/swrast) +LinkSourceFile(s_context.h, $(MESASRCDIR)/src/mesa/swrast) +LinkSourceFile(s_copypix.c, $(MESASRCDIR)/src/mesa/swrast) +LinkSourceFile(s_depth.c, $(MESASRCDIR)/src/mesa/swrast) +LinkSourceFile(s_depth.h, $(MESASRCDIR)/src/mesa/swrast) +LinkSourceFile(s_drawpix.c, $(MESASRCDIR)/src/mesa/swrast) +LinkSourceFile(s_drawpix.h, $(MESASRCDIR)/src/mesa/swrast) +LinkSourceFile(s_feedback.c, $(MESASRCDIR)/src/mesa/swrast) +LinkSourceFile(s_feedback.h, $(MESASRCDIR)/src/mesa/swrast) +LinkSourceFile(s_fog.c, $(MESASRCDIR)/src/mesa/swrast) +LinkSourceFile(s_fog.h, $(MESASRCDIR)/src/mesa/swrast) +LinkSourceFile(s_imaging.c, $(MESASRCDIR)/src/mesa/swrast) +LinkSourceFile(s_lines.c, $(MESASRCDIR)/src/mesa/swrast) +LinkSourceFile(s_lines.h, $(MESASRCDIR)/src/mesa/swrast) +LinkSourceFile(s_linetemp.h, $(MESASRCDIR)/src/mesa/swrast) +LinkSourceFile(s_logic.c, $(MESASRCDIR)/src/mesa/swrast) +LinkSourceFile(s_logic.h, $(MESASRCDIR)/src/mesa/swrast) +LinkSourceFile(s_masking.c, $(MESASRCDIR)/src/mesa/swrast) +LinkSourceFile(s_masking.h, $(MESASRCDIR)/src/mesa/swrast) +LinkSourceFile(s_nvfragprog.c, $(MESASRCDIR)/src/mesa/swrast) +LinkSourceFile(s_nvfragprog.h, $(MESASRCDIR)/src/mesa/swrast) +LinkSourceFile(s_pixeltex.c, $(MESASRCDIR)/src/mesa/swrast) +LinkSourceFile(s_pixeltex.h, $(MESASRCDIR)/src/mesa/swrast) +LinkSourceFile(s_points.c, $(MESASRCDIR)/src/mesa/swrast) +LinkSourceFile(s_points.h, $(MESASRCDIR)/src/mesa/swrast) +LinkSourceFile(s_pointtemp.h, $(MESASRCDIR)/src/mesa/swrast) +LinkSourceFile(s_readpix.c, $(MESASRCDIR)/src/mesa/swrast) +LinkSourceFile(s_span.c, $(MESASRCDIR)/src/mesa/swrast) +LinkSourceFile(s_span.h, $(MESASRCDIR)/src/mesa/swrast) +LinkSourceFile(s_spantemp.h, $(MESASRCDIR)/src/mesa/swrast) +LinkSourceFile(s_stencil.c, $(MESASRCDIR)/src/mesa/swrast) +LinkSourceFile(s_stencil.h, $(MESASRCDIR)/src/mesa/swrast) +LinkSourceFile(s_texstore.c, $(MESASRCDIR)/src/mesa/swrast) +LinkSourceFile(s_texture.c, $(MESASRCDIR)/src/mesa/swrast) +LinkSourceFile(s_texture.h, $(MESASRCDIR)/src/mesa/swrast) +LinkSourceFile(s_triangle.c, $(MESASRCDIR)/src/mesa/swrast) +LinkSourceFile(s_triangle.h, $(MESASRCDIR)/src/mesa/swrast) +LinkSourceFile(s_trispan.h, $(MESASRCDIR)/src/mesa/swrast) +LinkSourceFile(s_tritemp.h, $(MESASRCDIR)/src/mesa/swrast) +LinkSourceFile(s_zoom.c, $(MESASRCDIR)/src/mesa/swrast) +LinkSourceFile(s_zoom.h, $(MESASRCDIR)/src/mesa/swrast) +LinkSourceFile(swrast.h, $(MESASRCDIR)/src/mesa/swrast) +#endif + + MESA_SWRAST_OBJS = $(MESASWRASTBUILDDIR)s_aaline.o \ + $(MESASWRASTBUILDDIR)s_aatriangle.o \ + $(MESASWRASTBUILDDIR)s_accum.o \ + $(MESASWRASTBUILDDIR)s_alpha.o \ + $(MESASWRASTBUILDDIR)s_atifragshader.o \ + $(MESASWRASTBUILDDIR)s_bitmap.o \ + $(MESASWRASTBUILDDIR)s_blend.o \ + $(MESASWRASTBUILDDIR)s_buffers.o \ + $(MESASWRASTBUILDDIR)s_context.o \ + $(MESASWRASTBUILDDIR)s_copypix.o \ + $(MESASWRASTBUILDDIR)s_depth.o \ + $(MESASWRASTBUILDDIR)s_drawpix.o \ + $(MESASWRASTBUILDDIR)s_feedback.o \ + $(MESASWRASTBUILDDIR)s_fog.o \ + $(MESASWRASTBUILDDIR)s_imaging.o \ + $(MESASWRASTBUILDDIR)s_lines.o \ + $(MESASWRASTBUILDDIR)s_logic.o \ + $(MESASWRASTBUILDDIR)s_masking.o \ + $(MESASWRASTBUILDDIR)s_nvfragprog.o \ + $(MESASWRASTBUILDDIR)s_pixeltex.o \ + $(MESASWRASTBUILDDIR)s_points.o \ + $(MESASWRASTBUILDDIR)s_readpix.o \ + $(MESASWRASTBUILDDIR)s_span.o \ + $(MESASWRASTBUILDDIR)s_stencil.o \ + $(MESASWRASTBUILDDIR)s_texstore.o \ + $(MESASWRASTBUILDDIR)s_texture.o \ + $(MESASWRASTBUILDDIR)s_triangle.o \ + $(MESASWRASTBUILDDIR)s_zoom.o + +#if defined(DoSharedLib) && DoSharedLib + MESA_SWRAST_UOBJS = $(MESASWRASTBUILDDIR)unshared/s_aaline.o \ + $(MESASWRASTBUILDDIR)unshared/s_aatriangle.o \ + $(MESASWRASTBUILDDIR)unshared/s_accum.o \ + $(MESASWRASTBUILDDIR)unshared/s_alpha.o \ + $(MESASWRASTBUILDDIR)unshared/s_atifragshader.o \ + $(MESASWRASTBUILDDIR)unshared/s_bitmap.o \ + $(MESASWRASTBUILDDIR)unshared/s_blend.o \ + $(MESASWRASTBUILDDIR)unshared/s_buffers.o \ + $(MESASWRASTBUILDDIR)unshared/s_context.o \ + $(MESASWRASTBUILDDIR)unshared/s_copypix.o \ + $(MESASWRASTBUILDDIR)unshared/s_depth.o \ + $(MESASWRASTBUILDDIR)unshared/s_drawpix.o \ + $(MESASWRASTBUILDDIR)unshared/s_feedback.o \ + $(MESASWRASTBUILDDIR)unshared/s_fog.o \ + $(MESASWRASTBUILDDIR)unshared/s_imaging.o \ + $(MESASWRASTBUILDDIR)unshared/s_lines.o \ + $(MESASWRASTBUILDDIR)unshared/s_logic.o \ + $(MESASWRASTBUILDDIR)unshared/s_masking.o \ + $(MESASWRASTBUILDDIR)unshared/s_nvfragprog.o \ + $(MESASWRASTBUILDDIR)unshared/s_pixeltex.o \ + $(MESASWRASTBUILDDIR)unshared/s_points.o \ + $(MESASWRASTBUILDDIR)unshared/s_readpix.o \ + $(MESASWRASTBUILDDIR)unshared/s_span.o \ + $(MESASWRASTBUILDDIR)unshared/s_stencil.o \ + $(MESASWRASTBUILDDIR)unshared/s_texstore.o \ + $(MESASWRASTBUILDDIR)unshared/s_texture.o \ + $(MESASWRASTBUILDDIR)unshared/s_triangle.o \ + $(MESASWRASTBUILDDIR)unshared/s_zoom.o +#else + MESA_SWRAST_UOBJS = $(MESA_SWRAST_OBJS) +#endif + + MESA_SWRAST_DOBJS = $(MESASWRASTBUILDDIR)debugger/s_aaline.o \ + $(MESASWRASTBUILDDIR)debugger/s_aatriangle.o \ + $(MESASWRASTBUILDDIR)debugger/s_accum.o \ + $(MESASWRASTBUILDDIR)debugger/s_alpha.o \ + $(MESASWRASTBUILDDIR)debugger/s_atifragshader.o \ + $(MESASWRASTBUILDDIR)debugger/s_bitmap.o \ + $(MESASWRASTBUILDDIR)debugger/s_blend.o \ + $(MESASWRASTBUILDDIR)debugger/s_buffers.o \ + $(MESASWRASTBUILDDIR)debugger/s_context.o \ + $(MESASWRASTBUILDDIR)debugger/s_copypix.o \ + $(MESASWRASTBUILDDIR)debugger/s_depth.o \ + $(MESASWRASTBUILDDIR)debugger/s_drawpix.o \ + $(MESASWRASTBUILDDIR)debugger/s_feedback.o \ + $(MESASWRASTBUILDDIR)debugger/s_fog.o \ + $(MESASWRASTBUILDDIR)debugger/s_imaging.o \ + $(MESASWRASTBUILDDIR)debugger/s_lines.o \ + $(MESASWRASTBUILDDIR)debugger/s_logic.o \ + $(MESASWRASTBUILDDIR)debugger/s_masking.o \ + $(MESASWRASTBUILDDIR)debugger/s_nvfragprog.o \ + $(MESASWRASTBUILDDIR)debugger/s_pixeltex.o \ + $(MESASWRASTBUILDDIR)debugger/s_points.o \ + $(MESASWRASTBUILDDIR)debugger/s_readpix.o \ + $(MESASWRASTBUILDDIR)debugger/s_span.o \ + $(MESASWRASTBUILDDIR)debugger/s_stencil.o \ + $(MESASWRASTBUILDDIR)debugger/s_texstore.o \ + $(MESASWRASTBUILDDIR)debugger/s_texture.o \ + $(MESASWRASTBUILDDIR)debugger/s_triangle.o \ + $(MESASWRASTBUILDDIR)debugger/s_zoom.o + + MESA_SWRAST_POBJS = $(MESASWRASTBUILDDIR)profiled/s_aaline.o \ + $(MESASWRASTBUILDDIR)profiled/s_aatriangle.o \ + $(MESASWRASTBUILDDIR)profiled/s_accum.o \ + $(MESASWRASTBUILDDIR)profiled/s_alpha.o \ + $(MESASWRASTBUILDDIR)profiled/s_atifragshader.o \ + $(MESASWRASTBUILDDIR)profiled/s_bitmap.o \ + $(MESASWRASTBUILDDIR)profiled/s_blend.o \ + $(MESASWRASTBUILDDIR)profiled/s_buffers.o \ + $(MESASWRASTBUILDDIR)profiled/s_context.o \ + $(MESASWRASTBUILDDIR)profiled/s_copypix.o \ + $(MESASWRASTBUILDDIR)profiled/s_depth.o \ + $(MESASWRASTBUILDDIR)profiled/s_drawpix.o \ + $(MESASWRASTBUILDDIR)profiled/s_feedback.o \ + $(MESASWRASTBUILDDIR)profiled/s_fog.o \ + $(MESASWRASTBUILDDIR)profiled/s_imaging.o \ + $(MESASWRASTBUILDDIR)profiled/s_lines.o \ + $(MESASWRASTBUILDDIR)profiled/s_logic.o \ + $(MESASWRASTBUILDDIR)profiled/s_masking.o \ + $(MESASWRASTBUILDDIR)profiled/s_nvfragprog.o \ + $(MESASWRASTBUILDDIR)profiled/s_pixeltex.o \ + $(MESASWRASTBUILDDIR)profiled/s_points.o \ + $(MESASWRASTBUILDDIR)profiled/s_readpix.o \ + $(MESASWRASTBUILDDIR)profiled/s_span.o \ + $(MESASWRASTBUILDDIR)profiled/s_stencil.o \ + $(MESASWRASTBUILDDIR)profiled/s_texstore.o \ + $(MESASWRASTBUILDDIR)profiled/s_texture.o \ + $(MESASWRASTBUILDDIR)profiled/s_triangle.o \ + $(MESASWRASTBUILDDIR)profiled/s_zoom.o + diff --git a/nx-X11/programs/Xserver/GL/mesa/swrast_setup/Imakefile b/nx-X11/programs/Xserver/GL/mesa/swrast_setup/Imakefile new file mode 100644 index 000000000..be2ce62a4 --- /dev/null +++ b/nx-X11/programs/Xserver/GL/mesa/swrast_setup/Imakefile @@ -0,0 +1,34 @@ +#include <Server.tmpl> + +#define NeedAllMesaSrc +#define NeedToLinkMesaSrc +#define MesaSwrastSetupBuildDir /**/ +#include "Imakefile.inc" + + SRCS = $(MESA_SWR_SETUP_SRCS) + OBJS = $(MESA_SWR_SETUP_OBJS) + + INCLUDES = -I$(MESASRCDIR)/src/mesa \ + -I$(MESASRCDIR)/src/mesa/main \ + -I$(MESASRCDIR)/src/mesa/glapi \ + -I$(MESASRCDIR)/src/mesa/swrast_setup \ + -I$(MESASRCDIR)/include \ + -I$(SERVERSRC)/include -I$(XINCLUDESRC) \ + -I$(SERVERSRC)/GL/include -I$(SERVERSRC)/GL/glx \ + -I$(LIBSRC)/GL/include \ + -I$(XF86SRC) -I$(INCLUDESRC) + + DEFINES = $(GLX_DEFINES) /*-DUSE_X86_ASM*/ /*-DUSE_SPARC_ASM*/ + +NormalLibraryObjectRule() + +SubdirLibraryRule($(OBJS)) + +NormalLintTarget($(SRCS)) + +DependTarget() + +#ifdef IHaveSubdirs +MakeSubdirs($(SUBDIRS)) +DependSubdirs($(SUBDIRS)) +#endif diff --git a/nx-X11/programs/Xserver/GL/mesa/swrast_setup/Imakefile.inc b/nx-X11/programs/Xserver/GL/mesa/swrast_setup/Imakefile.inc new file mode 100644 index 000000000..567ad65b8 --- /dev/null +++ b/nx-X11/programs/Xserver/GL/mesa/swrast_setup/Imakefile.inc @@ -0,0 +1,30 @@ +MESASWRSETUPDIR = MesaSwrastSetupBuildDir + + MESA_SWR_SETUP_SRCS = $(MESASWRSETUPDIR)ss_context.c \ + $(MESASWRSETUPDIR)ss_triangle.c + +#ifdef NeedToLinkMesaSrc +LinkSourceFile(ss_context.c, $(MESASRCDIR)/src/mesa/swrast_setup) +LinkSourceFile(ss_context.h, $(MESASRCDIR)/src/mesa/swrast_setup) +LinkSourceFile(ss_triangle.c, $(MESASRCDIR)/src/mesa/swrast_setup) +LinkSourceFile(ss_triangle.h, $(MESASRCDIR)/src/mesa/swrast_setup) +LinkSourceFile(ss_tritmp.h, $(MESASRCDIR)/src/mesa/swrast_setup) +LinkSourceFile(swrast_setup.h, $(MESASRCDIR)/src/mesa/swrast_setup) +#endif + + MESA_SWR_SETUP_OBJS = $(MESASWRSETUPDIR)ss_context.o \ + $(MESASWRSETUPDIR)ss_triangle.o + +#if defined(DoSharedLib) && DoSharedLib +MESA_SWR_SETUP_UOBJS = $(MESASWRSETUPDIR)unshared/ss_context.o \ + $(MESASWRSETUPDIR)unshared/ss_triangle.o +#else +MESA_SWR_SETUP_UOBJS = $(MESA_SWR_SETUP_OBJS) +#endif + +MESA_SWR_SETUP_DOBJS = $(MESASWRSETUPDIR)debugger/ss_context.o \ + $(MESASWRSETUPDIR)debugger/ss_triangle.o + +MESA_SWR_SETUP_POBJS = $(MESASWRSETUPDIR)profiled/ss_context.o \ + $(MESASWRSETUPDIR)profiled/ss_triangle.o + diff --git a/nx-X11/programs/Xserver/GL/mesa/tnl/Imakefile b/nx-X11/programs/Xserver/GL/mesa/tnl/Imakefile new file mode 100644 index 000000000..b36454259 --- /dev/null +++ b/nx-X11/programs/Xserver/GL/mesa/tnl/Imakefile @@ -0,0 +1,45 @@ +/* Large PIC tables needed for Solaris/SPARC builds */ +#if defined(SunArchitecture) && defined(SparcArchitecture) && defined(LargePositionIndependentCFlags) + PICFLAGS = LargePositionIndependentCFlags +#endif + + +#include <Server.tmpl> + +#define NeedAllMesaSrc +#define NeedToLinkMesaSrc +#define MesaTnlBuildDir /**/ +#include "Imakefile.inc" + + + SRCS = $(MESA_TNL_SRCS) + OBJS = $(MESA_TNL_OBJS) + + INCLUDES = -I$(MESASRCDIR)/src/mesa \ + -I$(MESASRCDIR)/src/mesa/array_cache \ + -I$(MESASRCDIR)/src/mesa/math \ + -I$(MESASRCDIR)/src/mesa/main \ + -I$(MESASRCDIR)/src/mesa/glapi \ + -I$(MESASRCDIR)/src/mesa/shader \ + -I$(MESASRCDIR)/src/mesa/tnl \ + -I$(MESASRCDIR)/include \ + -I$(SERVERSRC)/include -I$(XINCLUDESRC) \ + -I$(SERVERSRC)/GL/include -I$(SERVERSRC)/GL/glx \ + -I$(LIBSRC)/GL/include \ + -I$(XF86SRC) -I$(INCLUDESRC) + + DEFINES = $(GLX_DEFINES) /*-DUSE_X86_ASM*/ /*-DUSE_SPARC_ASM*/ + +NormalLibraryObjectRule() + +SubdirLibraryRule($(OBJS)) + +NormalLintTarget($(SRCS)) + +DependTarget() + +#ifdef IHaveSubdirs +MakeSubdirs($(SUBDIRS)) +DependSubdirs($(SUBDIRS)) +#endif + diff --git a/nx-X11/programs/Xserver/GL/mesa/tnl/Imakefile.inc b/nx-X11/programs/Xserver/GL/mesa/tnl/Imakefile.inc new file mode 100644 index 000000000..a6c8f923e --- /dev/null +++ b/nx-X11/programs/Xserver/GL/mesa/tnl/Imakefile.inc @@ -0,0 +1,219 @@ +MESATNLBUILDDIR = MesaTnlBuildDir + + MESA_TNL_SRCS = $(MESATNLBUILDDIR)t_array_api.c \ + $(MESATNLBUILDDIR)t_array_import.c \ + $(MESATNLBUILDDIR)t_context.c \ + $(MESATNLBUILDDIR)t_pipeline.c \ + $(MESATNLBUILDDIR)t_save_api.c \ + $(MESATNLBUILDDIR)t_save_loopback.c \ + $(MESATNLBUILDDIR)t_save_playback.c \ + $(MESATNLBUILDDIR)t_vb_arbprogram.c \ + $(MESATNLBUILDDIR)t_vb_arbprogram_sse.c \ + $(MESATNLBUILDDIR)t_vb_fog.c \ + $(MESATNLBUILDDIR)t_vb_cull.c \ + $(MESATNLBUILDDIR)t_vb_light.c \ + $(MESATNLBUILDDIR)t_vb_normals.c \ + $(MESATNLBUILDDIR)t_vb_points.c \ + $(MESATNLBUILDDIR)t_vb_program.c \ + $(MESATNLBUILDDIR)t_vb_render.c \ + $(MESATNLBUILDDIR)t_vb_texgen.c \ + $(MESATNLBUILDDIR)t_vb_texmat.c \ + $(MESATNLBUILDDIR)t_vb_vertex.c \ + $(MESATNLBUILDDIR)t_vertex.c \ + $(MESATNLBUILDDIR)t_vertex_generic.c \ + $(MESATNLBUILDDIR)t_vertex_sse.c \ + $(MESATNLBUILDDIR)t_vp_build.c \ + $(MESATNLBUILDDIR)t_vtx_api.c \ + $(MESATNLBUILDDIR)t_vtx_eval.c \ + $(MESATNLBUILDDIR)t_vtx_exec.c \ + $(MESATNLBUILDDIR)t_vtx_generic.c + +#if defined(i386Architecture) && MesaUseX86Asm + MESA_TNL_SRCS += MesaTnlAsmSrcs $(MESATNLBUILDDIR)t_vtx_x86.c \ + $(MESATNLBUILDDIR)t_vtx_x86_gcc.S +#endif + +#ifdef NeedToLinkMesaSrc +LinkSourceFile(t_array_api.c, $(MESASRCDIR)/src/mesa/tnl) +LinkSourceFile(t_array_api.h, $(MESASRCDIR)/src/mesa/tnl) +LinkSourceFile(t_array_import.c, $(MESASRCDIR)/src/mesa/tnl) +LinkSourceFile(t_array_import.h, $(MESASRCDIR)/src/mesa/tnl) +LinkSourceFile(t_context.c, $(MESASRCDIR)/src/mesa/tnl) +LinkSourceFile(t_context.h, $(MESASRCDIR)/src/mesa/tnl) +LinkSourceFile(tnl.h, $(MESASRCDIR)/src/mesa/tnl) +LinkSourceFile(t_pipeline.c, $(MESASRCDIR)/src/mesa/tnl) +LinkSourceFile(t_pipeline.h, $(MESASRCDIR)/src/mesa/tnl) +LinkSourceFile(t_save_api.c, $(MESASRCDIR)/src/mesa/tnl) +LinkSourceFile(t_save_api.h, $(MESASRCDIR)/src/mesa/tnl) +LinkSourceFile(t_save_loopback.c, $(MESASRCDIR)/src/mesa/tnl) +LinkSourceFile(t_save_playback.c, $(MESASRCDIR)/src/mesa/tnl) +LinkSourceFile(t_vb_arbprogram.c, $(MESASRCDIR)/src/mesa/tnl) +LinkSourceFile(t_vb_arbprogram.h, $(MESASRCDIR)/src/mesa/tnl) +LinkSourceFile(t_vb_arbprogram_sse.c, $(MESASRCDIR)/src/mesa/tnl) +LinkSourceFile(t_vb_cliptmp.h, $(MESASRCDIR)/src/mesa/tnl) +LinkSourceFile(t_vb_fog.c, $(MESASRCDIR)/src/mesa/tnl) +LinkSourceFile(t_vb_cull.c, $(MESASRCDIR)/src/mesa/tnl) +LinkSourceFile(t_vb_light.c, $(MESASRCDIR)/src/mesa/tnl) +LinkSourceFile(t_vb_lighttmp.h, $(MESASRCDIR)/src/mesa/tnl) +LinkSourceFile(t_vb_normals.c, $(MESASRCDIR)/src/mesa/tnl) +LinkSourceFile(t_vb_points.c, $(MESASRCDIR)/src/mesa/tnl) +LinkSourceFile(t_vb_program.c, $(MESASRCDIR)/src/mesa/tnl) +LinkSourceFile(t_vb_render.c, $(MESASRCDIR)/src/mesa/tnl) +LinkSourceFile(t_vb_rendertmp.h, $(MESASRCDIR)/src/mesa/tnl) +LinkSourceFile(t_vb_texgen.c, $(MESASRCDIR)/src/mesa/tnl) +LinkSourceFile(t_vb_texmat.c, $(MESASRCDIR)/src/mesa/tnl) +LinkSourceFile(t_vb_vertex.c, $(MESASRCDIR)/src/mesa/tnl) +LinkSourceFile(t_vertex.c, $(MESASRCDIR)/src/mesa/tnl) +LinkSourceFile(t_vertex.h, $(MESASRCDIR)/src/mesa/tnl) +LinkSourceFile(t_vertex_generic.c, $(MESASRCDIR)/src/mesa/tnl) +LinkSourceFile(t_vertex_sse.c, $(MESASRCDIR)/src/mesa/tnl) +LinkSourceFile(t_vp_build.c, $(MESASRCDIR)/src/mesa/tnl) +LinkSourceFile(t_vp_build.h, $(MESASRCDIR)/src/mesa/tnl) +LinkSourceFile(t_vtx_api.c, $(MESASRCDIR)/src/mesa/tnl) +LinkSourceFile(t_vtx_api.h, $(MESASRCDIR)/src/mesa/tnl) +LinkSourceFile(t_vtx_eval.c, $(MESASRCDIR)/src/mesa/tnl) +LinkSourceFile(t_vtx_exec.c, $(MESASRCDIR)/src/mesa/tnl) +LinkSourceFile(t_vtx_generic.c, $(MESASRCDIR)/src/mesa/tnl) +#if defined(i386Architecture) && MesaUseX86Asm +LinkSourceFile(t_vtx_x86.c, $(MESASRCDIR)/src/mesa/tnl) +LinkSourceFile(t_vtx_x86_gcc.S, $(MESASRCDIR)/src/mesa/tnl) +#endif +#endif + + MESA_TNL_OBJS = $(MESATNLBUILDDIR)t_array_api.o \ + $(MESATNLBUILDDIR)t_array_import.o \ + $(MESATNLBUILDDIR)t_context.o \ + $(MESATNLBUILDDIR)t_pipeline.o \ + $(MESATNLBUILDDIR)t_save_api.o \ + $(MESATNLBUILDDIR)t_save_loopback.o \ + $(MESATNLBUILDDIR)t_save_playback.o \ + $(MESATNLBUILDDIR)t_vb_arbprogram.o \ + $(MESATNLBUILDDIR)t_vb_arbprogram_sse.o \ + $(MESATNLBUILDDIR)t_vb_fog.o \ + $(MESATNLBUILDDIR)t_vb_cull.o \ + $(MESATNLBUILDDIR)t_vb_light.o \ + $(MESATNLBUILDDIR)t_vb_normals.o \ + $(MESATNLBUILDDIR)t_vb_points.o \ + $(MESATNLBUILDDIR)t_vb_program.o \ + $(MESATNLBUILDDIR)t_vb_render.o \ + $(MESATNLBUILDDIR)t_vb_texgen.o \ + $(MESATNLBUILDDIR)t_vb_texmat.o \ + $(MESATNLBUILDDIR)t_vb_vertex.o \ + $(MESATNLBUILDDIR)t_vertex.o \ + $(MESATNLBUILDDIR)t_vertex_generic.o \ + $(MESATNLBUILDDIR)t_vertex_sse.o \ + $(MESATNLBUILDDIR)t_vp_build.o \ + $(MESATNLBUILDDIR)t_vtx_api.o \ + $(MESATNLBUILDDIR)t_vtx_eval.o \ + $(MESATNLBUILDDIR)t_vtx_exec.o \ + $(MESATNLBUILDDIR)t_vtx_generic.o + +#if defined(i386Architecture) && MesaUseX86Asm + MESA_TNL_OBJS += $(MESATNLBUILDDIR)t_vtx_x86.o \ + $(MESATNLBUILDDIR)t_vtx_x86_gcc.o +#endif + +#if defined(DoSharedLib) && DoSharedLib + MESA_TNL_UOBJS = $(MESATNLBUILDDIR)unshared/t_array_api.o \ + $(MESATNLBUILDDIR)unshared/t_array_import.o \ + $(MESATNLBUILDDIR)unshared/t_context.o \ + $(MESATNLBUILDDIR)unshared/t_pipeline.o \ + $(MESATNLBUILDDIR)unshared/t_save_api.o \ + $(MESATNLBUILDDIR)unshared/t_save_loopback.o \ + $(MESATNLBUILDDIR)unshared/t_save_playback.o \ + $(MESATNLBUILDDIR)unshared/t_vb_arbprogram.o \ + $(MESATNLBUILDDIR)unshared/t_vb_arbprogram_sse.o \ + $(MESATNLBUILDDIR)unshared/t_vb_fog.o \ + $(MESATNLBUILDDIR)unshared/t_vb_cull.o \ + $(MESATNLBUILDDIR)unshared/t_vb_light.o \ + $(MESATNLBUILDDIR)unshared/t_vb_normals.o \ + $(MESATNLBUILDDIR)unshared/t_vb_points.o \ + $(MESATNLBUILDDIR)unshared/t_vb_program.o \ + $(MESATNLBUILDDIR)unshared/t_vb_render.o \ + $(MESATNLBUILDDIR)unshared/t_vb_texgen.o \ + $(MESATNLBUILDDIR)unshared/t_vb_texmat.o \ + $(MESATNLBUILDDIR)unshared/t_vb_vertex.o \ + $(MESATNLBUILDDIR)unshared/t_vertex.o \ + $(MESATNLBUILDDIR)unshared/t_vertex_generic.o \ + $(MESATNLBUILDDIR)unshared/t_vertex_sse.o \ + $(MESATNLBUILDDIR)unshared/t_vp_build.o \ + $(MESATNLBUILDDIR)unshared/t_vtx_api.o \ + $(MESATNLBUILDDIR)unshared/t_vtx_eval.o \ + $(MESATNLBUILDDIR)unshared/t_vtx_exec.o \ + $(MESATNLBUILDDIR)unshared/t_vtx_generic.o + +#if defined(i386Architecture) && MesaUseX86Asm + MESA_TNL_UOBJS += $(MESATNLBUILDDIR)unshared/t_vtx_x86.o \ + $(MESATNLBUILDDIR)t_vtx_x86_gcc.o +#endif + +#else + MESA_TNL_UOBJS = $(MESA_TNL_OBJS) +#endif + + MESA_TNL_DOBJS = $(MESATNLBUILDDIR)debugger/t_array_api.o \ + $(MESATNLBUILDDIR)debugger/t_array_import.o \ + $(MESATNLBUILDDIR)debugger/t_context.o \ + $(MESATNLBUILDDIR)debugger/t_pipeline.o \ + $(MESATNLBUILDDIR)debugger/t_save_api.o \ + $(MESATNLBUILDDIR)debugger/t_save_loopback.o \ + $(MESATNLBUILDDIR)debugger/t_save_playback.o \ + $(MESATNLBUILDDIR)debugger/t_vb_arbprogram.o \ + $(MESATNLBUILDDIR)debugger/t_vb_arbprogram_sse.o \ + $(MESATNLBUILDDIR)debugger/t_vb_fog.o \ + $(MESATNLBUILDDIR)debugger/t_vb_cull.o \ + $(MESATNLBUILDDIR)debugger/t_vb_light.o \ + $(MESATNLBUILDDIR)debugger/t_vb_normals.o \ + $(MESATNLBUILDDIR)debugger/t_vb_points.o \ + $(MESATNLBUILDDIR)debugger/t_vb_program.o \ + $(MESATNLBUILDDIR)debugger/t_vb_render.o \ + $(MESATNLBUILDDIR)debugger/t_vb_texgen.o \ + $(MESATNLBUILDDIR)debugger/t_vb_texmat.o \ + $(MESATNLBUILDDIR)debugger/t_vb_vertex.o \ + $(MESATNLBUILDDIR)debugger/t_vertex.o \ + $(MESATNLBUILDDIR)debugger/t_vertex_generic.o \ + $(MESATNLBUILDDIR)debugger/t_vertex_sse.o \ + $(MESATNLBUILDDIR)debugger/t_vp_build.o \ + $(MESATNLBUILDDIR)debugger/t_vtx_api.o \ + $(MESATNLBUILDDIR)debugger/t_vtx_eval.o \ + $(MESATNLBUILDDIR)debugger/t_vtx_exec.o \ + $(MESATNLBUILDDIR)debugger/t_vtx_generic.o + +#if defined(i386Architecture) && MesaUseX86Asm + MESA_TNL_DOBJS += $(MESATNLBUILDDIR)debugger/t_vtx_x86.o \ + $(MESATNLBUILDDIR)debugger/t_vtx_x86_gcc.o +#endif + + MESA_TNL_POBJS = $(MESATNLBUILDDIR)profiled/t_array_api.o \ + $(MESATNLBUILDDIR)profiled/t_array_import.o \ + $(MESATNLBUILDDIR)profiled/t_context.o \ + $(MESATNLBUILDDIR)profiled/t_pipeline.o \ + $(MESATNLBUILDDIR)profiled/t_save_api.o \ + $(MESATNLBUILDDIR)profiled/t_save_loopback.o \ + $(MESATNLBUILDDIR)profiled/t_save_playback.o \ + $(MESATNLBUILDDIR)profiled/t_vb_arbprogram.o \ + $(MESATNLBUILDDIR)profiled/t_vb_arbprogram_sse.o \ + $(MESATNLBUILDDIR)profiled/t_vb_fog.o \ + $(MESATNLBUILDDIR)profiled/t_vb_cull.o \ + $(MESATNLBUILDDIR)profiled/t_vb_light.o \ + $(MESATNLBUILDDIR)profiled/t_vb_normals.o \ + $(MESATNLBUILDDIR)profiled/t_vb_points.o \ + $(MESATNLBUILDDIR)profiled/t_vb_program.o \ + $(MESATNLBUILDDIR)profiled/t_vb_render.o \ + $(MESATNLBUILDDIR)profiled/t_vb_texgen.o \ + $(MESATNLBUILDDIR)profiled/t_vb_texmat.o \ + $(MESATNLBUILDDIR)profiled/t_vb_vertex.o \ + $(MESATNLBUILDDIR)profiled/t_vertex.o \ + $(MESATNLBUILDDIR)profiled/t_vertex_generic.o \ + $(MESATNLBUILDDIR)profiled/t_vertex_sse.o \ + $(MESATNLBUILDDIR)profiled/t_vp_build.o \ + $(MESATNLBUILDDIR)profiled/t_vtx_api.o \ + $(MESATNLBUILDDIR)profiled/t_vtx_eval.o \ + $(MESATNLBUILDDIR)profiled/t_vtx_exec.o \ + $(MESATNLBUILDDIR)profiled/t_vtx_generic.o + +#if defined(i386Architecture) && MesaUseX86Asm + MESA_TNL_POBJS += $(MESATNLBUILDDIR)profiled/t_vtx_x86.o \ + $(MESATNLBUILDDIR)profiled/t_vtx_x86_gcc.o +#endif + |