diff options
author | Kristian Høgsberg <[email protected]> | 2010-02-09 09:58:36 -0500 |
---|---|---|
committer | Kristian Høgsberg <[email protected]> | 2010-02-09 09:58:36 -0500 |
commit | 6e8897ff9f90601ebf6eed500ad942c11b54d1f7 (patch) | |
tree | 5a90891cfbccbf5c03f792abb2a2407c82872778 /src/glx/x11/clientattrib.c | |
parent | 538539d8791e5b3b1ea2e95473b589934d94497e (diff) |
Retire miniglx and move the actual glx code up to src/glx
Diffstat (limited to 'src/glx/x11/clientattrib.c')
-rw-r--r-- | src/glx/x11/clientattrib.c | 142 |
1 files changed, 0 insertions, 142 deletions
diff --git a/src/glx/x11/clientattrib.c b/src/glx/x11/clientattrib.c deleted file mode 100644 index a7dfb534860..00000000000 --- a/src/glx/x11/clientattrib.c +++ /dev/null @@ -1,142 +0,0 @@ -/* - * SGI FREE SOFTWARE LICENSE B (Version 2.0, Sept. 18, 2008) - * Copyright (C) 1991-2000 Silicon Graphics, Inc. All Rights Reserved. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * 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 including the dates of first publication and - * either this permission notice or a reference to - * http://oss.sgi.com/projects/FreeB/ - * 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 NONINFRINGEMENT. IN NO EVENT SHALL - * SILICON GRAPHICS, INC. 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. - * - * Except as contained in this notice, the name of Silicon Graphics, Inc. - * shall not be used in advertising or otherwise to promote the sale, use or - * other dealings in this Software without prior written authorization from - * Silicon Graphics, Inc. - */ - -#include <assert.h> -#include "glxclient.h" -#include "indirect.h" -#include "indirect_vertex_array.h" - -/*****************************************************************************/ - -static void -do_enable_disable(GLenum array, GLboolean val) -{ - __GLXcontext *gc = __glXGetCurrentContext(); - __GLXattribute *state = (__GLXattribute *) (gc->client_state_private); - unsigned index = 0; - - if (array == GL_TEXTURE_COORD_ARRAY) { - index = __glXGetActiveTextureUnit(state); - } - - if (!__glXSetArrayEnable(state, array, index, val)) { - __glXSetError(gc, GL_INVALID_ENUM); - } -} - -void -__indirect_glEnableClientState(GLenum array) -{ - do_enable_disable(array, GL_TRUE); -} - -void -__indirect_glDisableClientState(GLenum array) -{ - do_enable_disable(array, GL_FALSE); -} - -/************************************************************************/ - -void -__indirect_glPushClientAttrib(GLuint mask) -{ - __GLXcontext *gc = __glXGetCurrentContext(); - __GLXattribute *state = (__GLXattribute *) (gc->client_state_private); - __GLXattribute **spp = gc->attributes.stackPointer, *sp; - - if (spp < &gc->attributes.stack[__GL_CLIENT_ATTRIB_STACK_DEPTH]) { - if (!(sp = *spp)) { - sp = (__GLXattribute *) Xmalloc(sizeof(__GLXattribute)); - *spp = sp; - } - sp->mask = mask; - gc->attributes.stackPointer = spp + 1; - if (mask & GL_CLIENT_PIXEL_STORE_BIT) { - sp->storePack = state->storePack; - sp->storeUnpack = state->storeUnpack; - } - if (mask & GL_CLIENT_VERTEX_ARRAY_BIT) { - __glXPushArrayState(state); - } - } - else { - __glXSetError(gc, GL_STACK_OVERFLOW); - return; - } -} - -void -__indirect_glPopClientAttrib(void) -{ - __GLXcontext *gc = __glXGetCurrentContext(); - __GLXattribute *state = (__GLXattribute *) (gc->client_state_private); - __GLXattribute **spp = gc->attributes.stackPointer, *sp; - GLuint mask; - - if (spp > &gc->attributes.stack[0]) { - --spp; - sp = *spp; - assert(sp != 0); - mask = sp->mask; - gc->attributes.stackPointer = spp; - - if (mask & GL_CLIENT_PIXEL_STORE_BIT) { - state->storePack = sp->storePack; - state->storeUnpack = sp->storeUnpack; - } - if (mask & GL_CLIENT_VERTEX_ARRAY_BIT) { - __glXPopArrayState(state); - } - - sp->mask = 0; - } - else { - __glXSetError(gc, GL_STACK_UNDERFLOW); - return; - } -} - -void -__glFreeAttributeState(__GLXcontext * gc) -{ - __GLXattribute *sp, **spp; - - for (spp = &gc->attributes.stack[0]; - spp < &gc->attributes.stack[__GL_CLIENT_ATTRIB_STACK_DEPTH]; spp++) { - sp = *spp; - if (sp) { - XFree((char *) sp); - } - else { - break; - } - } -} |