server_lists.c revision 4d10b27f3115f8fcd58864142163726d6214a752
e62cb87bae732e9968199a3ad153cc94004b7182vboxsync/* Copyright (c) 2001-2003, Stanford University
e62cb87bae732e9968199a3ad153cc94004b7182vboxsync All rights reserved.
e62cb87bae732e9968199a3ad153cc94004b7182vboxsync See the file LICENSE.txt for information on redistributing this software. */
e62cb87bae732e9968199a3ad153cc94004b7182vboxsync * Notes on ID translation:
e62cb87bae732e9968199a3ad153cc94004b7182vboxsync * If a server has multiple clients (in the case of parallel applications)
e62cb87bae732e9968199a3ad153cc94004b7182vboxsync * and N of the clients all create a display list with ID K, does K name
e62cb87bae732e9968199a3ad153cc94004b7182vboxsync * one display list or N different display lists?
e62cb87bae732e9968199a3ad153cc94004b7182vboxsync * By default, there is one display list named K. If the clients put
e62cb87bae732e9968199a3ad153cc94004b7182vboxsync * identical commands into list K, then this is fine. But if the clients
e62cb87bae732e9968199a3ad153cc94004b7182vboxsync * each put something different into list K when they created it, then this
e62cb87bae732e9968199a3ad153cc94004b7182vboxsync * is a serious problem.
e62cb87bae732e9968199a3ad153cc94004b7182vboxsync * By zeroing the 'shared_display_lists' configuration option, we can tell
e62cb87bae732e9968199a3ad153cc94004b7182vboxsync * the server to make list K be unique for all N clients. We do this by
e62cb87bae732e9968199a3ad153cc94004b7182vboxsync * translating K into a new, unique ID dependant on which client we're
e62cb87bae732e9968199a3ad153cc94004b7182vboxsync * talking to (curClient->number).
3ad96deedaeae14c9c7ce2ec08a226e4804466dcvboxsync * Same story for texture objects, vertex programs, etc.
e62cb87bae732e9968199a3ad153cc94004b7182vboxsync * The application can also dynamically switch between shared and private
e62cb87bae732e9968199a3ad153cc94004b7182vboxsync * display lists with:
e62cb87bae732e9968199a3ad153cc94004b7182vboxsync * glChromiumParameteri(GL_SHARED_DISPLAY_LISTS_CR, GL_TRUE)
e62cb87bae732e9968199a3ad153cc94004b7182vboxsync * glChromiumParameteri(GL_SHARED_DISPLAY_LISTS_CR, GL_FALSE)
e62cb87bae732e9968199a3ad153cc94004b7182vboxsync/* XXXX Note: shared/separate Program ID numbers aren't totally implemented! */
return id;
GLsizei i;
switch (type) {
case GL_UNSIGNED_BYTE:
case GL_BYTE:
case GL_UNSIGNED_SHORT:
case GL_SHORT:
case GL_UNSIGNED_INT:
case GL_INT:
case GL_FLOAT:
case GL_2_BYTES:
case GL_3_BYTES:
case GL_4_BYTES:
if (newLists) {
return retval;
GLint i;
if (!newTextures) {
void SERVER_DISPATCH_APIENTRY crServerDispatchPrioritizeTextures( GLsizei n, const GLuint * textures, const GLclampf * priorities )
GLint i;
if (!newTextures) {
GLint i;
if (!pLocalProgs) {
GLsizei i;
(void) residences;
GLsizei i;
(void) residences;