VirtualBox

Ignore:
Timestamp:
May 10, 2011 1:41:47 PM (14 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
71645
Message:

crOpenGL: fix corrupted textures for gnome3 under ubuntu 11.04

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Additions/common/crOpenGL/pack/packspu_get.py

    r33988 r37030  
    1818#include "cr_mem.h"
    1919#include "packspu_proto.h"
     20"""
     21
     22print """
     23GLboolean crPackIsPixelStoreParm(GLenum pname)
     24{
     25    if (pname == GL_UNPACK_ALIGNMENT
     26        || pname == GL_UNPACK_ROW_LENGTH
     27        || pname == GL_UNPACK_SKIP_PIXELS
     28        || pname == GL_UNPACK_LSB_FIRST
     29        || pname == GL_UNPACK_SWAP_BYTES
     30#ifdef CR_OPENGL_VERSION_1_2
     31        || pname == GL_UNPACK_IMAGE_HEIGHT
     32#endif
     33        || pname == GL_UNPACK_SKIP_ROWS
     34        || pname == GL_PACK_ALIGNMENT
     35        || pname == GL_PACK_ROW_LENGTH
     36        || pname == GL_PACK_SKIP_PIXELS
     37        || pname == GL_PACK_LSB_FIRST
     38        || pname == GL_PACK_SWAP_BYTES
     39#ifdef CR_OPENGL_VERSION_1_2
     40        || pname == GL_PACK_IMAGE_HEIGHT
     41#endif
     42        || pname == GL_PACK_SKIP_ROWS)
     43    {
     44        return GL_TRUE;
     45    }
     46    return GL_FALSE;
     47}
    2048"""
    2149
     
    7199        if func_name in simple_funcs:
    72100            print """
    73     if (pname == GL_UNPACK_ALIGNMENT
    74         || pname == GL_UNPACK_ROW_LENGTH
    75         || pname == GL_UNPACK_SKIP_PIXELS
    76         || pname == GL_UNPACK_LSB_FIRST
    77         || pname == GL_UNPACK_SWAP_BYTES
    78 #ifdef CR_OPENGL_VERSION_1_2
    79         || pname == GL_UNPACK_IMAGE_HEIGHT
    80 #endif
    81         || pname == GL_UNPACK_SKIP_ROWS
    82         || pname == GL_PACK_ALIGNMENT
    83         || pname == GL_PACK_ROW_LENGTH
    84         || pname == GL_PACK_SKIP_PIXELS
    85         || pname == GL_PACK_LSB_FIRST
    86         || pname == GL_PACK_SWAP_BYTES
    87 #ifdef CR_OPENGL_VERSION_1_2
    88         || pname == GL_PACK_IMAGE_HEIGHT
    89 #endif
    90         || pname == GL_PACK_SKIP_ROWS
     101    if (crPackIsPixelStoreParm(pname)
    91102        || pname == GL_DRAW_BUFFER
    92103#ifdef CR_OPENGL_VERSION_1_3
     
    106117        )
    107118        {
    108 #ifndef DEBUG
    109             crState%s( pname, params );
    110             return;
    111 #else
    112             %s localparams;
    113             localparams = (%s) crAlloc(__numValues(pname) * sizeof(*localparams));
    114             crState%s(pname, localparams);
    115             crPack%s(%s, &writeback);
    116             packspuFlush( (void *) thread );
    117             while (writeback)
    118                 crNetRecv();
    119             for (i=0; i<__numValues(pname); ++i)
     119#ifdef DEBUG
     120            if (!crPackIsPixelStoreParm(pname))
    120121            {
    121                 if (localparams[i] != params[i])
     122                %s localparams;
     123                localparams = (%s) crAlloc(__numValues(pname) * sizeof(*localparams));
     124                crState%s(pname, localparams);
     125                crPack%s(%s, &writeback);
     126                packspuFlush( (void *) thread );
     127                while (writeback)
     128                    crNetRecv();
     129                for (i=0; i<__numValues(pname); ++i)
    122130                {
    123                     crWarning("Incorrect local state in %s for %%x param %%i", pname, i);
    124                     crWarning("Expected %%i but got %%i", (int)localparams[i], (int)params[i]);
     131                    if (localparams[i] != params[i])
     132                    {
     133                        crWarning("Incorrect local state in %s for %%x param %%i", pname, i);
     134                        crWarning("Expected %%i but got %%i", (int)localparams[i], (int)params[i]);
     135                    }
    125136                }
     137                crFree(localparams);
     138                return;
    126139            }
    127             crFree(localparams);
    128             return;
    129 #endif
     140            else
     141#endif
     142            {
     143                crState%s(pname, params);
     144                return;
     145            }
    130146           
    131147        }
    132             """ % (func_name, params[-1][1], params[-1][1], func_name, func_name, apiutil.MakeCallString(params), func_name)
     148            """ % (params[-1][1], params[-1][1], func_name, func_name, apiutil.MakeCallString(params), func_name, func_name)
    133149        params.append( ("&writeback", "foo", 0) )
    134150        print '\tif (pack_spu.swap)'
Note: See TracChangeset for help on using the changeset viewer.

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