Title: [128760] trunk/Source/WebCore
Revision
128760
Author
[email protected]
Date
2012-09-17 08:06:10 -0700 (Mon, 17 Sep 2012)

Log Message

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

Patch by Filip Spacek <[email protected]> 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):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (128759 => 128760)


--- trunk/Source/WebCore/ChangeLog	2012-09-17 15:04:43 UTC (rev 128759)
+++ trunk/Source/WebCore/ChangeLog	2012-09-17 15:06:10 UTC (rev 128760)
@@ -1,3 +1,21 @@
+2012-09-17  Filip Spacek  <[email protected]>
+
+        [BlackBerry] Use glDeleteProgram to delete OpenGL shader programs.
+        https://bugs.webkit.org/show_bug.cgi?id=96771
+
+        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):
+
 2012-09-17  Allan Sandfeld Jensen  <[email protected]>
 
         Revert r127457 and following fixes due to several hit-testing regressions

Modified: trunk/Source/WebCore/platform/graphics/blackberry/EGLImageLayerWebKitThread.cpp (128759 => 128760)


--- trunk/Source/WebCore/platform/graphics/blackberry/EGLImageLayerWebKitThread.cpp	2012-09-17 15:04:43 UTC (rev 128759)
+++ trunk/Source/WebCore/platform/graphics/blackberry/EGLImageLayerWebKitThread.cpp	2012-09-17 15:06:10 UTC (rev 128760)
@@ -45,7 +45,7 @@
     , m_needsDisplay(false)
     , m_frontBufferTexture(0)
     , m_fbo(0)
-    , m_shader(0)
+    , m_program(0)
     , m_image(0)
 {
     layerCompositingThread()->setClient(m_client.get());
@@ -58,7 +58,7 @@
     // before we get this far.
     ASSERT(!m_frontBufferTexture);
     ASSERT(!m_fbo);
-    ASSERT(!m_shader);
+    ASSERT(!m_program);
     ASSERT(!m_image);
 }
 
@@ -123,8 +123,8 @@
     m_frontBufferTexture = 0;
     glDeleteFramebuffers(1, &m_fbo);
     m_fbo = 0;
-    glDeleteShader(m_shader);
-    m_shader = 0;
+    glDeleteProgram(m_program);
+    m_program = 0;
 
     // The image is in our EGLImageLayerCompositingThreadClient's custody
     // at this point, and that object is responsible for deleting it.
@@ -216,15 +216,15 @@
         "  gl_FragColor = texture2D(s_texture, v_texCoord); \n"
         "}                                                  \n";
 
-    if (!m_shader) {
-        m_shader = LayerRenderer::loadShaderProgram(vertexShaderString, fragmentShaderStringRGBA);
-        if (!m_shader)
+    if (!m_program) {
+        m_program = LayerRenderer::loadShaderProgram(vertexShaderString, fragmentShaderStringRGBA);
+        if (!m_program)
             return;
-        glBindAttribLocation(m_shader, GLES2Program::PositionAttributeIndex, "a_position");
-        glBindAttribLocation(m_shader, GLES2Program::TexCoordAttributeIndex, "a_texCoord");
-        glLinkProgram(m_shader);
-        unsigned samplerLocation = glGetUniformLocation(m_shader, "s_texture");
-        glUseProgram(m_shader);
+        glBindAttribLocation(m_program, GLES2Program::PositionAttributeIndex, "a_position");
+        glBindAttribLocation(m_program, GLES2Program::TexCoordAttributeIndex, "a_texCoord");
+        glLinkProgram(m_program);
+        unsigned samplerLocation = glGetUniformLocation(m_program, "s_texture");
+        glUseProgram(m_program);
         glUniform1i(samplerLocation, 0);
     }
 }
@@ -255,7 +255,7 @@
 
     glViewport(0, 0, m_size.width(), m_size.height());
     glBindFramebuffer(GL_FRAMEBUFFER, m_fbo);
-    glUseProgram(m_shader);
+    glUseProgram(m_program);
     glBindTexture(GL_TEXTURE_2D, backBufferTexture);
     glColorMask(true, true, true, true);
 

Modified: trunk/Source/WebCore/platform/graphics/blackberry/EGLImageLayerWebKitThread.h (128759 => 128760)


--- trunk/Source/WebCore/platform/graphics/blackberry/EGLImageLayerWebKitThread.h	2012-09-17 15:04:43 UTC (rev 128759)
+++ trunk/Source/WebCore/platform/graphics/blackberry/EGLImageLayerWebKitThread.h	2012-09-17 15:06:10 UTC (rev 128760)
@@ -56,7 +56,7 @@
     bool m_needsDisplay;
     unsigned m_frontBufferTexture;
     unsigned m_fbo;
-    unsigned m_shader;
+    unsigned m_program;
     void* m_image;
     Vector<void*> m_garbage;
     IntSize m_size;
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to