Changeset 128760 in webkit


Ignore:
Timestamp:
Sep 17, 2012 8:06:10 AM (12 years ago)
Author:
commit-queue@webkit.org
Message:

[BlackBerry] Use glDeleteProgram to delete OpenGL shader programs.
https://bugs.webkit.org/show_bug.cgi?id=96771

Patch by Filip Spacek <fspacek@rim.com> on 2012-09-17
Reviewed by Rob Buis.

Reviewed internally by Arvid Nilsson.

  • platform/graphics/blackberry/EGLImageLayerWebKitThread.cpp:

(WebCore::EGLImageLayerWebKitThread::EGLImageLayerWebKitThread):
(WebCore::EGLImageLayerWebKitThread::~EGLImageLayerWebKitThread):
(WebCore::EGLImageLayerWebKitThread::deleteFrontBuffer):
(WebCore::EGLImageLayerWebKitThread::createShaderIfNeeded):
(WebCore::EGLImageLayerWebKitThread::blitToFrontBuffer):

  • platform/graphics/blackberry/EGLImageLayerWebKitThread.h:

(EGLImageLayerWebKitThread):

Location:
trunk/Source/WebCore
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r128759 r128760  
     12012-09-17  Filip Spacek  <fspacek@rim.com>
     2
     3        [BlackBerry] Use glDeleteProgram to delete OpenGL shader programs.
     4        https://bugs.webkit.org/show_bug.cgi?id=96771
     5
     6        Reviewed by Rob Buis.
     7
     8        Reviewed internally by Arvid Nilsson.
     9
     10        * platform/graphics/blackberry/EGLImageLayerWebKitThread.cpp:
     11        (WebCore::EGLImageLayerWebKitThread::EGLImageLayerWebKitThread):
     12        (WebCore::EGLImageLayerWebKitThread::~EGLImageLayerWebKitThread):
     13        (WebCore::EGLImageLayerWebKitThread::deleteFrontBuffer):
     14        (WebCore::EGLImageLayerWebKitThread::createShaderIfNeeded):
     15        (WebCore::EGLImageLayerWebKitThread::blitToFrontBuffer):
     16        * platform/graphics/blackberry/EGLImageLayerWebKitThread.h:
     17        (EGLImageLayerWebKitThread):
     18
    1192012-09-17  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
    220
  • trunk/Source/WebCore/platform/graphics/blackberry/EGLImageLayerWebKitThread.cpp

    r126236 r128760  
    4646    , m_frontBufferTexture(0)
    4747    , m_fbo(0)
    48     , m_shader(0)
     48    , m_program(0)
    4949    , m_image(0)
    5050{
     
    5959    ASSERT(!m_frontBufferTexture);
    6060    ASSERT(!m_fbo);
    61     ASSERT(!m_shader);
     61    ASSERT(!m_program);
    6262    ASSERT(!m_image);
    6363}
     
    124124    glDeleteFramebuffers(1, &m_fbo);
    125125    m_fbo = 0;
    126     glDeleteShader(m_shader);
    127     m_shader = 0;
     126    glDeleteProgram(m_program);
     127    m_program = 0;
    128128
    129129    // The image is in our EGLImageLayerCompositingThreadClient's custody
     
    217217        "}                                                  \n";
    218218
    219     if (!m_shader) {
    220         m_shader = LayerRenderer::loadShaderProgram(vertexShaderString, fragmentShaderStringRGBA);
    221         if (!m_shader)
     219    if (!m_program) {
     220        m_program = LayerRenderer::loadShaderProgram(vertexShaderString, fragmentShaderStringRGBA);
     221        if (!m_program)
    222222            return;
    223         glBindAttribLocation(m_shader, GLES2Program::PositionAttributeIndex, "a_position");
    224         glBindAttribLocation(m_shader, GLES2Program::TexCoordAttributeIndex, "a_texCoord");
    225         glLinkProgram(m_shader);
    226         unsigned samplerLocation = glGetUniformLocation(m_shader, "s_texture");
    227         glUseProgram(m_shader);
     223        glBindAttribLocation(m_program, GLES2Program::PositionAttributeIndex, "a_position");
     224        glBindAttribLocation(m_program, GLES2Program::TexCoordAttributeIndex, "a_texCoord");
     225        glLinkProgram(m_program);
     226        unsigned samplerLocation = glGetUniformLocation(m_program, "s_texture");
     227        glUseProgram(m_program);
    228228        glUniform1i(samplerLocation, 0);
    229229    }
     
    256256    glViewport(0, 0, m_size.width(), m_size.height());
    257257    glBindFramebuffer(GL_FRAMEBUFFER, m_fbo);
    258     glUseProgram(m_shader);
     258    glUseProgram(m_program);
    259259    glBindTexture(GL_TEXTURE_2D, backBufferTexture);
    260260    glColorMask(true, true, true, true);
  • trunk/Source/WebCore/platform/graphics/blackberry/EGLImageLayerWebKitThread.h

    r125770 r128760  
    5757    unsigned m_frontBufferTexture;
    5858    unsigned m_fbo;
    59     unsigned m_shader;
     59    unsigned m_program;
    6060    void* m_image;
    6161    Vector<void*> m_garbage;
Note: See TracChangeset for help on using the changeset viewer.