Diff
Modified: trunk/Source/WebCore/ChangeLog (154970 => 154971)
--- trunk/Source/WebCore/ChangeLog 2013-09-03 07:16:02 UTC (rev 154970)
+++ trunk/Source/WebCore/ChangeLog 2013-09-03 07:29:18 UTC (rev 154971)
@@ -1,3 +1,29 @@
+2013-09-03 Arvid Nilsson <[email protected]>
+
+ [BlackBerry] Remove LayerData::LayerProgram
+ https://bugs.webkit.org/show_bug.cgi?id=120601
+
+ Reviewed by Anders Carlsson.
+
+ JIRA 490672
+ All layer contents are RGBA now, so there's no need to support BGRA any
+ more and the LayerData::LayerProgram enum can be removed. Related dead
+ code was removed.
+
+ No new tests, no change in behavior.
+
+ * platform/graphics/blackberry/EGLImageLayerWebKitThread.cpp:
+ (WebCore::EGLImageLayerWebKitThread::EGLImageLayerWebKitThread):
+ * platform/graphics/blackberry/LayerData.h:
+ (WebCore::LayerData::LayerData):
+ * platform/graphics/blackberry/LayerRenderer.cpp:
+ (WebCore::LayerRenderer::compositeLayersRecursive):
+ (WebCore::LayerRenderer::createProgram):
+ * platform/graphics/blackberry/LayerRenderer.h:
+ * platform/graphics/blackberry/LayerWebKitThread.h:
+ * platform/graphics/blackberry/PluginLayerWebKitThread.cpp:
+ (WebCore::PluginLayerWebKitThread::setPluginView):
+
2013-09-03 Xabier Rodriguez Calvar <[email protected]>
[GStreamer] Video player sets system volume to 100%
Modified: trunk/Source/WebCore/platform/graphics/blackberry/EGLImageLayerWebKitThread.cpp (154970 => 154971)
--- trunk/Source/WebCore/platform/graphics/blackberry/EGLImageLayerWebKitThread.cpp 2013-09-03 07:16:02 UTC (rev 154970)
+++ trunk/Source/WebCore/platform/graphics/blackberry/EGLImageLayerWebKitThread.cpp 2013-09-03 07:29:18 UTC (rev 154971)
@@ -45,7 +45,6 @@
, m_textureAccessor(0)
{
layerCompositingThread()->setClient(m_client.get());
- setLayerProgram(LayerProgramRGBA);
}
EGLImageLayerWebKitThread::~EGLImageLayerWebKitThread()
Modified: trunk/Source/WebCore/platform/graphics/blackberry/LayerData.h (154970 => 154971)
--- trunk/Source/WebCore/platform/graphics/blackberry/LayerData.h 2013-09-03 07:16:02 UTC (rev 154970)
+++ trunk/Source/WebCore/platform/graphics/blackberry/LayerData.h 2013-09-03 07:29:18 UTC (rev 154971)
@@ -56,11 +56,6 @@
public:
enum LayerType { Layer, TransformLayer, WebGLLayer, CanvasLayer, CustomLayer };
enum FilterType { Linear, Nearest, Trilinear, Lanczos };
- enum LayerProgram {
- LayerProgramRGBA = 0,
- LayerProgramBGRA,
- NumberOfLayerPrograms
- };
#if ENABLE(CSS_FILTERS)
enum CSSFilterShaders {
@@ -91,7 +86,6 @@
, m_opacity(1.0)
, m_anchorPointZ(0.0)
, m_borderWidth(0.0)
- , m_layerProgram(LayerProgramBGRA)
, m_pluginView(0)
#if ENABLE(VIDEO)
, m_mediaPlayer(0)
@@ -159,8 +153,6 @@
bool needsTexture() const { return m_layerType == WebGLLayer || m_layerType == CanvasLayer || m_needsTexture; }
- LayerProgram layerProgram() const { return m_layerProgram; }
-
bool isFixedPosition() const { return m_isFixedPosition; }
bool hasFixedContainer() const { return m_hasFixedContainer; }
bool hasFixedAncestorInDOMTree() const { return m_hasFixedAncestorInDOMTree; }
@@ -219,8 +211,6 @@
float m_anchorPointZ;
float m_borderWidth;
- LayerProgram m_layerProgram;
-
PluginView* m_pluginView;
#if ENABLE(VIDEO)
MediaPlayer* m_mediaPlayer;
Modified: trunk/Source/WebCore/platform/graphics/blackberry/LayerRenderer.cpp (154970 => 154971)
--- trunk/Source/WebCore/platform/graphics/blackberry/LayerRenderer.cpp 2013-09-03 07:16:02 UTC (rev 154970)
+++ trunk/Source/WebCore/platform/graphics/blackberry/LayerRenderer.cpp 2013-09-03 07:29:18 UTC (rev 154971)
@@ -919,11 +919,9 @@
// Draw the surface onto another surface or screen.
bool drawSurface = layerAlreadyOnSurface(layer);
- // The texture format for the surface is RGBA.
- LayerData::LayerProgram layerProgram = drawSurface ? LayerData::LayerProgramRGBA : layer->layerProgram();
if (!drawSurface) {
- const GLES2Program& program = useLayerProgram(layerProgram);
+ const GLES2Program& program = useProgram(LayerProgramRGBA);
layer->drawTextures(program, m_scale, m_visibleRect, clipRect);
} else {
// Draw the reflection if it exists.
@@ -935,11 +933,11 @@
if (!mask && layer->replicaLayer())
mask = layer->replicaLayer()->maskLayer();
- const GLES2Program& program = useLayerProgram(layerProgram, mask);
+ const GLES2Program& program = useProgram(mask ? LayerMaskProgramRGBA : LayerProgramRGBA);
layer->drawSurface(program, layer->layerRendererSurface()->replicaDrawTransform(), mask);
}
- const GLES2Program& program = useLayerProgram(layerProgram, layer->maskLayer());
+ const GLES2Program& program = useProgram(layer->maskLayer() ? LayerMaskProgramRGBA : LayerProgramRGBA);
layer->drawSurface(program, layer->layerRendererSurface()->drawTransform(), layer->maskLayer());
}
}
@@ -1076,15 +1074,6 @@
" gl_FragColor = texture2D(s_texture, v_texCoord) * alpha; \n"
"} \n";
- const char* fragmentShaderStringBGRA =
- "varying mediump vec2 v_texCoord; \n"
- "uniform lowp sampler2D s_texture; \n"
- "uniform lowp float alpha; \n"
- "void main() \n"
- "{ \n"
- " gl_FragColor = texture2D(s_texture, v_texCoord).bgra * alpha; \n"
- "} \n";
-
const char* fragmentShaderStringMaskRGBA =
"varying mediump vec2 v_texCoord; \n"
"uniform lowp sampler2D s_texture; \n"
@@ -1097,18 +1086,6 @@
" gl_FragColor = vec4(texColor.x, texColor.y, texColor.z, texColor.w) * alpha * maskColor.w; \n"
"} \n";
- const char* fragmentShaderStringMaskBGRA =
- "varying mediump vec2 v_texCoord; \n"
- "uniform lowp sampler2D s_texture; \n"
- "uniform lowp sampler2D s_mask; \n"
- "uniform lowp float alpha; \n"
- "void main() \n"
- "{ \n"
- " lowp vec4 texColor = texture2D(s_texture, v_texCoord).bgra; \n"
- " lowp vec4 maskColor = texture2D(s_mask, v_texCoord).bgra; \n"
- " gl_FragColor = vec4(texColor.x, texColor.y, texColor.z, texColor.w) * alpha * maskColor.w; \n"
- "} \n";
-
// Shaders for drawing the debug borders around the layers.
const char* colorVertexShaderString =
"attribute vec4 a_position; \n"
@@ -1129,9 +1106,7 @@
switch (program) {
case LayerProgramRGBA:
- case LayerProgramBGRA:
case LayerMaskProgramRGBA:
- case LayerMaskProgramBGRA:
vertexShader = vertexShaderString;
break;
case ColorProgram:
@@ -1145,15 +1120,9 @@
case LayerProgramRGBA:
fragmentShader = fragmentShaderStringRGBA;
break;
- case LayerProgramBGRA:
- fragmentShader = fragmentShaderStringBGRA;
- break;
case LayerMaskProgramRGBA:
fragmentShader = fragmentShaderStringMaskRGBA;
break;
- case LayerMaskProgramBGRA:
- fragmentShader = fragmentShaderStringMaskBGRA;
- break;
case ColorProgram:
fragmentShader = colorFragmentShaderString;
break;
@@ -1188,15 +1157,13 @@
// Get locations of uniforms for the layer content shader program.
m_programs[program].m_locations[GLES2Program::OpacityUniform] = glGetUniformLocation(programObject, "alpha");
switch (program) {
- case LayerProgramRGBA:
- case LayerProgramBGRA: {
+ case LayerProgramRGBA: {
GLint samplerLocation = glGetUniformLocation(programObject, "s_texture");
glUseProgram(programObject);
glUniform1i(samplerLocation, 0);
break;
}
- case LayerMaskProgramRGBA:
- case LayerMaskProgramBGRA: {
+ case LayerMaskProgramRGBA: {
GLint maskSamplerLocation = glGetUniformLocation(programObject, "s_texture");
GLint maskSamplerLocationMask = glGetUniformLocation(programObject, "s_mask");
glUseProgram(programObject);
@@ -1231,14 +1198,6 @@
return program;
}
-const GLES2Program& LayerRenderer::useLayerProgram(LayerData::LayerProgram layerProgram, bool isMask /* = false */)
-{
- int program = layerProgram;
- if (isMask)
- program += MaskPrograms;
- return useProgram(static_cast<ProgramIndex>(program));
-}
-
void LayerRenderingResults::addDirtyRect(const IntRect& rect)
{
IntRect dirtyUnion[NumberOfDirtyRects];
Modified: trunk/Source/WebCore/platform/graphics/blackberry/LayerRenderer.h (154970 => 154971)
--- trunk/Source/WebCore/platform/graphics/blackberry/LayerRenderer.h 2013-09-03 07:16:02 UTC (rev 154970)
+++ trunk/Source/WebCore/platform/graphics/blackberry/LayerRenderer.h 2013-09-03 07:29:18 UTC (rev 154971)
@@ -158,22 +158,14 @@
bool makeContextCurrent();
enum ProgramIndex {
- LayerProgramRGBA = LayerData::LayerProgramRGBA,
- LayerProgramBGRA = LayerData::LayerProgramBGRA,
-
- MaskPrograms,
- LayerMaskProgramRGBA = MaskPrograms + LayerData::LayerProgramRGBA,
- LayerMaskProgramBGRA = MaskPrograms + LayerData::LayerProgramBGRA,
-
- InternalPrograms,
- ColorProgram = InternalPrograms,
-
+ LayerProgramRGBA,
+ LayerMaskProgramRGBA,
+ ColorProgram,
NumberOfPrograms
};
bool createProgram(ProgramIndex);
const BlackBerry::Platform::Graphics::GLES2Program& useProgram(ProgramIndex);
- const BlackBerry::Platform::Graphics::GLES2Program& useLayerProgram(LayerData::LayerProgram, bool isMask = false);
LayerRendererClient* m_client;
Modified: trunk/Source/WebCore/platform/graphics/blackberry/LayerWebKitThread.h (154970 => 154971)
--- trunk/Source/WebCore/platform/graphics/blackberry/LayerWebKitThread.h 2013-09-03 07:16:02 UTC (rev 154970)
+++ trunk/Source/WebCore/platform/graphics/blackberry/LayerWebKitThread.h 2013-09-03 07:29:18 UTC (rev 154971)
@@ -221,7 +221,6 @@
LayerWebKitThread(LayerType, GraphicsLayerBlackBerry* owner);
void setNeedsTexture(bool needsTexture) { m_needsTexture = needsTexture; }
- void setLayerProgram(LayerData::LayerProgram layerProgram) { m_layerProgram = layerProgram; }
bool isDrawable() const { return m_isDrawable; }
void updateVisibility();
Modified: trunk/Source/WebCore/platform/graphics/blackberry/PluginLayerWebKitThread.cpp (154970 => 154971)
--- trunk/Source/WebCore/platform/graphics/blackberry/PluginLayerWebKitThread.cpp 2013-09-03 07:16:02 UTC (rev 154970)
+++ trunk/Source/WebCore/platform/graphics/blackberry/PluginLayerWebKitThread.cpp 2013-09-03 07:29:18 UTC (rev 154971)
@@ -41,7 +41,6 @@
{
m_pluginView = pluginView;
setNeedsTexture(isDrawable() && pluginView);
- setLayerProgram(LayerProgramRGBA);
if (m_pluginView)
setNeedsDisplay();