VirtualBox

Changeset 37304 in vbox for trunk/src/VBox/GuestHost/OpenGL


Ignore:
Timestamp:
Jun 2, 2011 11:48:48 AM (14 years ago)
Author:
vboxsync
Message:

crOpenGL: fix broken rendering when running any other opengl app under gnome3

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/GuestHost/OpenGL/state_tracker/state_program.c

    r37216 r37304  
    21062106            able[to->vpPointSize](GL_VERTEX_PROGRAM_POINT_SIZE_NV);
    21072107        }
    2108 
    2109         CLEARDIRTY(b->vpEnable, nbitID);
     2108        DIRTY(b->vpEnable, nbitID);
    21102109    }
    21112110
     
    21212120            able[to->fpEnabledARB](GL_FRAGMENT_PROGRAM_ARB);
    21222121        }
    2123         CLEARDIRTY(b->fpEnable, nbitID);
     2122        DIRTY(b->fpEnable, nbitID);
    21242123    }
    21252124
     
    21332132                                                                 to->TrackMatrixTransform[i]);
    21342133                }
    2135                 CLEARDIRTY(b->trackMatrix[i], nbitID);
     2134                DIRTY(b->trackMatrix[i], nbitID);
    21362135            }
    21372136        }
     
    21492148                    diff_api.BindProgramNV(GL_VERTEX_PROGRAM_NV, toProg->id);
    21502149            }
    2151             CLEARDIRTY(b->vpBinding, nbitID);
     2150            DIRTY(b->vpBinding, nbitID);
    21522151        }
    21532152
     
    21562155            if (CHECKDIRTY(toProg->dirtyProgram, bitID)) {
    21572156                if (toProg->isARBprogram)
    2158                     diff_api.ProgramStringARB( GL_VERTEX_PROGRAM_ARB,
    2159                                                                          toProg->format,
    2160                                                                          toProg->length,
    2161                                                                          toProg->string );
     2157                    diff_api.ProgramStringARB(GL_VERTEX_PROGRAM_ARB, toProg->format, toProg->length, toProg->string);
    21622158                else
    2163                     diff_api.LoadProgramNV( GL_VERTEX_PROGRAM_NV,
    2164                                                                     toProg->id,
    2165                                                                     toProg->length,
    2166                                                                     toProg->string );
    2167                 CLEARDIRTY(toProg->dirtyProgram, nbitID);
     2159                    diff_api.LoadProgramNV(GL_VERTEX_PROGRAM_NV, toProg->id, toProg->length, toProg->string);
     2160
     2161                DIRTY(toProg->dirtyProgram, nbitID);
    21682162            }
    21692163
     
    21732167                    if (CHECKDIRTY(b->vertexEnvParameter[i], bitID)) {
    21742168                        if (toProg->isARBprogram)
    2175                             diff_api.ProgramEnvParameter4fvARB(GL_VERTEX_PROGRAM_ARB, i,
    2176                                                                                                  to->vertexParameters[i]);
     2169                            diff_api.ProgramEnvParameter4fvARB(GL_VERTEX_PROGRAM_ARB, i, to->vertexParameters[i]);
    21772170                        else
    2178                             diff_api.ProgramParameter4fvNV(GL_VERTEX_PROGRAM_NV, i,
    2179                                                                                          to->vertexParameters[i]);
    2180                         CLEARDIRTY(b->vertexEnvParameter[i], nbitID);
     2171                            diff_api.ProgramParameter4fvNV(GL_VERTEX_PROGRAM_NV, i, to->vertexParameters[i]);
     2172
     2173                        DIRTY(b->vertexEnvParameter[i], nbitID);
    21812174                    }
    21822175                }
    2183                 CLEARDIRTY(b->vertexEnvParameters, nbitID);
     2176                DIRTY(b->vertexEnvParameters, nbitID);
    21842177            }
    21852178
     
    21962189                    }
    21972190                }
    2198                 CLEARDIRTY(toProg->dirtyParams, nbitID);
     2191                DIRTY(toProg->dirtyParams, nbitID);
    21992192            }
    22002193        }
     
    22122205                diff_api.BindProgramNV(GL_FRAGMENT_PROGRAM_NV, toProg->id);
    22132206            }
    2214             CLEARDIRTY(b->fpBinding, nbitID);
     2207            DIRTY(b->fpBinding, nbitID);
    22152208        }
    22162209
     
    22182211            /* fragment program text */
    22192212            if (CHECKDIRTY(toProg->dirtyProgram, bitID)) {
    2220                 diff_api.LoadProgramNV( GL_FRAGMENT_PROGRAM_NV, toProg->id,
    2221                                                                 toProg->length, toProg->string );
    2222                 CLEARDIRTY(toProg->dirtyProgram, nbitID);
     2213                diff_api.LoadProgramNV(GL_FRAGMENT_PROGRAM_NV, toProg->id, toProg->length, toProg->string);
     2214                DIRTY(toProg->dirtyProgram, nbitID);
    22232215            }
    22242216
     
    22292221                        diff_api.ProgramParameter4fvNV(GL_FRAGMENT_PROGRAM_NV, i,
    22302222                                                       to->fragmentParameters[i]);
    2231                         CLEARDIRTY(b->fragmentEnvParameter[i], nbitID);
     2223                        DIRTY(b->fragmentEnvParameter[i], nbitID);
    22322224                    }
    22332225                }
    2234                 CLEARDIRTY(b->fragmentEnvParameters, nbitID);
     2226                DIRTY(b->fragmentEnvParameters, nbitID);
    22352227            }
    22362228
     
    22442236                                                            (const GLubyte *) symbol->name,
    22452237                                                            symbol->value);
    2246                         CLEARDIRTY(symbol->dirty, nbitID);
     2238                        DIRTY(symbol->dirty, nbitID);
    22472239                    }
    22482240                }
    2249                 CLEARDIRTY(toProg->dirtyNamedParams, nbitID);
     2241                DIRTY(toProg->dirtyNamedParams, nbitID);
    22502242            }
    22512243
     
    22552247                    if (CHECKDIRTY(toProg->dirtyParam[i], bitID)) {
    22562248                        if (toProg->isARBprogram)
    2257                             diff_api.ProgramLocalParameter4fvARB(GL_FRAGMENT_PROGRAM_ARB, i,
    2258                                                                                                      toProg->parameters[i]);
     2249                            diff_api.ProgramLocalParameter4fvARB(GL_FRAGMENT_PROGRAM_ARB, i, toProg->parameters[i]);
    22592250                        else
    2260                             diff_api.ProgramLocalParameter4fvARB(GL_FRAGMENT_PROGRAM_NV, i,
    2261                                                                                                      toProg->parameters[i]);
     2251                            diff_api.ProgramLocalParameter4fvARB(GL_FRAGMENT_PROGRAM_NV, i, toProg->parameters[i]);
    22622252                    }
    22632253                }
    2264                 CLEARDIRTY(toProg->dirtyParams, nbitID);
     2254                DIRTY(toProg->dirtyParams, nbitID);
    22652255            }
    22662256        }
     
    22742264                diff_api.BindProgramARB(GL_FRAGMENT_PROGRAM_ARB, toProg->id);
    22752265            }
    2276             CLEARDIRTY(b->fpBinding, nbitID);
     2266            DIRTY(b->fpBinding, nbitID);
    22772267        }
    22782268
     
    22802270            /* fragment program text */
    22812271            if (CHECKDIRTY(toProg->dirtyProgram, bitID)) {
    2282                 diff_api.ProgramStringARB( GL_FRAGMENT_PROGRAM_ARB, toProg->format,
    2283                                                                          toProg->length, toProg->string );
    2284                 CLEARDIRTY(toProg->dirtyProgram, nbitID);
     2272                diff_api.ProgramStringARB(GL_FRAGMENT_PROGRAM_ARB, toProg->format, toProg->length, toProg->string);
     2273                DIRTY(toProg->dirtyProgram, nbitID);
    22852274            }
    22862275
     
    22892278                for (i = 0; i < toCtx->limits.maxFragmentProgramEnvParams; i++) {
    22902279                    if (CHECKDIRTY(b->fragmentEnvParameter[i], bitID)) {
    2291                         diff_api.ProgramEnvParameter4fvARB(GL_FRAGMENT_PROGRAM_ARB, i,
    2292                                                                                              to->fragmentParameters[i]);
    2293                         CLEARDIRTY(b->fragmentEnvParameter[i], nbitID);
     2280                        diff_api.ProgramEnvParameter4fvARB(GL_FRAGMENT_PROGRAM_ARB, i, to->fragmentParameters[i]);
     2281                        DIRTY(b->fragmentEnvParameter[i], nbitID);
    22942282                    }
    22952283                }
    2296                 CLEARDIRTY(b->fragmentEnvParameters, nbitID);
     2284                DIRTY(b->fragmentEnvParameters, nbitID);
    22972285            }
    22982286
     
    23012289                for (i = 0; i < CR_MAX_FRAGMENT_PROGRAM_LOCAL_PARAMS; i++) {
    23022290                    if (CHECKDIRTY(toProg->dirtyParam[i], bitID)) {
    2303                         diff_api.ProgramLocalParameter4fvARB(GL_FRAGMENT_PROGRAM_ARB, i,
    2304                                                                                                  toProg->parameters[i]);
    2305                         CLEARDIRTY(toProg->dirtyParam[i], nbitID);
     2291                        diff_api.ProgramLocalParameter4fvARB(GL_FRAGMENT_PROGRAM_ARB, i, toProg->parameters[i]);
     2292                        DIRTY(toProg->dirtyParam[i], nbitID);
    23062293                    }
    23072294                }
    2308                 CLEARDIRTY(toProg->dirtyParams, nbitID);
    2309             }
    2310         }
    2311     }
    2312 
    2313     CLEARDIRTY(b->dirty, nbitID);
     2295                DIRTY(toProg->dirtyParams, nbitID);
     2296            }
     2297        }
     2298    }
     2299
     2300    DIRTY(b->dirty, nbitID);
    23142301
    23152302    /* Resend program data */
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