VirtualBox

Changeset 27244 in vbox for trunk/src/VBox/GuestHost


Ignore:
Timestamp:
Mar 10, 2010 11:43:03 AM (15 years ago)
Author:
vboxsync
Message:

crOpenGL: non square uniform matricies support

Location:
trunk/src/VBox/GuestHost/OpenGL
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/GuestHost/OpenGL/glapi_parser/APIspec.txt

    r23399 r27244  
    1023110231chromium    extpack
    1023210232
     10233# OpenGL 2.1
     10234name        UniformMatrix2x3fv
     10235return      void
     10236param       location    GLint
     10237param       count       GLsizei
     10238param       transpose   GLboolean
     10239param       value       const GLfloat *
     10240category    2.1
     10241chromium    extpack
     10242
     10243name        UniformMatrix3x2fv
     10244return      void
     10245param       location    GLint
     10246param       count       GLsizei
     10247param       transpose   GLboolean
     10248param       value       const GLfloat *
     10249category    2.1
     10250chromium    extpack
     10251
     10252name        UniformMatrix2x4fv
     10253return      void
     10254param       location    GLint
     10255param       count       GLsizei
     10256param       transpose   GLboolean
     10257param       value       const GLfloat *
     10258category    2.1
     10259chromium    extpack
     10260
     10261name        UniformMatrix4x2fv
     10262return      void
     10263param       location    GLint
     10264param       count       GLsizei
     10265param       transpose   GLboolean
     10266param       value       const GLfloat *
     10267category    2.1
     10268chromium    extpack
     10269
     10270name        UniformMatrix4x3fv
     10271return      void
     10272param       location    GLint
     10273param       count       GLsizei
     10274param       transpose   GLboolean
     10275param       value       const GLfloat *
     10276category    2.1
     10277chromium    extpack
     10278
     10279name        UniformMatrix3x4fv
     10280return      void
     10281param       location    GLint
     10282param       count       GLsizei
     10283param       transpose   GLboolean
     10284param       value       const GLfloat *
     10285category    2.1
     10286chromium    extpack
     10287
    1023310288# end of file sentinel
    1023410289
  • trunk/src/VBox/GuestHost/OpenGL/include/cr_protocol.h

    r27091 r27244  
    1616/*For now guest is allowed to connect host opengl service if protocol version matches exactly*/
    1717/*Note: that after any change to this file, or glapi_parser\apispec.txt version should be changed*/
    18 #define CR_PROTOCOL_VERSION_MAJOR 6
     18#define CR_PROTOCOL_VERSION_MAJOR 7
    1919#define CR_PROTOCOL_VERSION_MINOR 1
    2020
  • trunk/src/VBox/GuestHost/OpenGL/packer/pack_shaders.c

    r23399 r27244  
    258258}
    259259
     260void PACK_APIENTRY crPackUniformMatrix2x3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
     261{
     262    GET_PACKER_CONTEXT(pc);
     263    unsigned char *data_ptr;
     264    int packet_length = sizeof(int)+sizeof(GLenum)+sizeof(location)+sizeof(count)+sizeof(transpose)
     265                        + 2*3*count*sizeof(*value);
     266
     267    GET_BUFFERED_POINTER(pc, packet_length);
     268    WRITE_DATA_AI(int, packet_length);
     269    WRITE_DATA_AI(GLenum, CR_UNIFORMMATRIX2X3FV_EXTEND_OPCODE);
     270    WRITE_DATA_AI(GLint, location);
     271    WRITE_DATA_AI(GLsizei, count);
     272    WRITE_DATA_AI(GLboolean, transpose);
     273    crMemcpy(data_ptr, value, 2*3*count*sizeof(*value));
     274    WRITE_OPCODE(pc, CR_EXTEND_OPCODE);
     275}
     276
     277void PACK_APIENTRY crPackUniformMatrix3x2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
     278{
     279    GET_PACKER_CONTEXT(pc);
     280    unsigned char *data_ptr;
     281    int packet_length = sizeof(int)+sizeof(GLenum)+sizeof(location)+sizeof(count)+sizeof(transpose)
     282                        + 3*2*count*sizeof(*value);
     283
     284    GET_BUFFERED_POINTER(pc, packet_length);
     285    WRITE_DATA_AI(int, packet_length);
     286    WRITE_DATA_AI(GLenum, CR_UNIFORMMATRIX3X2FV_EXTEND_OPCODE);
     287    WRITE_DATA_AI(GLint, location);
     288    WRITE_DATA_AI(GLsizei, count);
     289    WRITE_DATA_AI(GLboolean, transpose);
     290    crMemcpy(data_ptr, value, 3*2*count*sizeof(*value));
     291    WRITE_OPCODE(pc, CR_EXTEND_OPCODE);
     292}
     293
     294void PACK_APIENTRY crPackUniformMatrix2x4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
     295{
     296    GET_PACKER_CONTEXT(pc);
     297    unsigned char *data_ptr;
     298    int packet_length = sizeof(int)+sizeof(GLenum)+sizeof(location)+sizeof(count)+sizeof(transpose)
     299                        + 2*4*count*sizeof(*value);
     300
     301    GET_BUFFERED_POINTER(pc, packet_length);
     302    WRITE_DATA_AI(int, packet_length);
     303    WRITE_DATA_AI(GLenum, CR_UNIFORMMATRIX2X4FV_EXTEND_OPCODE);
     304    WRITE_DATA_AI(GLint, location);
     305    WRITE_DATA_AI(GLsizei, count);
     306    WRITE_DATA_AI(GLboolean, transpose);
     307    crMemcpy(data_ptr, value, 2*4*count*sizeof(*value));
     308    WRITE_OPCODE(pc, CR_EXTEND_OPCODE);
     309}
     310
     311void PACK_APIENTRY crPackUniformMatrix4x2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
     312{
     313    GET_PACKER_CONTEXT(pc);
     314    unsigned char *data_ptr;
     315    int packet_length = sizeof(int)+sizeof(GLenum)+sizeof(location)+sizeof(count)+sizeof(transpose)
     316                        + 4*2*count*sizeof(*value);
     317
     318    GET_BUFFERED_POINTER(pc, packet_length);
     319    WRITE_DATA_AI(int, packet_length);
     320    WRITE_DATA_AI(GLenum, CR_UNIFORMMATRIX4X2FV_EXTEND_OPCODE);
     321    WRITE_DATA_AI(GLint, location);
     322    WRITE_DATA_AI(GLsizei, count);
     323    WRITE_DATA_AI(GLboolean, transpose);
     324    crMemcpy(data_ptr, value, 4*2*count*sizeof(*value));
     325    WRITE_OPCODE(pc, CR_EXTEND_OPCODE);
     326}
     327
     328void PACK_APIENTRY crPackUniformMatrix3x4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
     329{
     330    GET_PACKER_CONTEXT(pc);
     331    unsigned char *data_ptr;
     332    int packet_length = sizeof(int)+sizeof(GLenum)+sizeof(location)+sizeof(count)+sizeof(transpose)
     333                        + 3*4*count*sizeof(*value);
     334
     335    GET_BUFFERED_POINTER(pc, packet_length);
     336    WRITE_DATA_AI(int, packet_length);
     337    WRITE_DATA_AI(GLenum, CR_UNIFORMMATRIX3X4FV_EXTEND_OPCODE);
     338    WRITE_DATA_AI(GLint, location);
     339    WRITE_DATA_AI(GLsizei, count);
     340    WRITE_DATA_AI(GLboolean, transpose);
     341    crMemcpy(data_ptr, value, 3*4*count*sizeof(*value));
     342    WRITE_OPCODE(pc, CR_EXTEND_OPCODE);
     343}
     344
     345void PACK_APIENTRY crPackUniformMatrix4x3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
     346{
     347    GET_PACKER_CONTEXT(pc);
     348    unsigned char *data_ptr;
     349    int packet_length = sizeof(int)+sizeof(GLenum)+sizeof(location)+sizeof(count)+sizeof(transpose)
     350                        + 4*3*count*sizeof(*value);
     351
     352    GET_BUFFERED_POINTER(pc, packet_length);
     353    WRITE_DATA_AI(int, packet_length);
     354    WRITE_DATA_AI(GLenum, CR_UNIFORMMATRIX4X3FV_EXTEND_OPCODE);
     355    WRITE_DATA_AI(GLint, location);
     356    WRITE_DATA_AI(GLsizei, count);
     357    WRITE_DATA_AI(GLboolean, transpose);
     358    crMemcpy(data_ptr, value, 4*3*count*sizeof(*value));
     359    WRITE_OPCODE(pc, CR_EXTEND_OPCODE);
     360}
     361
    260362void PACK_APIENTRY crPackDrawBuffers(GLsizei n, const GLenum *bufs)
    261363{
     
    594696}
    595697
     698void PACK_APIENTRY crPackUniformMatrix2x3fvSWAP(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
     699{
     700    GET_PACKER_CONTEXT(pc);
     701    (void)location;
     702    (void)count;
     703    (void)transpose;
     704    (void)value;
     705    crError ("No swap version");
     706    (void) pc;
     707}
     708
     709void PACK_APIENTRY crPackUniformMatrix3x2fvSWAP(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
     710{
     711    GET_PACKER_CONTEXT(pc);
     712    (void)location;
     713    (void)count;
     714    (void)transpose;
     715    (void)value;
     716    crError ("No swap version");
     717    (void) pc;
     718}
     719
     720void PACK_APIENTRY crPackUniformMatrix2x4fvSWAP(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
     721{
     722    GET_PACKER_CONTEXT(pc);
     723    (void)location;
     724    (void)count;
     725    (void)transpose;
     726    (void)value;
     727    crError ("No swap version");
     728    (void) pc;
     729}
     730
     731void PACK_APIENTRY crPackUniformMatrix4x2fvSWAP(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
     732{
     733    GET_PACKER_CONTEXT(pc);
     734    (void)location;
     735    (void)count;
     736    (void)transpose;
     737    (void)value;
     738    crError ("No swap version");
     739    (void) pc;
     740}
     741
     742void PACK_APIENTRY crPackUniformMatrix3x4fvSWAP(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
     743{
     744    GET_PACKER_CONTEXT(pc);
     745    (void)location;
     746    (void)count;
     747    (void)transpose;
     748    (void)value;
     749    crError ("No swap version");
     750    (void) pc;
     751}
     752
     753void PACK_APIENTRY crPackUniformMatrix4x3fvSWAP(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
     754{
     755    GET_PACKER_CONTEXT(pc);
     756    (void)location;
     757    (void)count;
     758    (void)transpose;
     759    (void)value;
     760    crError ("No swap version");
     761    (void) pc;
     762}
     763
    596764void PACK_APIENTRY crPackDrawBuffersSWAP(GLsizei n, const GLenum *bufs)
    597765{
  • trunk/src/VBox/GuestHost/OpenGL/packer/packer_special

    r23399 r27244  
    171171LockArraysEXT
    172172GetUniformsLocations
     173UniformMatrix2x3fv
     174UniformMatrix3x2fv
     175UniformMatrix2x4fv
     176UniformMatrix4x2fv
     177UniformMatrix3x4fv
     178UniformMatrix4x3fv
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette