pack_swap_map.c revision a0d1e40cc56a54314af0a1a4b5e13905ffd78393
637712559132d2b3617aea0103fb0385978da14evboxsync/* Copyright (c) 2001, Stanford University
637712559132d2b3617aea0103fb0385978da14evboxsync * All rights reserved
637712559132d2b3617aea0103fb0385978da14evboxsync * See the file LICENSE.txt for information on redistributing this software.
637712559132d2b3617aea0103fb0385978da14evboxsync/* Note -- for these packets, the ustride and vstride are implicit,
637712559132d2b3617aea0103fb0385978da14evboxsync * and are computed into the packet instead of copied.
b41f65ee355ae1d4b24473c6d6d70c653497429avboxsyncvoid PACK_APIENTRY crPackMap2dSWAP(GLenum target, GLdouble u1,
b41f65ee355ae1d4b24473c6d6d70c653497429avboxsync GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2,
b41f65ee355ae1d4b24473c6d6d70c653497429avboxsync GLint vstride, GLint vorder, const GLdouble *points)
b41f65ee355ae1d4b24473c6d6d70c653497429avboxsync unsigned char *data_ptr;
b41f65ee355ae1d4b24473c6d6d70c653497429avboxsync sizeof( u1 ) +
b41f65ee355ae1d4b24473c6d6d70c653497429avboxsync sizeof( u2 ) +
b41f65ee355ae1d4b24473c6d6d70c653497429avboxsync sizeof( v1 ) +
b41f65ee355ae1d4b24473c6d6d70c653497429avboxsync sizeof( v2 ) +
b41f65ee355ae1d4b24473c6d6d70c653497429avboxsync int num_components = __gl_Map2NumComponents( target );
b41f65ee355ae1d4b24473c6d6d70c653497429avboxsync "crPackMap2d(bad target)" );
637712559132d2b3617aea0103fb0385978da14evboxsync packet_length += num_components*uorder*vorder*sizeof( *points );
b41f65ee355ae1d4b24473c6d6d70c653497429avboxsync data_ptr = (unsigned char *) crPackAlloc( packet_length );
b41f65ee355ae1d4b24473c6d6d70c653497429avboxsync WRITE_DATA( 44, GLint, SWAP32(num_components*uorder) );
b41f65ee355ae1d4b24473c6d6d70c653497429avboxsync for (v = 0 ; v < vorder ; v++)
b41f65ee355ae1d4b24473c6d6d70c653497429avboxsync for (u = 0 ; u < uorder ; u++)
b41f65ee355ae1d4b24473c6d6d70c653497429avboxsync WRITE_SWAPPED_DOUBLE( ((unsigned char *) dest_data + comp*sizeof(*points)) - data_ptr, *(src_data + comp) );
d142cd5e90598dd8d14744cb6bb7dd467cec446cvboxsyncvoid PACK_APIENTRY crPackMap2fSWAP(GLenum target, GLfloat u1,
d142cd5e90598dd8d14744cb6bb7dd467cec446cvboxsync GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2,
d142cd5e90598dd8d14744cb6bb7dd467cec446cvboxsync GLint vstride, GLint vorder, const GLfloat *points)
d142cd5e90598dd8d14744cb6bb7dd467cec446cvboxsync unsigned char *data_ptr;
d142cd5e90598dd8d14744cb6bb7dd467cec446cvboxsync sizeof( u1 ) +
d142cd5e90598dd8d14744cb6bb7dd467cec446cvboxsync sizeof( u2 ) +
d142cd5e90598dd8d14744cb6bb7dd467cec446cvboxsync sizeof( v1 ) +
d142cd5e90598dd8d14744cb6bb7dd467cec446cvboxsync sizeof( v2 ) +
d142cd5e90598dd8d14744cb6bb7dd467cec446cvboxsync int num_components = __gl_Map2NumComponents( target );
d142cd5e90598dd8d14744cb6bb7dd467cec446cvboxsync "crPackMap2f(bad target)" );
b41f65ee355ae1d4b24473c6d6d70c653497429avboxsync packet_length += num_components*uorder*vorder*sizeof( *points );
b41f65ee355ae1d4b24473c6d6d70c653497429avboxsync data_ptr = (unsigned char *) crPackAlloc( packet_length );
b41f65ee355ae1d4b24473c6d6d70c653497429avboxsync WRITE_DATA( 28, GLint, SWAP32(num_components*uorder) );
b41f65ee355ae1d4b24473c6d6d70c653497429avboxsync for (v = 0 ; v < vorder ; v++)
b41f65ee355ae1d4b24473c6d6d70c653497429avboxsync for (u = 0 ; u < uorder ; u++)
b41f65ee355ae1d4b24473c6d6d70c653497429avboxsync WRITE_DATA( (unsigned char *) dest_data + comp*sizeof(*points) - data_ptr, GLuint, SWAPFLOAT( *(src_data + comp) ) );
637712559132d2b3617aea0103fb0385978da14evboxsyncvoid PACK_APIENTRY crPackMap1dSWAP( GLenum target, GLdouble u1,
637712559132d2b3617aea0103fb0385978da14evboxsync GLdouble u2, GLint stride, GLint order, const GLdouble *points )
637712559132d2b3617aea0103fb0385978da14evboxsync unsigned char *data_ptr;
b41f65ee355ae1d4b24473c6d6d70c653497429avboxsync sizeof( u1 ) +
b41f65ee355ae1d4b24473c6d6d70c653497429avboxsync sizeof( u2 ) +
b41f65ee355ae1d4b24473c6d6d70c653497429avboxsync int num_components = __gl_Map1NumComponents( target );
b41f65ee355ae1d4b24473c6d6d70c653497429avboxsync "crPackMap1d(bad target)" );
b41f65ee355ae1d4b24473c6d6d70c653497429avboxsync packet_length += num_components * order * sizeof( *points );
b41f65ee355ae1d4b24473c6d6d70c653497429avboxsync data_ptr = (unsigned char *) crPackAlloc( packet_length );
b41f65ee355ae1d4b24473c6d6d70c653497429avboxsync for (u = 0 ; u < order ; u++)
b41f65ee355ae1d4b24473c6d6d70c653497429avboxsync WRITE_SWAPPED_DOUBLE( (unsigned char *) dest_data + comp*sizeof(*points) - data_ptr, *(src_data + comp) );
b41f65ee355ae1d4b24473c6d6d70c653497429avboxsyncvoid PACK_APIENTRY crPackMap1fSWAP( GLenum target, GLfloat u1,
b41f65ee355ae1d4b24473c6d6d70c653497429avboxsync GLfloat u2, GLint stride, GLint order, const GLfloat *points )
b41f65ee355ae1d4b24473c6d6d70c653497429avboxsync unsigned char *data_ptr;
b41f65ee355ae1d4b24473c6d6d70c653497429avboxsync sizeof( u1 ) +
b41f65ee355ae1d4b24473c6d6d70c653497429avboxsync sizeof( u2 ) +
b41f65ee355ae1d4b24473c6d6d70c653497429avboxsync int num_components = __gl_Map1NumComponents( target );
b41f65ee355ae1d4b24473c6d6d70c653497429avboxsync "crPackMap1f(bad target)" );
b41f65ee355ae1d4b24473c6d6d70c653497429avboxsync packet_length += num_components * order * sizeof( *points );
b41f65ee355ae1d4b24473c6d6d70c653497429avboxsync data_ptr = (unsigned char *) crPackAlloc( packet_length );
b41f65ee355ae1d4b24473c6d6d70c653497429avboxsync for (u = 0 ; u < order ; u++)