unpack_arrays.c revision e0e0c19eefceaf5d4ec40f9466b58a771f50e799
/* Copyright (c) 2001, Stanford University
* All rights reserved
*
* See the file LICENSE.txt for information on redistributing this software.
*/
#include "cr_error.h"
#include "unpack_extend.h"
#include "unpacker.h"
/**
* \mainpage Unpacker
*
* \section UnpackerIntroduction Introduction
*
* Chromium consists of all the top-level files in the cr
* directory. The unpacker module basically takes care of API dispatch,
* and OpenGL state management.
*
*/
void crUnpackExtendVertexPointer(void)
{
GLint size = READ_DATA( 8, GLint );
GLenum type = READ_DATA( 12, GLenum );
GLsizei stride = READ_DATA( 16, GLsizei );
GLintptrARB pointer = READ_DATA( 20, GLintptrARB );
cr_unpackDispatch.VertexPointer( size, type, stride, (void *) pointer );
}
void crUnpackExtendTexCoordPointer(void)
{
GLint size = READ_DATA( 8, GLint );
GLenum type = READ_DATA( 12, GLenum );
GLsizei stride = READ_DATA( 16, GLsizei );
GLintptrARB pointer = READ_DATA( 20, GLintptrARB );
cr_unpackDispatch.TexCoordPointer( size, type, stride, (void *) pointer );
}
void crUnpackExtendNormalPointer(void)
{
GLenum type = READ_DATA( 8, GLenum );
GLsizei stride = READ_DATA( 12, GLsizei );
GLintptrARB pointer = READ_DATA( 16, GLintptrARB );
cr_unpackDispatch.NormalPointer( type, stride, (void *) pointer );
}
void crUnpackExtendIndexPointer(void)
{
GLenum type = READ_DATA( 8, GLenum );
GLsizei stride = READ_DATA( 12, GLsizei );
GLintptrARB pointer = READ_DATA( 16, GLintptrARB );
cr_unpackDispatch.IndexPointer( type, stride, (void *) pointer );
}
void crUnpackExtendEdgeFlagPointer(void)
{
GLsizei stride = READ_DATA( 8, GLsizei );
GLintptrARB pointer = READ_DATA( 12, GLintptrARB );
cr_unpackDispatch.EdgeFlagPointer( stride, (void *) pointer );
}
void crUnpackExtendColorPointer(void)
{
GLint size = READ_DATA( 8, GLint );
GLenum type = READ_DATA( 12, GLenum );
GLsizei stride = READ_DATA( 16, GLsizei );
GLintptrARB pointer = READ_DATA( 20, GLintptrARB );
cr_unpackDispatch.ColorPointer( size, type, stride, (void *) pointer );
}
void crUnpackExtendFogCoordPointerEXT(void)
{
GLenum type = READ_DATA( 8, GLenum );
GLsizei stride = READ_DATA( 12, GLsizei );
GLintptrARB pointer = READ_DATA( 16, GLintptrARB );
cr_unpackDispatch.FogCoordPointerEXT( type, stride, (void *) pointer );
}
void crUnpackExtendSecondaryColorPointerEXT(void)
{
GLint size = READ_DATA( 8, GLint );
GLenum type = READ_DATA( 12, GLenum );
GLsizei stride = READ_DATA( 16, GLsizei );
GLintptrARB pointer = READ_DATA( 20, GLintptrARB );
cr_unpackDispatch.SecondaryColorPointerEXT( size, type, stride, (void *) pointer );
}
void crUnpackExtendVertexAttribPointerARB(void)
{
GLuint index = READ_DATA( 8, GLuint);
GLint size = READ_DATA( 12, GLint );
GLenum type = READ_DATA( 16, GLenum );
GLboolean normalized = READ_DATA( 20, GLboolean );
GLsizei stride = READ_DATA( 24, GLsizei );
GLintptrARB pointer = READ_DATA( 28, GLintptrARB );
cr_unpackDispatch.VertexAttribPointerARB( index, size, type, normalized, stride, (void *) pointer );
}
void crUnpackExtendVertexAttribPointerNV(void)
{
GLuint index = READ_DATA( 8, GLuint);
GLint size = READ_DATA( 12, GLint );
GLenum type = READ_DATA( 16, GLenum );
GLsizei stride = READ_DATA( 20, GLsizei );
GLintptrARB pointer = READ_DATA( 24, GLintptrARB );
cr_unpackDispatch.VertexAttribPointerNV( index, size, type, stride, (void *) pointer );
}
void crUnpackExtendInterleavedArrays(void)
{
GLenum format = READ_DATA( 8, GLenum );
GLsizei stride = READ_DATA( 12, GLsizei );
GLintptrARB pointer = READ_DATA( 16, GLintptrARB );
cr_unpackDispatch.InterleavedArrays( format, stride, (void *) pointer );
}
void crUnpackExtendDrawElements(void)
{
GLenum mode = READ_DATA( 8, GLenum );
GLsizei count = READ_DATA( 12, GLsizei );
GLenum type = READ_DATA( 16, GLenum );
GLintptrARB indices = READ_DATA( 20, GLintptrARB );
cr_unpackDispatch.DrawElements( mode, count, type, (void *) indices);
}
void crUnpackExtendDrawRangeElements(void)
{
GLenum mode = READ_DATA( 8, GLenum );
GLuint start = READ_DATA( 12, GLuint );
GLuint end = READ_DATA( 16, GLuint );
GLsizei count = READ_DATA( 20, GLsizei );
GLenum type = READ_DATA( 24, GLenum );
GLintptrARB indices = READ_DATA( 28, GLintptrARB );
cr_unpackDispatch.DrawRangeElements( mode, start, end, count, type, (void *) indices);
}
void crUnpackMultiDrawArraysEXT(void)
{
crError( "Can't decode MultiDrawArraysEXT" );
}
void crUnpackMultiDrawElementsEXT(void)
{
crError( "Can't decode MultiDrawElementsEXT" );
}