pack_shaders.c revision c7814cf6e1240a519cbec0441e033d0e2470ed00
/* $Id$ */
/** @file
* VBox OpenGL DRI driver functions
*/
/*
* Copyright (C) 2009-2012 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
* General Public License (GPL) as published by the Free Software
* Foundation, in version 2 as it comes in the "COPYING" file of the
* VirtualBox OSE distribution. VirtualBox OSE is distributed in the
* hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
*/
#include "packer.h"
#include "cr_error.h"
#include "cr_string.h"
{
unsigned char *data_ptr;
int packet_length = sizeof(int)+sizeof(GLenum)+sizeof(program)+sizeof(index) + cbName*sizeof(*name);
WRITE_DATA_AI(int, packet_length);
}
void PACK_APIENTRY crPackShaderSource(GLuint shader, GLsizei count, const char **string, const GLint *length)
{
unsigned char *data_ptr;
int packet_length = sizeof(int)+sizeof(GLenum)+sizeof(shader)+sizeof(count)+sizeof(GLint)+count*sizeof(*pLocalLength);
GLsizei i;
if (!pLocalLength) return;
for (i=0; i<count; ++i)
{
packet_length += pLocalLength[i];
}
if (length)
{
}
WRITE_DATA_AI(int, packet_length);
if (length)
{
}
for (i=0; i<count; ++i)
{
if (string[i])
{
{
/* include \0 in the string to make intel drivers happy */
}
else
{
/* the \0 s already in the string */
}
}
else
{
*data_ptr = 0;
}
data_ptr += pLocalLength[i];
}
}
{
unsigned char *data_ptr;
int packet_length = sizeof(int)+sizeof(GLenum)+sizeof(location)+sizeof(count) + count*sizeof(*value);
WRITE_DATA_AI(int, packet_length);
}
{
unsigned char *data_ptr;
int packet_length = sizeof(int)+sizeof(GLenum)+sizeof(location)+sizeof(count) + count*sizeof(*value);
WRITE_DATA_AI(int, packet_length);
}
{
unsigned char *data_ptr;
int packet_length = sizeof(int)+sizeof(GLenum)+sizeof(location)+sizeof(count) + 2*count*sizeof(*value);
WRITE_DATA_AI(int, packet_length);
}
{
unsigned char *data_ptr;
int packet_length = sizeof(int)+sizeof(GLenum)+sizeof(location)+sizeof(count) + 2*count*sizeof(*value);
WRITE_DATA_AI(int, packet_length);
}
{
unsigned char *data_ptr;
int packet_length = sizeof(int)+sizeof(GLenum)+sizeof(location)+sizeof(count) + 3*count*sizeof(*value);
WRITE_DATA_AI(int, packet_length);
}
{
unsigned char *data_ptr;
int packet_length = sizeof(int)+sizeof(GLenum)+sizeof(location)+sizeof(count) + 3*count*sizeof(*value);
WRITE_DATA_AI(int, packet_length);
}
{
unsigned char *data_ptr;
int packet_length = sizeof(int)+sizeof(GLenum)+sizeof(location)+sizeof(count) + 4*count*sizeof(*value);
WRITE_DATA_AI(int, packet_length);
}
{
unsigned char *data_ptr;
int packet_length = sizeof(int)+sizeof(GLenum)+sizeof(location)+sizeof(count) + 4*count*sizeof(*value);
WRITE_DATA_AI(int, packet_length);
}
void PACK_APIENTRY crPackUniformMatrix2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
{
unsigned char *data_ptr;
int packet_length = sizeof(int)+sizeof(GLenum)+sizeof(location)+sizeof(count)+sizeof(transpose) + 2*2*count*sizeof(*value);
WRITE_DATA_AI(int, packet_length);
}
void PACK_APIENTRY crPackUniformMatrix3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
{
unsigned char *data_ptr;
int packet_length = sizeof(int)+sizeof(GLenum)+sizeof(location)+sizeof(count)+sizeof(transpose) + 3*3*count*sizeof(*value);
WRITE_DATA_AI(int, packet_length);
}
void PACK_APIENTRY crPackUniformMatrix4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
{
unsigned char *data_ptr;
int packet_length = sizeof(int)+sizeof(GLenum)+sizeof(location)+sizeof(count)+sizeof(transpose) + 4*4*count*sizeof(*value);
WRITE_DATA_AI(int, packet_length);
}
void PACK_APIENTRY crPackUniformMatrix2x3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
{
unsigned char *data_ptr;
WRITE_DATA_AI(int, packet_length);
}
void PACK_APIENTRY crPackUniformMatrix3x2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
{
unsigned char *data_ptr;
WRITE_DATA_AI(int, packet_length);
}
void PACK_APIENTRY crPackUniformMatrix2x4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
{
unsigned char *data_ptr;
WRITE_DATA_AI(int, packet_length);
}
void PACK_APIENTRY crPackUniformMatrix4x2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
{
unsigned char *data_ptr;
WRITE_DATA_AI(int, packet_length);
}
void PACK_APIENTRY crPackUniformMatrix3x4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
{
unsigned char *data_ptr;
WRITE_DATA_AI(int, packet_length);
}
void PACK_APIENTRY crPackUniformMatrix4x3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
{
unsigned char *data_ptr;
WRITE_DATA_AI(int, packet_length);
}
{
unsigned char *data_ptr;
WRITE_DATA_AI(int, packet_length);
WRITE_DATA_AI(GLsizei, n);
}
/*@todo next 8 functions are bit hacky,
* we expect packspu to pass a single structure with all output parameters via first output pointer.
* it'd be better to add CRMessageMultiReadback one day.
*/
void PACK_APIENTRY crPackGetActiveAttrib(GLuint program, GLuint index, GLsizei bufSize, GLsizei * length, GLint * size, GLenum * type, char * name, int * writeback)
{
unsigned char *data_ptr;
(void) pc;
(void) size;
(void) type;
(void) name;
}
void PACK_APIENTRY crPackGetActiveUniform(GLuint program, GLuint index, GLsizei bufSize, GLsizei * length, GLint * size, GLenum * type, char * name, int * writeback)
{
unsigned char *data_ptr;
(void) pc;
(void) size;
(void) type;
(void) name;
}
void PACK_APIENTRY crPackGetAttachedShaders(GLuint program, GLsizei maxCount, GLsizei * count, GLuint * shaders, int * writeback)
{
unsigned char *data_ptr;
(void) pc;
(void) shaders;
}
void PACK_APIENTRY crPackGetAttachedObjectsARB(GLhandleARB containerObj, GLsizei maxCount, GLsizei * count, GLhandleARB * obj, int * writeback)
{
unsigned char *data_ptr;
(void) pc;
}
void PACK_APIENTRY crPackGetInfoLogARB(GLhandleARB obj, GLsizei maxLength, GLsizei * length, GLcharARB * infoLog, int * writeback)
{
unsigned char *data_ptr;
(void) pc;
}
void PACK_APIENTRY crPackGetProgramInfoLog(GLuint program, GLsizei bufSize, GLsizei * length, char * infoLog, int * writeback)
{
unsigned char *data_ptr;
(void) pc;
(void) infoLog;
}
void PACK_APIENTRY crPackGetShaderInfoLog(GLuint shader, GLsizei bufSize, GLsizei * length, char * infoLog, int * writeback)
{
unsigned char *data_ptr;
(void) pc;
(void) infoLog;
}
void PACK_APIENTRY crPackGetShaderSource(GLuint shader, GLsizei bufSize, GLsizei * length, char * source, int * writeback)
{
unsigned char *data_ptr;
(void) pc;
(void) source;
}
void PACK_APIENTRY crPackGetUniformsLocations(GLuint program, GLsizei maxcbData, GLsizei * cbData, GLvoid * pData, int * writeback)
{
unsigned char *data_ptr;
(void) pData;
}
void PACK_APIENTRY crPackGetAttribLocation(GLuint program, const char * name, GLint * return_value, int * writeback)
{
unsigned char *data_ptr;
WRITE_DATA_AI(int, packet_length);
WRITE_NETWORK_POINTER(0, (void *) return_value);
}
void PACK_APIENTRY crPackGetUniformLocation(GLuint program, const char * name, GLint * return_value, int * writeback)
{
unsigned char *data_ptr;
WRITE_DATA_AI(int, packet_length);
WRITE_NETWORK_POINTER(0, (void *) return_value);
}
{
(void)program;
(void)index;
(void)name;
(void)pc;
crError ("No swap version");
}
void PACK_APIENTRY crPackShaderSourceSWAP(GLuint shader, GLsizei count, const char **string, const GLint *length)
{
(void)shader;
(void)count;
(void)string;
(void)length;
(void)pc;
crError ("No swap version");
}
{
(void)location;
(void)count;
(void)value;
(void)pc;
crError ("No swap version");
}
{
(void)location;
(void)count;
(void)value;
(void)pc;
crError ("No swap version");
}
{
(void)location;
(void)count;
(void)value;
(void)pc;
crError ("No swap version");
}
{
(void)location;
(void)count;
(void)value;
(void)pc;
crError ("No swap version");
}
{
(void)location;
(void)count;
(void)value;
(void)pc;
crError ("No swap version");
}
{
(void)location;
(void)count;
(void)value;
(void)pc;
crError ("No swap version");
}
{
(void)location;
(void)count;
(void)value;
(void)pc;
crError ("No swap version");
}
{
(void)location;
(void)count;
(void)value;
(void)pc;
crError ("No swap version");
}
void PACK_APIENTRY crPackUniformMatrix2fvSWAP(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
{
(void)location;
(void)count;
(void)transpose;
(void)value;
(void)pc;
crError ("No swap version");
}
void PACK_APIENTRY crPackUniformMatrix3fvSWAP(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
{
(void)location;
(void)count;
(void)transpose;
(void)value;
(void)pc;
crError ("No swap version");
}
void PACK_APIENTRY crPackUniformMatrix4fvSWAP(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
{
(void)location;
(void)count;
(void)transpose;
(void)value;
(void)pc;
crError ("No swap version");
}
void PACK_APIENTRY crPackUniformMatrix2x3fvSWAP(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
{
(void)location;
(void)count;
(void)transpose;
(void)value;
(void)pc;
crError ("No swap version");
}
void PACK_APIENTRY crPackUniformMatrix3x2fvSWAP(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
{
(void)location;
(void)count;
(void)transpose;
(void)value;
(void)pc;
crError ("No swap version");
}
void PACK_APIENTRY crPackUniformMatrix2x4fvSWAP(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
{
(void)location;
(void)count;
(void)transpose;
(void)value;
(void)pc;
crError ("No swap version");
}
void PACK_APIENTRY crPackUniformMatrix4x2fvSWAP(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
{
(void)location;
(void)count;
(void)transpose;
(void)value;
(void)pc;
crError ("No swap version");
}
void PACK_APIENTRY crPackUniformMatrix3x4fvSWAP(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
{
(void)location;
(void)count;
(void)transpose;
(void)value;
(void)pc;
crError ("No swap version");
}
void PACK_APIENTRY crPackUniformMatrix4x3fvSWAP(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
{
(void)location;
(void)count;
(void)transpose;
(void)value;
(void)pc;
crError ("No swap version");
}
{
(void)n;
(void)bufs;
(void)pc;
crError ("No swap version");
}
void PACK_APIENTRY crPackGetAttribLocationSWAP(GLuint program, const char * name, GLint * return_value, int * writeback)
{
(void)program;
(void)name;
(void)return_value;
(void)writeback;
(void)pc;
crError ("No swap version");
}
void PACK_APIENTRY crPackGetUniformLocationSWAP(GLuint program, const char * name, GLint * return_value, int * writeback)
{
(void)program;
(void)name;
(void)return_value;
(void)writeback;
(void)pc;
crError ("No swap version");
}