[SCM] WebKit Debian packaging branch, webkit-1.1, updated. upstream/1.1.17-1283-gcf603cf
cmarrin at apple.com
cmarrin at apple.com
Tue Jan 5 23:39:45 UTC 2010
The following commit has been merged in the webkit-1.1 branch:
commit e06bf93356ad584129d19e58abaa96966cef0006
Author: cmarrin at apple.com <cmarrin at apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Tue Dec 1 16:09:27 2009 +0000
Changed mallocs to fastMallocs and frees to fastFrees in GraphicsContext3D. Also added error returns
https://bugs.webkit.org/show_bug.cgi?id=30778
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@51537 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog
index 286befa..95c13c6 100644
--- a/LayoutTests/ChangeLog
+++ b/LayoutTests/ChangeLog
@@ -1,5 +1,15 @@
2009-12-01 Chris Marrin <cmarrin at apple.com>
+ Reviewed by Adam Roben.
+
+ Added tests for getProgramInfoLog, getShaderInfoLog and getShaderSource to WebGL tests
+ https://bugs.webkit.org/show_bug.cgi?id=30778
+
+ * fast/canvas/webgl/gl-object-get-calls-expected.txt:
+ * fast/canvas/webgl/script-tests/gl-object-get-calls.js:
+
+2009-12-01 Chris Marrin <cmarrin at apple.com>
+
Reviewed by Oliver Hunt.
Updated webgl tests to use "experimental-webgl" as the context name.
diff --git a/LayoutTests/fast/canvas/webgl/gl-object-get-calls-expected.txt b/LayoutTests/fast/canvas/webgl/gl-object-get-calls-expected.txt
index 4367541..58b8702 100644
--- a/LayoutTests/fast/canvas/webgl/gl-object-get-calls-expected.txt
+++ b/LayoutTests/fast/canvas/webgl/gl-object-get-calls-expected.txt
@@ -2,6 +2,11 @@ Test of get calls against GL objects like getBufferParameter, etc.
On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+PASS gl.getProgramInfoLog(standardProgram) is ""
+PASS gl.getShaderInfoLog(errorVert) is parseError
+PASS gl.getShaderInfoLog(errorFrag) is parseError
+PASS gl.getShaderSource(errorVert) is errorVertString
+PASS gl.getShaderSource(errorFrag) is errorFragString
PASS gl.getBufferParameter(gl.ARRAY_BUFFER, gl.BUFFER_SIZE) is 16
PASS gl.getBufferParameter(gl.ARRAY_BUFFER, gl.BUFFER_USAGE) is gl.DYNAMIC_DRAW
PASS gl.getError() is 0
diff --git a/LayoutTests/fast/canvas/webgl/script-tests/gl-object-get-calls.js b/LayoutTests/fast/canvas/webgl/script-tests/gl-object-get-calls.js
index 340744d..bae8b8e 100644
--- a/LayoutTests/fast/canvas/webgl/script-tests/gl-object-get-calls.js
+++ b/LayoutTests/fast/canvas/webgl/script-tests/gl-object-get-calls.js
@@ -1,6 +1,15 @@
description("Test of get calls against GL objects like getBufferParameter, etc.");
var gl = create3DContext();
+
+var errorVert = gl.createShader(gl.VERTEX_SHADER);
+gl.shaderSource(errorVert, "I am a bad vertex shader");
+gl.compileShader(errorVert);
+
+var errorFrag = gl.createShader(gl.FRAGMENT_SHADER);
+gl.shaderSource(errorFrag, "I am a bad fragment shader");
+gl.compileShader(errorFrag);
+
var standardVert = loadStandardVertexShader(gl);
var standardFrag = loadStandardFragmentShader(gl);
var standardProgram = gl.createProgram();
@@ -8,6 +17,16 @@ gl.attachShader(standardProgram, standardVert);
gl.attachShader(standardProgram, standardFrag);
gl.linkProgram(standardProgram);
+// Test program and shader gets
+var parseError = "ERROR: 0:1: 'I' : syntax error syntax error\nERROR: Parser found no code to compile in source strings.\n";
+var errorVertString = "I am a bad vertex shader\n";
+var errorFragString = "I am a bad fragment shader\n";
+shouldBe('gl.getProgramInfoLog(standardProgram)', '""');
+shouldBe('gl.getShaderInfoLog(errorVert)', 'parseError');
+shouldBe('gl.getShaderInfoLog(errorFrag)', 'parseError');
+shouldBe('gl.getShaderSource(errorVert)', 'errorVertString');
+shouldBe('gl.getShaderSource(errorFrag)', 'errorFragString');
+
// Test getBufferParameter
var buffer = gl.createBuffer();
gl.bindBuffer(gl.ARRAY_BUFFER, buffer);
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index a839823..243c1e7 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,16 @@
+2009-12-01 Chris Marrin <cmarrin at apple.com>
+
+ Reviewed by Adam Roben.
+
+ Changed mallocs to fastMallocs and frees to fastFrees in GraphicsContext3D. Also added error returns
+ https://bugs.webkit.org/show_bug.cgi?id=30778
+
+ * platform/graphics/mac/GraphicsContext3DMac.cpp:
+ (WebCore::GraphicsContext3D::getProgramInfoLog):
+ (WebCore::GraphicsContext3D::getShaderInfoLog):
+ (WebCore::GraphicsContext3D::getShaderSource):
+ (WebCore::imageToTexture):
+
2009-12-01 Mads Ager <ager at chromium.org>
Reviewed by Eric Seidel.
diff --git a/WebCore/platform/graphics/mac/GraphicsContext3DMac.cpp b/WebCore/platform/graphics/mac/GraphicsContext3DMac.cpp
index c873a8b..39e5336 100644
--- a/WebCore/platform/graphics/mac/GraphicsContext3DMac.cpp
+++ b/WebCore/platform/graphics/mac/GraphicsContext3DMac.cpp
@@ -997,10 +997,13 @@ String GraphicsContext3D::getProgramInfoLog(WebGLProgram* program)
::glGetProgramiv((GLuint) program->object(), GL_INFO_LOG_LENGTH, &length);
GLsizei size;
- GLchar* info = (GLchar*) malloc(length);
+ GLchar* info = (GLchar*) fastMalloc(length);
+ if (!info)
+ return "";
+
::glGetProgramInfoLog((GLuint) program->object(), length, &size, info);
String s(info);
- free(info);
+ fastFree(info);
return s;
}
@@ -1027,10 +1030,13 @@ String GraphicsContext3D::getShaderInfoLog(WebGLShader* shader)
::glGetShaderiv((GLuint) shader->object(), GL_INFO_LOG_LENGTH, &length);
GLsizei size;
- GLchar* info = (GLchar*) malloc(length);
+ GLchar* info = (GLchar*) fastMalloc(length);
+ if (!info)
+ return "";
+
::glGetShaderInfoLog((GLuint) shader->object(), length, &size, info);
String s(info);
- free(info);
+ fastFree(info);
return s;
}
@@ -1043,10 +1049,13 @@ String GraphicsContext3D::getShaderSource(WebGLShader* shader)
::glGetShaderiv((GLuint) shader->object(), GL_SHADER_SOURCE_LENGTH, &length);
GLsizei size;
- GLchar* info = (GLchar*) malloc(length);
+ GLchar* info = (GLchar*) fastMalloc(length);
+ if (!info)
+ return "";
+
::glGetShaderSource((GLuint) shader->object(), length, &size, info);
String s(info);
- free(info);
+ fastFree(info);
return s;
}
@@ -1117,7 +1126,10 @@ static void imageToTexture(Image* image, unsigned target, unsigned level)
size_t textureWidth = CGImageGetWidth(textureImage);
size_t textureHeight = CGImageGetHeight(textureImage);
- GLubyte* textureData = (GLubyte*) malloc(textureWidth * textureHeight * 4);
+ GLubyte* textureData = (GLubyte*) fastMalloc(textureWidth * textureHeight * 4);
+ if (!textureData)
+ return;
+
CGContextRef textureContext = CGBitmapContextCreate(textureData, textureWidth, textureHeight, 8, textureWidth * 4,
CGImageGetColorSpace(textureImage), kCGImageAlphaPremultipliedLast);
@@ -1125,7 +1137,7 @@ static void imageToTexture(Image* image, unsigned target, unsigned level)
CGContextRelease(textureContext);
::glTexImage2D(target, level, GL_RGBA, textureWidth, textureHeight, 0, GL_RGBA, GL_UNSIGNED_BYTE, textureData);
- free(textureData);
+ fastFree(textureData);
}
int GraphicsContext3D::texImage2D(unsigned target, unsigned level, unsigned internalformat, unsigned width, unsigned height, unsigned border, unsigned format, unsigned type, WebGLArray* pixels)
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list