e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync/* Copyright (c) 2001, Stanford University
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync * All rights reserved
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync *
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync * See the file LICENSE.txt for information on redistributing this software.
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync */
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync#include "packer.h"
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync#include "cr_opcodes.h"
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsyncvoid PACK_APIENTRY crPackClipPlane( GLenum plane, const GLdouble *equation )
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync{
2f44080df90cb90c1e524d97c8e327b40298f3c6vboxsync CR_GET_PACKER_CONTEXT(pc);
a0d1e40cc56a54314af0a1a4b5e13905ffd78393vboxsync unsigned char *data_ptr;
a0d1e40cc56a54314af0a1a4b5e13905ffd78393vboxsync int packet_length = sizeof( plane ) + 4*sizeof(*equation);
2f44080df90cb90c1e524d97c8e327b40298f3c6vboxsync CR_GET_BUFFERED_POINTER(pc, packet_length );
a0d1e40cc56a54314af0a1a4b5e13905ffd78393vboxsync WRITE_DATA( 0, GLenum, plane );
a0d1e40cc56a54314af0a1a4b5e13905ffd78393vboxsync WRITE_DOUBLE( 4, equation[0] );
a0d1e40cc56a54314af0a1a4b5e13905ffd78393vboxsync WRITE_DOUBLE( 12, equation[1] );
a0d1e40cc56a54314af0a1a4b5e13905ffd78393vboxsync WRITE_DOUBLE( 20, equation[2] );
a0d1e40cc56a54314af0a1a4b5e13905ffd78393vboxsync WRITE_DOUBLE( 28, equation[3] );
a0d1e40cc56a54314af0a1a4b5e13905ffd78393vboxsync WRITE_OPCODE( pc, CR_CLIPPLANE_OPCODE );
2f44080df90cb90c1e524d97c8e327b40298f3c6vboxsync CR_UNLOCK_PACKER_CONTEXT(pc);
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync}