VirtualBox

Changeset 27994 in vbox


Ignore:
Timestamp:
Apr 6, 2010 9:26:00 AM (15 years ago)
Author:
vboxsync
Message:

crOpenGL: fix textures cleanup

Location:
trunk/src/VBox/GuestHost/OpenGL/state_tracker
Files:
2 edited

Legend:

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

    r15532 r27994  
    2121        g->error = error;
    2222
    23         if (crGetenv("CR_DEBUG"))
     23        if (1||crGetenv("CR_DEBUG"))
    2424        {
    2525                char *glerr;
  • trunk/src/VBox/GuestHost/OpenGL/state_tracker/state_texture.c

    r27396 r27994  
    641641}
    642642
    643 static void crStateTextureCheckFBOAPs(CRFramebufferObject *pFBO, GLuint texture)
     643static void crStateTextureCheckFBOAPs(GLenum target, GLuint texture)
    644644{
    645645    GLuint u;
    646646    CRFBOAttachmentPoint *ap;
    647 
     647    CRContext *g = GetCurrentContext();
     648    CRFramebufferObjectState *fbo = &g->framebufferobject;
     649    CRFramebufferObject *pFBO;
     650
     651    pFBO = GL_READ_FRAMEBUFFER==target ? fbo->readFB : fbo->drawFB;
    648652    if (!pFBO) return;
    649653
     
    653657        if (ap->type==GL_TEXTURE && ap->name==texture)
    654658        {
    655             crStateFramebufferTexture1DEXT(GL_FRAMEBUFFER_EXT, u+GL_COLOR_ATTACHMENT0_EXT, 0, 0, 0);
     659            crStateFramebufferTexture1DEXT(target, u+GL_COLOR_ATTACHMENT0_EXT, 0, 0, 0);
    656660        }
    657661    }
     
    660664    if (ap->type==GL_TEXTURE && ap->name==texture)
    661665    {
    662         crStateFramebufferTexture1DEXT(GL_FRAMEBUFFER_EXT, GL_DEPTH_ATTACHMENT_EXT, 0, 0, 0);
     666        crStateFramebufferTexture1DEXT(target, GL_DEPTH_ATTACHMENT_EXT, 0, 0, 0);
    663667    }
    664668
     
    666670    if (ap->type==GL_TEXTURE && ap->name==texture)
    667671    {
    668         crStateFramebufferTexture1DEXT(GL_FRAMEBUFFER_EXT, GL_STENCIL_ATTACHMENT_EXT, 0, 0, 0);
     672        crStateFramebufferTexture1DEXT(target, GL_STENCIL_ATTACHMENT_EXT, 0, 0, 0);
    669673    }
    670674}
     
    739743
    740744#ifdef CR_EXT_framebuffer_object
    741             crStateTextureCheckFBOAPs(g->framebufferobject.drawFB, name);
    742             crStateTextureCheckFBOAPs(g->framebufferobject.readFB, name);
     745            crStateTextureCheckFBOAPs(GL_DRAW_FRAMEBUFFER, name);
     746            crStateTextureCheckFBOAPs(GL_READ_FRAMEBUFFER, name);
    743747#endif
    744748                        crStateDeleteTextureObject(tObj);
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