Diff
Modified: branches/safari-612-branch/LayoutTests/ChangeLog (284962 => 284963)
--- branches/safari-612-branch/LayoutTests/ChangeLog 2021-10-27 22:21:01 UTC (rev 284962)
+++ branches/safari-612-branch/LayoutTests/ChangeLog 2021-10-27 22:47:37 UTC (rev 284963)
@@ -738,6 +738,77 @@
* intersection-observer/observe-disconnected-target-expected.txt: Added.
* intersection-observer/observe-disconnected-target.html: Added.
+2021-10-25 Null <[email protected]>
+
+ Cherry-pick r282984. rdar://problem/77587429
+
+ Web Inspector: Graphics: add instrumentation for new `CanvasRenderingContext2DSettings`
+ https://bugs.webkit.org/show_bug.cgi?id=225180
+ <rdar://problem/77587429>
+
+ Reviewed by BJ Burg.
+
+ Source/_javascript_Core:
+
+ * inspector/protocol/Canvas.json:
+ Add `colorSpace` and `desynchronized` to `Canvas.ContextAttributes`.
+
+ Source/WebCore:
+
+ * inspector/InspectorCanvas.cpp:
+ (WebCore::buildObjectForCanvasContextAttributes): Added.
+ (WebCore::InspectorCanvas::buildObjectForCanvas):
+ (WebCore::InspectorCanvas::buildInitialState):
+ Unify the two cases where we fetch canvas attributes into a single method so that both get
+ the same data. This means that the canvas recorder now also uses `Canvas.ContextAttributes`.
+
+ LayoutTests:
+
+ * inspector/canvas/context-attributes-expected.txt:
+ * inspector/canvas/recording-2d-frameCount-expected.txt:
+ * inspector/canvas/recording-2d-full-expected.txt:
+ * inspector/canvas/recording-2d-memoryLimit-expected.txt:
+ * inspector/canvas/recording-bitmaprenderer-frameCount-expected.txt:
+ * inspector/canvas/recording-bitmaprenderer-full-expected.txt:
+ * inspector/canvas/recording-bitmaprenderer-memoryLimit-expected.txt:
+ * inspector/canvas/recording-html-2d-expected.txt:
+ * inspector/canvas/recording-webgl-frameCount-expected.txt:
+ * inspector/canvas/recording-webgl-full-expected.txt:
+ * inspector/canvas/recording-webgl-memoryLimit-expected.txt:
+ * inspector/canvas/recording-webgl-snapshots-expected.txt:
+ * inspector/canvas/recording-webgl2-frameCount-expected.txt:
+ * inspector/canvas/recording-webgl2-full-expected.txt:
+ * inspector/canvas/recording-webgl2-memoryLimit-expected.txt:
+ * inspector/canvas/recording-webgl2-snapshots-expected.txt:
+
+
+ git-svn-id: https://svn.webkit.org/repository/webkit/trunk@282984 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+ 2021-09-23 Devin Rousso <[email protected]>
+
+ Web Inspector: Graphics: add instrumentation for new `CanvasRenderingContext2DSettings`
+ https://bugs.webkit.org/show_bug.cgi?id=225180
+ <rdar://problem/77587429>
+
+ Reviewed by BJ Burg.
+
+ * inspector/canvas/context-attributes-expected.txt:
+ * inspector/canvas/recording-2d-frameCount-expected.txt:
+ * inspector/canvas/recording-2d-full-expected.txt:
+ * inspector/canvas/recording-2d-memoryLimit-expected.txt:
+ * inspector/canvas/recording-bitmaprenderer-frameCount-expected.txt:
+ * inspector/canvas/recording-bitmaprenderer-full-expected.txt:
+ * inspector/canvas/recording-bitmaprenderer-memoryLimit-expected.txt:
+ * inspector/canvas/recording-html-2d-expected.txt:
+ * inspector/canvas/recording-webgl-frameCount-expected.txt:
+ * inspector/canvas/recording-webgl-full-expected.txt:
+ * inspector/canvas/recording-webgl-memoryLimit-expected.txt:
+ * inspector/canvas/recording-webgl-snapshots-expected.txt:
+ * inspector/canvas/recording-webgl2-frameCount-expected.txt:
+ * inspector/canvas/recording-webgl2-full-expected.txt:
+ * inspector/canvas/recording-webgl2-memoryLimit-expected.txt:
+ * inspector/canvas/recording-webgl2-snapshots-expected.txt:
+
2021-10-22 Alan Coon <[email protected]>
Cherry-pick r283952. rdar://problem/84558050
Modified: branches/safari-612-branch/LayoutTests/inspector/canvas/context-attributes-expected.txt (284962 => 284963)
--- branches/safari-612-branch/LayoutTests/inspector/canvas/context-attributes-expected.txt 2021-10-27 22:21:01 UTC (rev 284962)
+++ branches/safari-612-branch/LayoutTests/inspector/canvas/context-attributes-expected.txt 2021-10-27 22:47:37 UTC (rev 284963)
@@ -5,7 +5,10 @@
-- Running test case: Create2DCanvasContext
Added canvas.
PASS: Canvas context should be "2D".
-{}
+{
+ "colorSpace": "srgb",
+ "desynchronized": false
+}
-- Running test case: CreateBitmapRendererCanvasContext
Added canvas.
Modified: branches/safari-612-branch/LayoutTests/inspector/canvas/recording-2d-frameCount-expected.txt (284962 => 284963)
--- branches/safari-612-branch/LayoutTests/inspector/canvas/recording-2d-frameCount-expected.txt 2021-10-27 22:21:01 UTC (rev 284962)
+++ branches/safari-612-branch/LayoutTests/inspector/canvas/recording-2d-frameCount-expected.txt 2021-10-27 22:47:37 UTC (rev 284963)
@@ -31,6 +31,7 @@
imageSmoothingQuality: "low"
setPath: [""]
parameters:
+ 0: {"colorSpace":"srgb","desynchronized":false}
content: <filtered>
frames:
0: (duration)
Modified: branches/safari-612-branch/LayoutTests/inspector/canvas/recording-2d-full-expected.txt (284962 => 284963)
--- branches/safari-612-branch/LayoutTests/inspector/canvas/recording-2d-full-expected.txt 2021-10-27 22:21:01 UTC (rev 284962)
+++ branches/safari-612-branch/LayoutTests/inspector/canvas/recording-2d-full-expected.txt 2021-10-27 22:47:37 UTC (rev 284963)
@@ -31,6 +31,7 @@
imageSmoothingQuality: "low"
setPath: [""]
parameters:
+ 0: {"colorSpace":"srgb","desynchronized":false}
content: <filtered>
frames:
0: (duration)
Modified: branches/safari-612-branch/LayoutTests/inspector/canvas/recording-2d-memoryLimit-expected.txt (284962 => 284963)
--- branches/safari-612-branch/LayoutTests/inspector/canvas/recording-2d-memoryLimit-expected.txt 2021-10-27 22:21:01 UTC (rev 284962)
+++ branches/safari-612-branch/LayoutTests/inspector/canvas/recording-2d-memoryLimit-expected.txt 2021-10-27 22:47:37 UTC (rev 284963)
@@ -31,6 +31,7 @@
imageSmoothingQuality: "low"
setPath: [""]
parameters:
+ 0: {"colorSpace":"srgb","desynchronized":false}
content: <filtered>
frames:
0: (duration) (incomplete)
Modified: branches/safari-612-branch/LayoutTests/inspector/canvas/recording-bitmaprenderer-frameCount-expected.txt (284962 => 284963)
--- branches/safari-612-branch/LayoutTests/inspector/canvas/recording-bitmaprenderer-frameCount-expected.txt 2021-10-27 22:21:01 UTC (rev 284962)
+++ branches/safari-612-branch/LayoutTests/inspector/canvas/recording-bitmaprenderer-frameCount-expected.txt 2021-10-27 22:47:37 UTC (rev 284963)
@@ -8,6 +8,7 @@
width: 2
height: 2
parameters:
+ 0: {"alpha":true}
content: <filtered>
frames:
0: (duration)
Modified: branches/safari-612-branch/LayoutTests/inspector/canvas/recording-bitmaprenderer-full-expected.txt (284962 => 284963)
--- branches/safari-612-branch/LayoutTests/inspector/canvas/recording-bitmaprenderer-full-expected.txt 2021-10-27 22:21:01 UTC (rev 284962)
+++ branches/safari-612-branch/LayoutTests/inspector/canvas/recording-bitmaprenderer-full-expected.txt 2021-10-27 22:47:37 UTC (rev 284963)
@@ -8,6 +8,7 @@
width: 2
height: 2
parameters:
+ 0: {"alpha":true}
content: <filtered>
frames:
0: (duration)
Modified: branches/safari-612-branch/LayoutTests/inspector/canvas/recording-bitmaprenderer-memoryLimit-expected.txt (284962 => 284963)
--- branches/safari-612-branch/LayoutTests/inspector/canvas/recording-bitmaprenderer-memoryLimit-expected.txt 2021-10-27 22:21:01 UTC (rev 284962)
+++ branches/safari-612-branch/LayoutTests/inspector/canvas/recording-bitmaprenderer-memoryLimit-expected.txt 2021-10-27 22:47:37 UTC (rev 284963)
@@ -8,6 +8,7 @@
width: 2
height: 2
parameters:
+ 0: {"alpha":true}
content: <filtered>
frames:
0: (duration) (incomplete)
Modified: branches/safari-612-branch/LayoutTests/inspector/canvas/recording-html-2d-expected.txt (284962 => 284963)
--- branches/safari-612-branch/LayoutTests/inspector/canvas/recording-html-2d-expected.txt 2021-10-27 22:21:01 UTC (rev 284962)
+++ branches/safari-612-branch/LayoutTests/inspector/canvas/recording-html-2d-expected.txt 2021-10-27 22:47:37 UTC (rev 284963)
@@ -29,11 +29,11 @@
canvas.width = 2;
canvas.height = 2;
-let context = canvas.getContext("2d");
+let context = canvas.getContext("2d", objects[0]);
let frames = [
function initialState() {
- context.drawImage(objects[0], 0, 0);
+ context.drawImage(objects[1], 0, 0);
context.direction = "ltr";
context.fillStyle = "#000000";
@@ -60,7 +60,7 @@
context.webkitLineDash = [];
context.webkitLineDashOffset = 0;
if ("setPath" in context)
- context.setPath(objects[1]);
+ context.setPath(objects[2]);
context.save();
context.direction = "ltr";
@@ -88,7 +88,7 @@
context.webkitLineDash = [];
context.webkitLineDashOffset = 0;
if ("setPath" in context)
- context.setPath(objects[2]);
+ context.setPath(objects[3]);
context.save();
context.direction = "ltr";
@@ -116,7 +116,7 @@
context.webkitLineDash = [];
context.webkitLineDashOffset = 0;
if ("setPath" in context)
- context.setPath(objects[3]);
+ context.setPath(objects[4]);
},
function startRecording() {
if (typeof console.record === "function")
@@ -125,10 +125,10 @@
function frame1() {
context.fillStyle;
context.fillStyle = "test";
- context.fillStyle = objects[4];
context.fillStyle = objects[5];
context.fillStyle = objects[6];
context.fillStyle = objects[7];
+ context.fillStyle = objects[8];
},
function frame2() {
context.beginPath();
@@ -137,19 +137,19 @@
context.moveTo(1, 2);
},
function frame4() {
- context.drawImage(objects[8], 11, 12);
+ context.drawImage(objects[9], 11, 12);
},
function frame5() {
- context.createImageData(objects[9]);
+ context.createImageData(objects[10]);
},
function frame6() {
- context.drawImage(objects[10], 11, 12);
+ context.drawImage(objects[11], 11, 12);
},
function frame7() {
- context.setTransform(objects[11]);
+ context.setTransform(objects[12]);
},
function frame8() {
- // context.drawFocusIfNeeded(objects[12], "Element");
+ // context.drawFocusIfNeeded(objects[13], "Element");
},
function stopRecording() {
if (typeof console.recordEnd === "function")
@@ -217,19 +217,19 @@
objects[key] = new Path2D(data);
}
-rebuildImage(0, <filtered>);
-rebuildPath2D(1, "");
+rebuildImage(1, <filtered>);
rebuildPath2D(2, "");
rebuildPath2D(3, "");
-rebuildCanvasGradient(4, {"type":"linear-gradient","points":[1,2,3,4],"stops":[{"offset":1,"color":"rgb(255, 0, 0)"},{"offset":1,"color":"rgb(0, 0, 255)"}]});
-rebuildCanvasGradient(5, {"type":"radial-gradient","points":[1,2,3,4,5,6],"stops":[]});
-rebuildCanvasGradient(6, {"type":"conic-gradient","points":[2,3,1],"stops":[{"offset":1,"color":"rgb(0, 128, 0)"}]});
-rebuildCanvasPattern(7, {"image":<filtered>,"repeat":"no-repeat"});
-rebuildImage(8, <filtered>);
-rebuildImageData(9, {"data":[0,0,0,0,0,0,0,0],"width":1,"height":2});
-rebuildImageBitmap(10, <filtered>);
-rebuildDOMMatrix(11, "matrix(1, 2, 3, 4, 5, 6)");
-rebuildPath2D(12, "M1 2");
+rebuildPath2D(4, "");
+rebuildCanvasGradient(5, {"type":"linear-gradient","points":[1,2,3,4],"stops":[{"offset":1,"color":"rgb(255, 0, 0)"},{"offset":1,"color":"rgb(0, 0, 255)"}]});
+rebuildCanvasGradient(6, {"type":"radial-gradient","points":[1,2,3,4,5,6],"stops":[]});
+rebuildCanvasGradient(7, {"type":"conic-gradient","points":[2,3,1],"stops":[{"offset":1,"color":"rgb(0, 128, 0)"}]});
+rebuildCanvasPattern(8, {"image":<filtered>,"repeat":"no-repeat"});
+rebuildImage(9, <filtered>);
+rebuildImageData(10, {"data":[0,0,0,0,0,0,0,0],"width":1,"height":2});
+rebuildImageBitmap(11, <filtered>);
+rebuildDOMMatrix(12, "matrix(1, 2, 3, 4, 5, 6)");
+rebuildPath2D(13, "M1 2");
Promise.all(promises).then(function() {
window.requestAnimationFrame(function executeFrame() {
Modified: branches/safari-612-branch/LayoutTests/inspector/canvas/recording-webgl-frameCount-expected.txt (284962 => 284963)
--- branches/safari-612-branch/LayoutTests/inspector/canvas/recording-webgl-frameCount-expected.txt 2021-10-27 22:21:01 UTC (rev 284962)
+++ branches/safari-612-branch/LayoutTests/inspector/canvas/recording-webgl-frameCount-expected.txt 2021-10-27 22:47:37 UTC (rev 284963)
@@ -8,7 +8,7 @@
width: 2
height: 2
parameters:
- 0: {"alpha":true,"depth":true,"stencil":false,"antialias":true,"premultipliedAlpha":true,"preserveDrawingBuffer":false,"failIfMajorPerformanceCaveat":false}
+ 0: {"alpha":true,"depth":true,"stencil":false,"antialias":true,"premultipliedAlpha":true,"preserveDrawingBuffer":false,"powerPreference":"default","failIfMajorPerformanceCaveat":false}
content: <filtered>
frames:
0: (duration)
Modified: branches/safari-612-branch/LayoutTests/inspector/canvas/recording-webgl-full-expected.txt (284962 => 284963)
--- branches/safari-612-branch/LayoutTests/inspector/canvas/recording-webgl-full-expected.txt 2021-10-27 22:21:01 UTC (rev 284962)
+++ branches/safari-612-branch/LayoutTests/inspector/canvas/recording-webgl-full-expected.txt 2021-10-27 22:47:37 UTC (rev 284963)
@@ -8,7 +8,7 @@
width: 2
height: 2
parameters:
- 0: {"alpha":true,"depth":true,"stencil":false,"antialias":true,"premultipliedAlpha":true,"preserveDrawingBuffer":false,"failIfMajorPerformanceCaveat":false}
+ 0: {"alpha":true,"depth":true,"stencil":false,"antialias":true,"premultipliedAlpha":true,"preserveDrawingBuffer":false,"powerPreference":"default","failIfMajorPerformanceCaveat":false}
content: <filtered>
frames:
0: (duration)
Modified: branches/safari-612-branch/LayoutTests/inspector/canvas/recording-webgl-memoryLimit-expected.txt (284962 => 284963)
--- branches/safari-612-branch/LayoutTests/inspector/canvas/recording-webgl-memoryLimit-expected.txt 2021-10-27 22:21:01 UTC (rev 284962)
+++ branches/safari-612-branch/LayoutTests/inspector/canvas/recording-webgl-memoryLimit-expected.txt 2021-10-27 22:47:37 UTC (rev 284963)
@@ -8,7 +8,7 @@
width: 2
height: 2
parameters:
- 0: {"alpha":true,"depth":true,"stencil":false,"antialias":true,"premultipliedAlpha":true,"preserveDrawingBuffer":false,"failIfMajorPerformanceCaveat":false}
+ 0: {"alpha":true,"depth":true,"stencil":false,"antialias":true,"premultipliedAlpha":true,"preserveDrawingBuffer":false,"powerPreference":"default","failIfMajorPerformanceCaveat":false}
content: <filtered>
frames:
0: (duration) (incomplete)
Modified: branches/safari-612-branch/LayoutTests/inspector/canvas/recording-webgl-snapshots-expected.txt (284962 => 284963)
--- branches/safari-612-branch/LayoutTests/inspector/canvas/recording-webgl-snapshots-expected.txt 2021-10-27 22:21:01 UTC (rev 284962)
+++ branches/safari-612-branch/LayoutTests/inspector/canvas/recording-webgl-snapshots-expected.txt 2021-10-27 22:47:37 UTC (rev 284963)
@@ -8,7 +8,7 @@
width: 300
height: 150
parameters:
- 0: {"alpha":true,"depth":true,"stencil":false,"antialias":true,"premultipliedAlpha":true,"preserveDrawingBuffer":false,"failIfMajorPerformanceCaveat":false}
+ 0: {"alpha":true,"depth":true,"stencil":false,"antialias":true,"premultipliedAlpha":true,"preserveDrawingBuffer":false,"powerPreference":"default","failIfMajorPerformanceCaveat":false}
content: <filtered>
frames:
0: (duration)
Modified: branches/safari-612-branch/LayoutTests/inspector/canvas/recording-webgl2-frameCount-expected.txt (284962 => 284963)
--- branches/safari-612-branch/LayoutTests/inspector/canvas/recording-webgl2-frameCount-expected.txt 2021-10-27 22:21:01 UTC (rev 284962)
+++ branches/safari-612-branch/LayoutTests/inspector/canvas/recording-webgl2-frameCount-expected.txt 2021-10-27 22:47:37 UTC (rev 284963)
@@ -8,7 +8,7 @@
width: 2
height: 2
parameters:
- 0: {"alpha":true,"depth":true,"stencil":false,"antialias":true,"premultipliedAlpha":true,"preserveDrawingBuffer":false,"failIfMajorPerformanceCaveat":false}
+ 0: {"alpha":true,"depth":true,"stencil":false,"antialias":true,"premultipliedAlpha":true,"preserveDrawingBuffer":false,"powerPreference":"default","failIfMajorPerformanceCaveat":false}
content: <filtered>
frames:
0: (duration)
Modified: branches/safari-612-branch/LayoutTests/inspector/canvas/recording-webgl2-full-expected.txt (284962 => 284963)
--- branches/safari-612-branch/LayoutTests/inspector/canvas/recording-webgl2-full-expected.txt 2021-10-27 22:21:01 UTC (rev 284962)
+++ branches/safari-612-branch/LayoutTests/inspector/canvas/recording-webgl2-full-expected.txt 2021-10-27 22:47:37 UTC (rev 284963)
@@ -8,7 +8,7 @@
width: 2
height: 2
parameters:
- 0: {"alpha":true,"depth":true,"stencil":false,"antialias":true,"premultipliedAlpha":true,"preserveDrawingBuffer":false,"failIfMajorPerformanceCaveat":false}
+ 0: {"alpha":true,"depth":true,"stencil":false,"antialias":true,"premultipliedAlpha":true,"preserveDrawingBuffer":false,"powerPreference":"default","failIfMajorPerformanceCaveat":false}
content: <filtered>
frames:
0: (duration)
Modified: branches/safari-612-branch/LayoutTests/inspector/canvas/recording-webgl2-memoryLimit-expected.txt (284962 => 284963)
--- branches/safari-612-branch/LayoutTests/inspector/canvas/recording-webgl2-memoryLimit-expected.txt 2021-10-27 22:21:01 UTC (rev 284962)
+++ branches/safari-612-branch/LayoutTests/inspector/canvas/recording-webgl2-memoryLimit-expected.txt 2021-10-27 22:47:37 UTC (rev 284963)
@@ -8,7 +8,7 @@
width: 2
height: 2
parameters:
- 0: {"alpha":true,"depth":true,"stencil":false,"antialias":true,"premultipliedAlpha":true,"preserveDrawingBuffer":false,"failIfMajorPerformanceCaveat":false}
+ 0: {"alpha":true,"depth":true,"stencil":false,"antialias":true,"premultipliedAlpha":true,"preserveDrawingBuffer":false,"powerPreference":"default","failIfMajorPerformanceCaveat":false}
content: <filtered>
frames:
0: (duration) (incomplete)
Modified: branches/safari-612-branch/LayoutTests/inspector/canvas/recording-webgl2-snapshots-expected.txt (284962 => 284963)
--- branches/safari-612-branch/LayoutTests/inspector/canvas/recording-webgl2-snapshots-expected.txt 2021-10-27 22:21:01 UTC (rev 284962)
+++ branches/safari-612-branch/LayoutTests/inspector/canvas/recording-webgl2-snapshots-expected.txt 2021-10-27 22:47:37 UTC (rev 284963)
@@ -8,7 +8,7 @@
width: 300
height: 150
parameters:
- 0: {"alpha":true,"depth":true,"stencil":false,"antialias":true,"premultipliedAlpha":true,"preserveDrawingBuffer":false,"failIfMajorPerformanceCaveat":false}
+ 0: {"alpha":true,"depth":true,"stencil":false,"antialias":true,"premultipliedAlpha":true,"preserveDrawingBuffer":false,"powerPreference":"default","failIfMajorPerformanceCaveat":false}
content: <filtered>
frames:
0: (duration)
Copied: branches/safari-612-branch/LayoutTests/platform/mac-wk1/inspector/canvas/recording-webgl-frameCount-expected.txt (from rev 284957, branches/safari-612-branch/LayoutTests/inspector/canvas/recording-webgl-frameCount-expected.txt) (0 => 284963)
--- branches/safari-612-branch/LayoutTests/platform/mac-wk1/inspector/canvas/recording-webgl-frameCount-expected.txt (rev 0)
+++ branches/safari-612-branch/LayoutTests/platform/mac-wk1/inspector/canvas/recording-webgl-frameCount-expected.txt 2021-10-27 22:47:37 UTC (rev 284963)
@@ -0,0 +1,26 @@
+Test that CanvasManager is able to record actions made to WebGL canvas contexts.
+
+
+== Running test suite: Canvas.recordingWebGL
+-- Running test case: Canvas.recordingWebGL.singleFrame
+initialState:
+ attributes:
+ width: 2
+ height: 2
+ parameters:
+ 0: {"alpha":true,"depth":true,"stencil":false,"antialias":true,"premultipliedAlpha":true,"preserveDrawingBuffer":false,"powerPreference":"low-power","failIfMajorPerformanceCaveat":false}
+ content: <filtered>
+frames:
+ 0: (duration)
+ 0: activeTexture(1)
+ swizzleTypes: [Number]
+ trace:
+ 0: activeTexture
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 3: performActions
+ 4: Global Code
+ 5: evaluateWithScopeExtension
+ 6: (anonymous function)
+ 7: _wrapCall
+
Copied: branches/safari-612-branch/LayoutTests/platform/mac-wk1/inspector/canvas/recording-webgl-full-expected.txt (from rev 284957, branches/safari-612-branch/LayoutTests/inspector/canvas/recording-webgl-full-expected.txt) (0 => 284963)
--- branches/safari-612-branch/LayoutTests/platform/mac-wk1/inspector/canvas/recording-webgl-full-expected.txt (rev 0)
+++ branches/safari-612-branch/LayoutTests/platform/mac-wk1/inspector/canvas/recording-webgl-full-expected.txt 2021-10-27 22:47:37 UTC (rev 284963)
@@ -0,0 +1,1001 @@
+Test that CanvasManager is able to record actions made to WebGL canvas contexts.
+
+
+== Running test suite: Canvas.recordingWebGL
+-- Running test case: Canvas.recordingWebGL.multipleFrames
+initialState:
+ attributes:
+ width: 2
+ height: 2
+ parameters:
+ 0: {"alpha":true,"depth":true,"stencil":false,"antialias":true,"premultipliedAlpha":true,"preserveDrawingBuffer":false,"powerPreference":"low-power","failIfMajorPerformanceCaveat":false}
+ content: <filtered>
+frames:
+ 0: (duration)
+ 0: activeTexture(1)
+ swizzleTypes: [Number]
+ trace:
+ 0: activeTexture
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 3: performActions
+ 4: Global Code
+ 5: evaluateWithScopeExtension
+ 6: (anonymous function)
+ 7: _wrapCall
+ 1: (duration)
+ 0: attachShader(0, 0)
+ swizzleTypes: [WebGLProgram, WebGLShader]
+ trace:
+ 0: attachShader
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 2: (duration)
+ 0: bindAttribLocation(0, 1, "test")
+ swizzleTypes: [WebGLProgram, Number, String]
+ trace:
+ 0: bindAttribLocation
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 3: (duration)
+ 0: bindBuffer(1, 0)
+ swizzleTypes: [Number, WebGLBuffer]
+ trace:
+ 0: bindBuffer
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 4: (duration)
+ 0: bindFramebuffer(1, 0)
+ swizzleTypes: [Number, WebGLFramebuffer]
+ trace:
+ 0: bindFramebuffer
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 5: (duration)
+ 0: bindRenderbuffer(1, 0)
+ swizzleTypes: [Number, WebGLRenderbuffer]
+ trace:
+ 0: bindRenderbuffer
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 6: (duration)
+ 0: bindTexture(1, 0)
+ swizzleTypes: [Number, WebGLTexture]
+ trace:
+ 0: bindTexture
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 7: (duration)
+ 0: blendColor(1, 2, 3, 4)
+ swizzleTypes: [Number, Number, Number, Number]
+ trace:
+ 0: blendColor
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 8: (duration)
+ 0: blendEquation(1)
+ swizzleTypes: [Number]
+ trace:
+ 0: blendEquation
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 9: (duration)
+ 0: blendEquationSeparate(1, 2)
+ swizzleTypes: [Number, Number]
+ trace:
+ 0: blendEquationSeparate
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 10: (duration)
+ 0: blendFunc(1, 2)
+ swizzleTypes: [Number, Number]
+ trace:
+ 0: blendFunc
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 11: (duration)
+ 0: blendFuncSeparate(1, 2, 3, 4)
+ swizzleTypes: [Number, Number, Number, Number]
+ trace:
+ 0: blendFuncSeparate
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 12: (duration)
+ 0: bufferData(1, 0, 2)
+ swizzleTypes: [Number, TypedArray, Number]
+ trace:
+ 0: bufferData
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 1: bufferData(3, 4, 5)
+ swizzleTypes: [Number, Number, Number]
+ trace:
+ 0: bufferData
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 13: (duration)
+ 0: bufferSubData(1, 2, 0)
+ swizzleTypes: [Number, Number, TypedArray]
+ trace:
+ 0: bufferSubData
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 14: (duration)
+ 0: checkFramebufferStatus(1)
+ swizzleTypes: [Number]
+ trace:
+ 0: checkFramebufferStatus
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 15: (duration)
+ 0: clear(1)
+ swizzleTypes: [Number]
+ trace:
+ 0: clear
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ snapshot: <filtered>
+ 16: (duration)
+ 0: clearColor(1, 2, 3, 4)
+ swizzleTypes: [Number, Number, Number, Number]
+ trace:
+ 0: clearColor
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 17: (duration)
+ 0: clearDepth(1)
+ swizzleTypes: [Number]
+ trace:
+ 0: clearDepth
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 18: (duration)
+ 0: clearStencil(1)
+ swizzleTypes: [Number]
+ trace:
+ 0: clearStencil
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 19: (duration)
+ 0: colorMask(true, false, true, false)
+ swizzleTypes: [Boolean, Boolean, Boolean, Boolean]
+ trace:
+ 0: colorMask
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 20: (duration)
+ 0: compileShader(0)
+ swizzleTypes: [WebGLShader]
+ trace:
+ 0: compileShader
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 21: (duration)
+ 0: compressedTexImage2D(1, 2, 3, 4, 5, 6, 0)
+ swizzleTypes: [Number, Number, Number, Number, Number, Number, TypedArray]
+ trace:
+ 0: compressedTexImage2D
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 22: (duration)
+ 0: compressedTexSubImage2D(1, 2, 3, 4, 5, 6, 7, 0)
+ swizzleTypes: [Number, Number, Number, Number, Number, Number, Number, TypedArray]
+ trace:
+ 0: compressedTexSubImage2D
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 23: (duration)
+ 0: copyTexImage2D(1, 2, 3, 4, 5, 6, 7, 8)
+ swizzleTypes: [Number, Number, Number, Number, Number, Number, Number, Number]
+ trace:
+ 0: copyTexImage2D
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 24: (duration)
+ 0: copyTexSubImage2D(1, 2, 3, 4, 5, 6, 7, 8)
+ swizzleTypes: [Number, Number, Number, Number, Number, Number, Number, Number]
+ trace:
+ 0: copyTexSubImage2D
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 25: (duration)
+ 0: createBuffer()
+ trace:
+ 0: createBuffer
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 26: (duration)
+ 0: createFramebuffer()
+ trace:
+ 0: createFramebuffer
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 27: (duration)
+ 0: createProgram()
+ trace:
+ 0: createProgram
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 28: (duration)
+ 0: createRenderbuffer()
+ trace:
+ 0: createRenderbuffer
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 29: (duration)
+ 0: createShader(1)
+ swizzleTypes: [Number]
+ trace:
+ 0: createShader
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 30: (duration)
+ 0: createTexture()
+ trace:
+ 0: createTexture
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 31: (duration)
+ 0: cullFace(1)
+ swizzleTypes: [Number]
+ trace:
+ 0: cullFace
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 32: (duration)
+ 0: deleteBuffer(0)
+ swizzleTypes: [WebGLBuffer]
+ trace:
+ 0: deleteBuffer
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 33: (duration)
+ 0: deleteFramebuffer(0)
+ swizzleTypes: [WebGLFramebuffer]
+ trace:
+ 0: deleteFramebuffer
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 34: (duration)
+ 0: deleteProgram(0)
+ swizzleTypes: [WebGLProgram]
+ trace:
+ 0: deleteProgram
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 35: (duration)
+ 0: deleteRenderbuffer(0)
+ swizzleTypes: [WebGLRenderbuffer]
+ trace:
+ 0: deleteRenderbuffer
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 36: (duration)
+ 0: deleteShader(0)
+ swizzleTypes: [WebGLShader]
+ trace:
+ 0: deleteShader
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 37: (duration)
+ 0: deleteTexture(0)
+ swizzleTypes: [WebGLTexture]
+ trace:
+ 0: deleteTexture
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 38: (duration)
+ 0: depthFunc(1)
+ swizzleTypes: [Number]
+ trace:
+ 0: depthFunc
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 39: (duration)
+ 0: depthMask(true)
+ swizzleTypes: [Boolean]
+ trace:
+ 0: depthMask
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 40: (duration)
+ 0: depthRange(1, 2)
+ swizzleTypes: [Number, Number]
+ trace:
+ 0: depthRange
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 41: (duration)
+ 0: detachShader(0, 0)
+ swizzleTypes: [WebGLProgram, WebGLShader]
+ trace:
+ 0: detachShader
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 42: (duration)
+ 0: disable(1)
+ swizzleTypes: [Number]
+ trace:
+ 0: disable
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 43: (duration)
+ 0: disableVertexAttribArray(1)
+ swizzleTypes: [Number]
+ trace:
+ 0: disableVertexAttribArray
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 44: (duration)
+ 0: drawArrays(1, 2, 3)
+ swizzleTypes: [Number, Number, Number]
+ trace:
+ 0: drawArrays
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ snapshot: <filtered>
+ 45: (duration)
+ 0: drawElements(1, 2, 3, 4)
+ swizzleTypes: [Number, Number, Number, Number]
+ trace:
+ 0: drawElements
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ snapshot: <filtered>
+ 46: (duration)
+ 0: enable(1)
+ swizzleTypes: [Number]
+ trace:
+ 0: enable
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 47: (duration)
+ 0: enableVertexAttribArray(1)
+ swizzleTypes: [Number]
+ trace:
+ 0: enableVertexAttribArray
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 48: (duration)
+ 0: finish()
+ trace:
+ 0: finish
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 49: (duration)
+ 0: flush()
+ trace:
+ 0: flush
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 50: (duration)
+ 0: framebufferRenderbuffer(1, 2, 3, 0)
+ swizzleTypes: [Number, Number, Number, WebGLRenderbuffer]
+ trace:
+ 0: framebufferRenderbuffer
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 51: (duration)
+ 0: framebufferTexture2D(1, 2, 3, 0, 4)
+ swizzleTypes: [Number, Number, Number, WebGLTexture, Number]
+ trace:
+ 0: framebufferTexture2D
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 52: (duration)
+ 0: frontFace(1)
+ swizzleTypes: [Number]
+ trace:
+ 0: frontFace
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 53: (duration)
+ 0: generateMipmap(1)
+ swizzleTypes: [Number]
+ trace:
+ 0: generateMipmap
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 54: (duration)
+ 0: getActiveAttrib(0, 1)
+ swizzleTypes: [WebGLProgram, Number]
+ trace:
+ 0: getActiveAttrib
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 55: (duration)
+ 0: getActiveUniform(0, 1)
+ swizzleTypes: [WebGLProgram, Number]
+ trace:
+ 0: getActiveUniform
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 56: (duration)
+ 0: getAttachedShaders(0)
+ swizzleTypes: [WebGLProgram]
+ trace:
+ 0: getAttachedShaders
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 57: (duration)
+ 0: getAttribLocation(0, "test")
+ swizzleTypes: [WebGLProgram, String]
+ trace:
+ 0: getAttribLocation
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 58: (duration)
+ 0: getBufferParameter(1, 2)
+ swizzleTypes: [Number, Number]
+ trace:
+ 0: getBufferParameter
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 59: (duration)
+ 0: getContextAttributes()
+ trace:
+ 0: getContextAttributes
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 60: (duration)
+ 0: getError()
+ trace:
+ 0: getError
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 61: (duration)
+ 0: getExtension("test")
+ swizzleTypes: [String]
+ trace:
+ 0: getExtension
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 62: (duration)
+ 0: getFramebufferAttachmentParameter(1, 2, 3)
+ swizzleTypes: [Number, Number, Number]
+ trace:
+ 0: getFramebufferAttachmentParameter
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 63: (duration)
+ 0: getParameter(1)
+ swizzleTypes: [Number]
+ trace:
+ 0: getParameter
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 64: (duration)
+ 0: getProgramInfoLog(0)
+ swizzleTypes: [WebGLProgram]
+ trace:
+ 0: getProgramInfoLog
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 65: (duration)
+ 0: getProgramParameter(0, 1)
+ swizzleTypes: [WebGLProgram, Number]
+ trace:
+ 0: getProgramParameter
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 66: (duration)
+ 0: getRenderbufferParameter(1, 2)
+ swizzleTypes: [Number, Number]
+ trace:
+ 0: getRenderbufferParameter
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 67: (duration)
+ 0: getShaderInfoLog(0)
+ swizzleTypes: [WebGLShader]
+ trace:
+ 0: getShaderInfoLog
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 68: (duration)
+ 0: getShaderParameter(0, 1)
+ swizzleTypes: [WebGLShader, Number]
+ trace:
+ 0: getShaderParameter
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 69: (duration)
+ 0: getShaderPrecisionFormat(1, 2)
+ swizzleTypes: [Number, Number]
+ trace:
+ 0: getShaderPrecisionFormat
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 70: (duration)
+ 0: getShaderSource(0)
+ swizzleTypes: [WebGLShader]
+ trace:
+ 0: getShaderSource
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 71: (duration)
+ 0: getSupportedExtensions()
+ trace:
+ 0: getSupportedExtensions
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 72: (duration)
+ 0: getTexParameter(1, 2)
+ swizzleTypes: [Number, Number]
+ trace:
+ 0: getTexParameter
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 73: (duration)
+ 0: getUniform(0, 0)
+ swizzleTypes: [WebGLProgram, WebGLUniformLocation]
+ trace:
+ 0: getUniform
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 74: (duration)
+ 0: getUniformLocation(0, "test")
+ swizzleTypes: [WebGLProgram, String]
+ trace:
+ 0: getUniformLocation
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 75: (duration)
+ 0: getVertexAttrib(1, 2)
+ swizzleTypes: [Number, Number]
+ trace:
+ 0: getVertexAttrib
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 76: (duration)
+ 0: getVertexAttribOffset(1, 2)
+ swizzleTypes: [Number, Number]
+ trace:
+ 0: getVertexAttribOffset
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 77: (duration)
+ 0: hint(1, 2)
+ swizzleTypes: [Number, Number]
+ trace:
+ 0: hint
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 78: (duration)
+ 0: isBuffer(0)
+ swizzleTypes: [WebGLBuffer]
+ trace:
+ 0: isBuffer
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 79: (duration)
+ 0: isContextLost()
+ trace:
+ 0: isContextLost
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 80: (duration)
+ 0: isEnabled(1)
+ swizzleTypes: [Number]
+ trace:
+ 0: isEnabled
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 81: (duration)
+ 0: isFramebuffer(0)
+ swizzleTypes: [WebGLFramebuffer]
+ trace:
+ 0: isFramebuffer
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 82: (duration)
+ 0: isProgram(0)
+ swizzleTypes: [WebGLProgram]
+ trace:
+ 0: isProgram
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 83: (duration)
+ 0: isRenderbuffer(0)
+ swizzleTypes: [WebGLRenderbuffer]
+ trace:
+ 0: isRenderbuffer
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 84: (duration)
+ 0: isShader(0)
+ swizzleTypes: [WebGLShader]
+ trace:
+ 0: isShader
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 85: (duration)
+ 0: isTexture(0)
+ swizzleTypes: [WebGLTexture]
+ trace:
+ 0: isTexture
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 86: (duration)
+ 0: lineWidth(1)
+ swizzleTypes: [Number]
+ trace:
+ 0: lineWidth
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 87: (duration)
+ 0: linkProgram(0)
+ swizzleTypes: [WebGLProgram]
+ trace:
+ 0: linkProgram
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 88: (duration)
+ 0: pixelStorei(1, 2)
+ swizzleTypes: [Number, Number]
+ trace:
+ 0: pixelStorei
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 89: (duration)
+ 0: polygonOffset(1, 2)
+ swizzleTypes: [Number, Number]
+ trace:
+ 0: polygonOffset
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 90: (duration)
+ 0: readPixels(1, 2, 3, 4, 5, 6, 0)
+ swizzleTypes: [Number, Number, Number, Number, Number, Number, TypedArray]
+ trace:
+ 0: readPixels
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 91: (duration)
+ 0: renderbufferStorage(1, 2, 3, 4)
+ swizzleTypes: [Number, Number, Number, Number]
+ trace:
+ 0: renderbufferStorage
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 92: (duration)
+ 0: sampleCoverage(1, true)
+ swizzleTypes: [Number, Boolean]
+ trace:
+ 0: sampleCoverage
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 93: (duration)
+ 0: scissor(1, 2, 3, 4)
+ swizzleTypes: [Number, Number, Number, Number]
+ trace:
+ 0: scissor
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 94: (duration)
+ 0: shaderSource(0, "test")
+ swizzleTypes: [WebGLShader, String]
+ trace:
+ 0: shaderSource
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 95: (duration)
+ 0: stencilFunc(1, 2, 3)
+ swizzleTypes: [Number, Number, Number]
+ trace:
+ 0: stencilFunc
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 96: (duration)
+ 0: stencilFuncSeparate(1, 2, 3, 4)
+ swizzleTypes: [Number, Number, Number, Number]
+ trace:
+ 0: stencilFuncSeparate
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 97: (duration)
+ 0: stencilMask(1)
+ swizzleTypes: [Number]
+ trace:
+ 0: stencilMask
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 98: (duration)
+ 0: stencilMaskSeparate(1, 2)
+ swizzleTypes: [Number, Number]
+ trace:
+ 0: stencilMaskSeparate
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 99: (duration)
+ 0: stencilOp(1, 2, 3)
+ swizzleTypes: [Number, Number, Number]
+ trace:
+ 0: stencilOp
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 100: (duration)
+ 0: stencilOpSeparate(1, 2, 3, 4)
+ swizzleTypes: [Number, Number, Number, Number]
+ trace:
+ 0: stencilOpSeparate
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 101: (duration)
+ 0: texImage2D(1, 2, 3, 4, 5, [object HTMLImageElement])
+ swizzleTypes: [Number, Number, Number, Number, Number, Image]
+ trace:
+ 0: texImage2D
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 1: texImage2D(6, 7, 8, 9, 10, 11, 12, 13, 0)
+ swizzleTypes: [Number, Number, Number, Number, Number, Number, Number, Number, TypedArray]
+ trace:
+ 0: texImage2D
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 102: (duration)
+ 0: texParameterf(1, 2, 3)
+ swizzleTypes: [Number, Number, Number]
+ trace:
+ 0: texParameterf
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 103: (duration)
+ 0: texParameteri(1, 2, 3)
+ swizzleTypes: [Number, Number, Number]
+ trace:
+ 0: texParameteri
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 104: (duration)
+ 0: texSubImage2D(1, 2, 3, 4, 5, 6, [object HTMLImageElement])
+ swizzleTypes: [Number, Number, Number, Number, Number, Number, Image]
+ trace:
+ 0: texSubImage2D
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 1: texSubImage2D(7, 8, 9, 10, 11, 12, 13, 14, 0)
+ swizzleTypes: [Number, Number, Number, Number, Number, Number, Number, Number, TypedArray]
+ trace:
+ 0: texSubImage2D
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 105: (duration)
+ 0: uniform1f(0, 1)
+ swizzleTypes: [WebGLUniformLocation, Number]
+ trace:
+ 0: uniform1f
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 106: (duration)
+ 0: uniform1fv(0, 0)
+ swizzleTypes: [WebGLUniformLocation, TypedArray]
+ trace:
+ 0: uniform1fv
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 107: (duration)
+ 0: uniform1i(0, 1)
+ swizzleTypes: [WebGLUniformLocation, Number]
+ trace:
+ 0: uniform1i
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 108: (duration)
+ 0: uniform1iv(0, 0)
+ swizzleTypes: [WebGLUniformLocation, TypedArray]
+ trace:
+ 0: uniform1iv
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 109: (duration)
+ 0: uniform2f(0, 1, 2)
+ swizzleTypes: [WebGLUniformLocation, Number, Number]
+ trace:
+ 0: uniform2f
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 110: (duration)
+ 0: uniform2fv(0, 0)
+ swizzleTypes: [WebGLUniformLocation, TypedArray]
+ trace:
+ 0: uniform2fv
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 111: (duration)
+ 0: uniform2i(0, 1, 2)
+ swizzleTypes: [WebGLUniformLocation, Number, Number]
+ trace:
+ 0: uniform2i
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 112: (duration)
+ 0: uniform2iv(0, 0)
+ swizzleTypes: [WebGLUniformLocation, TypedArray]
+ trace:
+ 0: uniform2iv
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 113: (duration)
+ 0: uniform3f(0, 1, 2, 3)
+ swizzleTypes: [WebGLUniformLocation, Number, Number, Number]
+ trace:
+ 0: uniform3f
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 114: (duration)
+ 0: uniform3fv(0, 0)
+ swizzleTypes: [WebGLUniformLocation, TypedArray]
+ trace:
+ 0: uniform3fv
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 115: (duration)
+ 0: uniform3i(0, 1, 2, 3)
+ swizzleTypes: [WebGLUniformLocation, Number, Number, Number]
+ trace:
+ 0: uniform3i
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 116: (duration)
+ 0: uniform3iv(0, 0)
+ swizzleTypes: [WebGLUniformLocation, TypedArray]
+ trace:
+ 0: uniform3iv
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 117: (duration)
+ 0: uniform4f(0, 1, 2, 3, 4)
+ swizzleTypes: [WebGLUniformLocation, Number, Number, Number, Number]
+ trace:
+ 0: uniform4f
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 118: (duration)
+ 0: uniform4fv(0, 0)
+ swizzleTypes: [WebGLUniformLocation, TypedArray]
+ trace:
+ 0: uniform4fv
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 119: (duration)
+ 0: uniform4i(0, 1, 2, 3, 4)
+ swizzleTypes: [WebGLUniformLocation, Number, Number, Number, Number]
+ trace:
+ 0: uniform4i
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 120: (duration)
+ 0: uniform4iv(0, 0)
+ swizzleTypes: [WebGLUniformLocation, TypedArray]
+ trace:
+ 0: uniform4iv
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 121: (duration)
+ 0: uniformMatrix2fv(0, true, 0)
+ swizzleTypes: [WebGLUniformLocation, Boolean, TypedArray]
+ trace:
+ 0: uniformMatrix2fv
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 122: (duration)
+ 0: uniformMatrix3fv(0, true, 0)
+ swizzleTypes: [WebGLUniformLocation, Boolean, TypedArray]
+ trace:
+ 0: uniformMatrix3fv
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 123: (duration)
+ 0: uniformMatrix4fv(0, true, 0)
+ swizzleTypes: [WebGLUniformLocation, Boolean, TypedArray]
+ trace:
+ 0: uniformMatrix4fv
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 124: (duration)
+ 0: useProgram(0)
+ swizzleTypes: [WebGLProgram]
+ trace:
+ 0: useProgram
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 125: (duration)
+ 0: validateProgram(0)
+ swizzleTypes: [WebGLProgram]
+ trace:
+ 0: validateProgram
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 126: (duration)
+ 0: vertexAttrib1f(1, 2)
+ swizzleTypes: [Number, Number]
+ trace:
+ 0: vertexAttrib1f
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 127: (duration)
+ 0: vertexAttrib1fv(1, 0)
+ swizzleTypes: [Number, TypedArray]
+ trace:
+ 0: vertexAttrib1fv
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 128: (duration)
+ 0: vertexAttrib2f(1, 2, 3)
+ swizzleTypes: [Number, Number, Number]
+ trace:
+ 0: vertexAttrib2f
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 129: (duration)
+ 0: vertexAttrib2fv(1, 0)
+ swizzleTypes: [Number, TypedArray]
+ trace:
+ 0: vertexAttrib2fv
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 130: (duration)
+ 0: vertexAttrib3f(1, 2, 3, 4)
+ swizzleTypes: [Number, Number, Number, Number]
+ trace:
+ 0: vertexAttrib3f
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 131: (duration)
+ 0: vertexAttrib3fv(1, 0)
+ swizzleTypes: [Number, TypedArray]
+ trace:
+ 0: vertexAttrib3fv
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 132: (duration)
+ 0: vertexAttrib4f(1, 2, 3, 4, 5)
+ swizzleTypes: [Number, Number, Number, Number, Number]
+ trace:
+ 0: vertexAttrib4f
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 133: (duration)
+ 0: vertexAttrib4fv(1, 0)
+ swizzleTypes: [Number, TypedArray]
+ trace:
+ 0: vertexAttrib4fv
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 134: (duration)
+ 0: vertexAttribPointer(1, 2, 3, true, 5, 6)
+ swizzleTypes: [Number, Number, Number, Boolean, Number, Number]
+ trace:
+ 0: vertexAttribPointer
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 135: (duration)
+ 0: viewport(1, 2, 3, 4)
+ swizzleTypes: [Number, Number, Number, Number]
+ trace:
+ 0: viewport
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 136: (duration)
+ 0: width
+ trace:
+ 0: (anonymous function)
+ 1: executeFrameFunction
+ 1: width = 2
+ swizzleTypes: [Number]
+ trace:
+ 0: (anonymous function)
+ 1: executeFrameFunction
+ 137: (duration)
+ 0: height
+ trace:
+ 0: (anonymous function)
+ 1: executeFrameFunction
+ 1: height = 2
+ swizzleTypes: [Number]
+ trace:
+ 0: (anonymous function)
+ 1: executeFrameFunction
+
Copied: branches/safari-612-branch/LayoutTests/platform/mac-wk1/inspector/canvas/recording-webgl-memoryLimit-expected.txt (from rev 284957, branches/safari-612-branch/LayoutTests/inspector/canvas/recording-webgl-memoryLimit-expected.txt) (0 => 284963)
--- branches/safari-612-branch/LayoutTests/platform/mac-wk1/inspector/canvas/recording-webgl-memoryLimit-expected.txt (rev 0)
+++ branches/safari-612-branch/LayoutTests/platform/mac-wk1/inspector/canvas/recording-webgl-memoryLimit-expected.txt 2021-10-27 22:47:37 UTC (rev 284963)
@@ -0,0 +1,26 @@
+Test that CanvasManager is able to record actions made to WebGL canvas contexts.
+
+
+== Running test suite: Canvas.recordingWebGL
+-- Running test case: Canvas.recordingWebGL.memoryLimit
+initialState:
+ attributes:
+ width: 2
+ height: 2
+ parameters:
+ 0: {"alpha":true,"depth":true,"stencil":false,"antialias":true,"premultipliedAlpha":true,"preserveDrawingBuffer":false,"powerPreference":"low-power","failIfMajorPerformanceCaveat":false}
+ content: <filtered>
+frames:
+ 0: (duration) (incomplete)
+ 0: activeTexture(1)
+ swizzleTypes: [Number]
+ trace:
+ 0: activeTexture
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 3: performActions
+ 4: Global Code
+ 5: evaluateWithScopeExtension
+ 6: (anonymous function)
+ 7: _wrapCall
+
Copied: branches/safari-612-branch/LayoutTests/platform/mac-wk1/inspector/canvas/recording-webgl-snapshots-expected.txt (from rev 284957, branches/safari-612-branch/LayoutTests/inspector/canvas/recording-webgl-snapshots-expected.txt) (0 => 284963)
--- branches/safari-612-branch/LayoutTests/platform/mac-wk1/inspector/canvas/recording-webgl-snapshots-expected.txt (rev 0)
+++ branches/safari-612-branch/LayoutTests/platform/mac-wk1/inspector/canvas/recording-webgl-snapshots-expected.txt 2021-10-27 22:47:37 UTC (rev 284963)
@@ -0,0 +1,139 @@
+Test that CanvasManager is able to record actions made to WebGL canvas contexts.
+
+
+== Running test suite: Canvas.recordingWebGL
+-- Running test case: Canvas.recordingWebGL.snapshots
+initialState:
+ attributes:
+ width: 300
+ height: 150
+ parameters:
+ 0: {"alpha":true,"depth":true,"stencil":false,"antialias":true,"premultipliedAlpha":true,"preserveDrawingBuffer":false,"powerPreference":"low-power","failIfMajorPerformanceCaveat":false}
+ content: <filtered>
+frames:
+ 0: (duration)
+ 0: useProgram(0)
+ swizzleTypes: [WebGLProgram]
+ trace:
+ 0: useProgram
+ 1: performActions
+ 2: Global Code
+ 3: evaluateWithScopeExtension
+ 4: (anonymous function)
+ 5: _wrapCall
+ 1: clearColor(0, 0, 0, 1)
+ swizzleTypes: [Number, Number, Number, Number]
+ trace:
+ 0: clearColor
+ 1: clearContext
+ 2: performActions
+ 3: Global Code
+ 4: evaluateWithScopeExtension
+ 5: (anonymous function)
+ 6: _wrapCall
+ 2: clear(16384)
+ swizzleTypes: [Number]
+ trace:
+ 0: clear
+ 1: clearContext
+ 2: performActions
+ 3: Global Code
+ 4: evaluateWithScopeExtension
+ 5: (anonymous function)
+ 6: _wrapCall
+ snapshot: <PASS: content changed>
+ 3: bufferData(34962, 0, 35044)
+ swizzleTypes: [Number, TypedArray, Number]
+ trace:
+ 0: bufferData
+ 1: drawArrays
+ 2: performActions
+ 3: Global Code
+ 4: evaluateWithScopeExtension
+ 5: (anonymous function)
+ 6: _wrapCall
+ 4: drawArrays(4, 0, 3)
+ swizzleTypes: [Number, Number, Number]
+ trace:
+ 0: drawArrays
+ 1: drawArrays
+ 2: performActions
+ 3: Global Code
+ 4: evaluateWithScopeExtension
+ 5: (anonymous function)
+ 6: _wrapCall
+ snapshot: <PASS: content changed>
+ 5: clearColor(0, 0, 0, 1)
+ swizzleTypes: [Number, Number, Number, Number]
+ trace:
+ 0: clearColor
+ 1: clearContext
+ 2: performActions
+ 3: Global Code
+ 4: evaluateWithScopeExtension
+ 5: (anonymous function)
+ 6: _wrapCall
+ 6: clear(16384)
+ swizzleTypes: [Number]
+ trace:
+ 0: clear
+ 1: clearContext
+ 2: performActions
+ 3: Global Code
+ 4: evaluateWithScopeExtension
+ 5: (anonymous function)
+ 6: _wrapCall
+ snapshot: <PASS: content changed>
+ 7: bufferData(34962, 0, 35044)
+ swizzleTypes: [Number, TypedArray, Number]
+ trace:
+ 0: bufferData
+ 1: drawElements
+ 2: performActions
+ 3: Global Code
+ 4: evaluateWithScopeExtension
+ 5: (anonymous function)
+ 6: _wrapCall
+ 8: bufferData(34963, 0, 35044)
+ swizzleTypes: [Number, TypedArray, Number]
+ trace:
+ 0: bufferData
+ 1: drawElements
+ 2: performActions
+ 3: Global Code
+ 4: evaluateWithScopeExtension
+ 5: (anonymous function)
+ 6: _wrapCall
+ 9: drawElements(4, 3, 5123, 0)
+ swizzleTypes: [Number, Number, Number, Number]
+ trace:
+ 0: drawElements
+ 1: drawElements
+ 2: performActions
+ 3: Global Code
+ 4: evaluateWithScopeExtension
+ 5: (anonymous function)
+ 6: _wrapCall
+ snapshot: <PASS: content changed>
+ 10: clearColor(0, 0, 0, 1)
+ swizzleTypes: [Number, Number, Number, Number]
+ trace:
+ 0: clearColor
+ 1: clearContext
+ 2: performActions
+ 3: Global Code
+ 4: evaluateWithScopeExtension
+ 5: (anonymous function)
+ 6: _wrapCall
+ 11: clear(16384)
+ swizzleTypes: [Number]
+ trace:
+ 0: clear
+ 1: clearContext
+ 2: performActions
+ 3: Global Code
+ 4: evaluateWithScopeExtension
+ 5: (anonymous function)
+ 6: _wrapCall
+ snapshot: <PASS: content changed>
+
Copied: branches/safari-612-branch/LayoutTests/platform/mac-wk1/inspector/canvas/recording-webgl2-frameCount-expected.txt (from rev 284957, branches/safari-612-branch/LayoutTests/inspector/canvas/recording-webgl2-frameCount-expected.txt) (0 => 284963)
--- branches/safari-612-branch/LayoutTests/platform/mac-wk1/inspector/canvas/recording-webgl2-frameCount-expected.txt (rev 0)
+++ branches/safari-612-branch/LayoutTests/platform/mac-wk1/inspector/canvas/recording-webgl2-frameCount-expected.txt 2021-10-27 22:47:37 UTC (rev 284963)
@@ -0,0 +1,26 @@
+Test that CanvasManager is able to record actions made to WebGL2 canvas contexts.
+
+
+== Running test suite: Canvas.recordingWebGL2
+-- Running test case: Canvas.recordingWebGL2.singleFrame
+initialState:
+ attributes:
+ width: 2
+ height: 2
+ parameters:
+ 0: {"alpha":true,"depth":true,"stencil":false,"antialias":true,"premultipliedAlpha":true,"preserveDrawingBuffer":false,"powerPreference":"low-power","failIfMajorPerformanceCaveat":false}
+ content: <filtered>
+frames:
+ 0: (duration)
+ 0: activeTexture(1)
+ swizzleTypes: [Number]
+ trace:
+ 0: activeTexture
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 3: performActions
+ 4: Global Code
+ 5: evaluateWithScopeExtension
+ 6: (anonymous function)
+ 7: _wrapCall
+
Copied: branches/safari-612-branch/LayoutTests/platform/mac-wk1/inspector/canvas/recording-webgl2-full-expected.txt (from rev 284957, branches/safari-612-branch/LayoutTests/inspector/canvas/recording-webgl2-full-expected.txt) (0 => 284963)
--- branches/safari-612-branch/LayoutTests/platform/mac-wk1/inspector/canvas/recording-webgl2-full-expected.txt (rev 0)
+++ branches/safari-612-branch/LayoutTests/platform/mac-wk1/inspector/canvas/recording-webgl2-full-expected.txt 2021-10-27 22:47:37 UTC (rev 284963)
@@ -0,0 +1,968 @@
+Test that CanvasManager is able to record actions made to WebGL2 canvas contexts.
+
+
+== Running test suite: Canvas.recordingWebGL2
+-- Running test case: Canvas.recordingWebGL2.multipleFrames
+initialState:
+ attributes:
+ width: 2
+ height: 2
+ parameters:
+ 0: {"alpha":true,"depth":true,"stencil":false,"antialias":true,"premultipliedAlpha":true,"preserveDrawingBuffer":false,"powerPreference":"low-power","failIfMajorPerformanceCaveat":false}
+ content: <filtered>
+frames:
+ 0: (duration)
+ 0: activeTexture(1)
+ swizzleTypes: [Number]
+ trace:
+ 0: activeTexture
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 3: performActions
+ 4: Global Code
+ 5: evaluateWithScopeExtension
+ 6: (anonymous function)
+ 7: _wrapCall
+ 1: (duration)
+ 0: attachShader(0, 0)
+ swizzleTypes: [WebGLProgram, WebGLShader]
+ trace:
+ 0: attachShader
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 2: (duration)
+ 0: bindAttribLocation(0, 1, "test")
+ swizzleTypes: [WebGLProgram, Number, String]
+ trace:
+ 0: bindAttribLocation
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 3: (duration)
+ 0: bindBuffer(1, 0)
+ swizzleTypes: [Number, WebGLBuffer]
+ trace:
+ 0: bindBuffer
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 4: (duration)
+ 0: bindFramebuffer(1, 0)
+ swizzleTypes: [Number, WebGLFramebuffer]
+ trace:
+ 0: bindFramebuffer
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 5: (duration)
+ 0: bindRenderbuffer(1, 0)
+ swizzleTypes: [Number, WebGLRenderbuffer]
+ trace:
+ 0: bindRenderbuffer
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 6: (duration)
+ 0: bindTexture(1, 0)
+ swizzleTypes: [Number, WebGLTexture]
+ trace:
+ 0: bindTexture
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 7: (duration)
+ 0: blendColor(1, 2, 3, 4)
+ swizzleTypes: [Number, Number, Number, Number]
+ trace:
+ 0: blendColor
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 8: (duration)
+ 0: blendEquation(1)
+ swizzleTypes: [Number]
+ trace:
+ 0: blendEquation
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 9: (duration)
+ 0: blendEquationSeparate(1, 2)
+ swizzleTypes: [Number, Number]
+ trace:
+ 0: blendEquationSeparate
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 10: (duration)
+ 0: blendFunc(1, 2)
+ swizzleTypes: [Number, Number]
+ trace:
+ 0: blendFunc
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 11: (duration)
+ 0: blendFuncSeparate(1, 2, 3, 4)
+ swizzleTypes: [Number, Number, Number, Number]
+ trace:
+ 0: blendFuncSeparate
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 12: (duration)
+ 0: bufferData(1, 0, 2)
+ swizzleTypes: [Number, TypedArray, Number]
+ trace:
+ 0: bufferData
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 1: bufferData(3, 4, 5)
+ swizzleTypes: [Number, Number, Number]
+ trace:
+ 0: bufferData
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 13: (duration)
+ 0: bufferSubData(1, 2, 0)
+ swizzleTypes: [Number, Number, TypedArray]
+ trace:
+ 0: bufferSubData
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 14: (duration)
+ 0: checkFramebufferStatus(1)
+ swizzleTypes: [Number]
+ trace:
+ 0: checkFramebufferStatus
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 15: (duration)
+ 0: clear(1)
+ swizzleTypes: [Number]
+ trace:
+ 0: clear
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ snapshot: <filtered>
+ 16: (duration)
+ 0: clearColor(1, 2, 3, 4)
+ swizzleTypes: [Number, Number, Number, Number]
+ trace:
+ 0: clearColor
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 17: (duration)
+ 0: clearDepth(1)
+ swizzleTypes: [Number]
+ trace:
+ 0: clearDepth
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 18: (duration)
+ 0: clearStencil(1)
+ swizzleTypes: [Number]
+ trace:
+ 0: clearStencil
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 19: (duration)
+ 0: colorMask(true, false, true, false)
+ swizzleTypes: [Boolean, Boolean, Boolean, Boolean]
+ trace:
+ 0: colorMask
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 20: (duration)
+ 0: compileShader(0)
+ swizzleTypes: [WebGLShader]
+ trace:
+ 0: compileShader
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 21: (duration)
+ 0: compressedTexSubImage2D(1, 2, 3, 4, 5, 6, 7, 0)
+ swizzleTypes: [Number, Number, Number, Number, Number, Number, Number, TypedArray]
+ trace:
+ 0: compressedTexSubImage2D
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 22: (duration)
+ 0: copyTexImage2D(1, 2, 3, 4, 5, 6, 7, 8)
+ swizzleTypes: [Number, Number, Number, Number, Number, Number, Number, Number]
+ trace:
+ 0: copyTexImage2D
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 23: (duration)
+ 0: copyTexSubImage2D(1, 2, 3, 4, 5, 6, 7, 8)
+ swizzleTypes: [Number, Number, Number, Number, Number, Number, Number, Number]
+ trace:
+ 0: copyTexSubImage2D
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 24: (duration)
+ 0: createBuffer()
+ trace:
+ 0: createBuffer
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 25: (duration)
+ 0: createFramebuffer()
+ trace:
+ 0: createFramebuffer
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 26: (duration)
+ 0: createProgram()
+ trace:
+ 0: createProgram
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 27: (duration)
+ 0: createRenderbuffer()
+ trace:
+ 0: createRenderbuffer
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 28: (duration)
+ 0: createShader(1)
+ swizzleTypes: [Number]
+ trace:
+ 0: createShader
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 29: (duration)
+ 0: createTexture()
+ trace:
+ 0: createTexture
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 30: (duration)
+ 0: cullFace(1)
+ swizzleTypes: [Number]
+ trace:
+ 0: cullFace
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 31: (duration)
+ 0: deleteBuffer(0)
+ swizzleTypes: [WebGLBuffer]
+ trace:
+ 0: deleteBuffer
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 32: (duration)
+ 0: deleteFramebuffer(0)
+ swizzleTypes: [WebGLFramebuffer]
+ trace:
+ 0: deleteFramebuffer
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 33: (duration)
+ 0: deleteProgram(0)
+ swizzleTypes: [WebGLProgram]
+ trace:
+ 0: deleteProgram
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 34: (duration)
+ 0: deleteRenderbuffer(0)
+ swizzleTypes: [WebGLRenderbuffer]
+ trace:
+ 0: deleteRenderbuffer
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 35: (duration)
+ 0: deleteShader(0)
+ swizzleTypes: [WebGLShader]
+ trace:
+ 0: deleteShader
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 36: (duration)
+ 0: deleteTexture(0)
+ swizzleTypes: [WebGLTexture]
+ trace:
+ 0: deleteTexture
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 37: (duration)
+ 0: depthFunc(1)
+ swizzleTypes: [Number]
+ trace:
+ 0: depthFunc
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 38: (duration)
+ 0: depthMask(true)
+ swizzleTypes: [Boolean]
+ trace:
+ 0: depthMask
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 39: (duration)
+ 0: depthRange(1, 2)
+ swizzleTypes: [Number, Number]
+ trace:
+ 0: depthRange
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 40: (duration)
+ 0: detachShader(0, 0)
+ swizzleTypes: [WebGLProgram, WebGLShader]
+ trace:
+ 0: detachShader
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 41: (duration)
+ 0: disable(1)
+ swizzleTypes: [Number]
+ trace:
+ 0: disable
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 42: (duration)
+ 0: disableVertexAttribArray(1)
+ swizzleTypes: [Number]
+ trace:
+ 0: disableVertexAttribArray
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 43: (duration)
+ 0: drawArrays(1, 2, 3)
+ swizzleTypes: [Number, Number, Number]
+ trace:
+ 0: drawArrays
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ snapshot: <filtered>
+ 44: (duration)
+ 0: drawElements(1, 2, 3, 4)
+ swizzleTypes: [Number, Number, Number, Number]
+ trace:
+ 0: drawElements
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ snapshot: <filtered>
+ 45: (duration)
+ 0: enable(1)
+ swizzleTypes: [Number]
+ trace:
+ 0: enable
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 46: (duration)
+ 0: enableVertexAttribArray(1)
+ swizzleTypes: [Number]
+ trace:
+ 0: enableVertexAttribArray
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 47: (duration)
+ 0: finish()
+ trace:
+ 0: finish
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 48: (duration)
+ 0: flush()
+ trace:
+ 0: flush
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 49: (duration)
+ 0: framebufferRenderbuffer(1, 2, 3, 0)
+ swizzleTypes: [Number, Number, Number, WebGLRenderbuffer]
+ trace:
+ 0: framebufferRenderbuffer
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 50: (duration)
+ 0: framebufferTexture2D(1, 2, 3, 0, 4)
+ swizzleTypes: [Number, Number, Number, WebGLTexture, Number]
+ trace:
+ 0: framebufferTexture2D
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 51: (duration)
+ 0: frontFace(1)
+ swizzleTypes: [Number]
+ trace:
+ 0: frontFace
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 52: (duration)
+ 0: generateMipmap(1)
+ swizzleTypes: [Number]
+ trace:
+ 0: generateMipmap
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 53: (duration)
+ 0: getActiveAttrib(0, 1)
+ swizzleTypes: [WebGLProgram, Number]
+ trace:
+ 0: getActiveAttrib
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 54: (duration)
+ 0: getActiveUniform(0, 1)
+ swizzleTypes: [WebGLProgram, Number]
+ trace:
+ 0: getActiveUniform
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 55: (duration)
+ 0: getAttachedShaders(0)
+ swizzleTypes: [WebGLProgram]
+ trace:
+ 0: getAttachedShaders
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 56: (duration)
+ 0: getAttribLocation(0, "test")
+ swizzleTypes: [WebGLProgram, String]
+ trace:
+ 0: getAttribLocation
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 57: (duration)
+ 0: getBufferParameter(1, 2)
+ swizzleTypes: [Number, Number]
+ trace:
+ 0: getBufferParameter
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 58: (duration)
+ 0: getContextAttributes()
+ trace:
+ 0: getContextAttributes
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 59: (duration)
+ 0: getError()
+ trace:
+ 0: getError
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 60: (duration)
+ 0: getExtension("test")
+ swizzleTypes: [String]
+ trace:
+ 0: getExtension
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 61: (duration)
+ 0: getFramebufferAttachmentParameter(1, 2, 3)
+ swizzleTypes: [Number, Number, Number]
+ trace:
+ 0: getFramebufferAttachmentParameter
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 62: (duration)
+ 0: getParameter(1)
+ swizzleTypes: [Number]
+ trace:
+ 0: getParameter
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 63: (duration)
+ 0: getProgramInfoLog(0)
+ swizzleTypes: [WebGLProgram]
+ trace:
+ 0: getProgramInfoLog
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 64: (duration)
+ 0: getProgramParameter(0, 1)
+ swizzleTypes: [WebGLProgram, Number]
+ trace:
+ 0: getProgramParameter
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 65: (duration)
+ 0: getRenderbufferParameter(1, 2)
+ swizzleTypes: [Number, Number]
+ trace:
+ 0: getRenderbufferParameter
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 66: (duration)
+ 0: getShaderInfoLog(0)
+ swizzleTypes: [WebGLShader]
+ trace:
+ 0: getShaderInfoLog
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 67: (duration)
+ 0: getShaderParameter(0, 1)
+ swizzleTypes: [WebGLShader, Number]
+ trace:
+ 0: getShaderParameter
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 68: (duration)
+ 0: getShaderPrecisionFormat(1, 2)
+ swizzleTypes: [Number, Number]
+ trace:
+ 0: getShaderPrecisionFormat
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 69: (duration)
+ 0: getShaderSource(0)
+ swizzleTypes: [WebGLShader]
+ trace:
+ 0: getShaderSource
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 70: (duration)
+ 0: getSupportedExtensions()
+ trace:
+ 0: getSupportedExtensions
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 71: (duration)
+ 0: getTexParameter(1, 2)
+ swizzleTypes: [Number, Number]
+ trace:
+ 0: getTexParameter
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 72: (duration)
+ 0: getUniform(0, 0)
+ swizzleTypes: [WebGLProgram, WebGLUniformLocation]
+ trace:
+ 0: getUniform
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 73: (duration)
+ 0: getUniformLocation(0, "test")
+ swizzleTypes: [WebGLProgram, String]
+ trace:
+ 0: getUniformLocation
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 74: (duration)
+ 0: getVertexAttrib(1, 2)
+ swizzleTypes: [Number, Number]
+ trace:
+ 0: getVertexAttrib
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 75: (duration)
+ 0: getVertexAttribOffset(1, 2)
+ swizzleTypes: [Number, Number]
+ trace:
+ 0: getVertexAttribOffset
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 76: (duration)
+ 0: hint(1, 2)
+ swizzleTypes: [Number, Number]
+ trace:
+ 0: hint
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 77: (duration)
+ 0: isBuffer(0)
+ swizzleTypes: [WebGLBuffer]
+ trace:
+ 0: isBuffer
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 78: (duration)
+ 0: isContextLost()
+ trace:
+ 0: isContextLost
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 79: (duration)
+ 0: isEnabled(1)
+ swizzleTypes: [Number]
+ trace:
+ 0: isEnabled
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 80: (duration)
+ 0: isFramebuffer(0)
+ swizzleTypes: [WebGLFramebuffer]
+ trace:
+ 0: isFramebuffer
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 81: (duration)
+ 0: isProgram(0)
+ swizzleTypes: [WebGLProgram]
+ trace:
+ 0: isProgram
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 82: (duration)
+ 0: isRenderbuffer(0)
+ swizzleTypes: [WebGLRenderbuffer]
+ trace:
+ 0: isRenderbuffer
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 83: (duration)
+ 0: isShader(0)
+ swizzleTypes: [WebGLShader]
+ trace:
+ 0: isShader
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 84: (duration)
+ 0: isTexture(0)
+ swizzleTypes: [WebGLTexture]
+ trace:
+ 0: isTexture
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 85: (duration)
+ 0: lineWidth(1)
+ swizzleTypes: [Number]
+ trace:
+ 0: lineWidth
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 86: (duration)
+ 0: linkProgram(0)
+ swizzleTypes: [WebGLProgram]
+ trace:
+ 0: linkProgram
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 87: (duration)
+ 0: pixelStorei(1, 2)
+ swizzleTypes: [Number, Number]
+ trace:
+ 0: pixelStorei
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 88: (duration)
+ 0: polygonOffset(1, 2)
+ swizzleTypes: [Number, Number]
+ trace:
+ 0: polygonOffset
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 89: (duration)
+ 0: readPixels(1, 2, 3, 4, 5, 6, 0)
+ swizzleTypes: [Number, Number, Number, Number, Number, Number, TypedArray]
+ trace:
+ 0: readPixels
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 90: (duration)
+ 0: renderbufferStorage(1, 2, 3, 4)
+ swizzleTypes: [Number, Number, Number, Number]
+ trace:
+ 0: renderbufferStorage
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 91: (duration)
+ 0: sampleCoverage(1, true)
+ swizzleTypes: [Number, Boolean]
+ trace:
+ 0: sampleCoverage
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 92: (duration)
+ 0: scissor(1, 2, 3, 4)
+ swizzleTypes: [Number, Number, Number, Number]
+ trace:
+ 0: scissor
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 93: (duration)
+ 0: shaderSource(0, "test")
+ swizzleTypes: [WebGLShader, String]
+ trace:
+ 0: shaderSource
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 94: (duration)
+ 0: stencilFunc(1, 2, 3)
+ swizzleTypes: [Number, Number, Number]
+ trace:
+ 0: stencilFunc
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 95: (duration)
+ 0: stencilFuncSeparate(1, 2, 3, 4)
+ swizzleTypes: [Number, Number, Number, Number]
+ trace:
+ 0: stencilFuncSeparate
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 96: (duration)
+ 0: stencilMask(1)
+ swizzleTypes: [Number]
+ trace:
+ 0: stencilMask
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 97: (duration)
+ 0: stencilMaskSeparate(1, 2)
+ swizzleTypes: [Number, Number]
+ trace:
+ 0: stencilMaskSeparate
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 98: (duration)
+ 0: stencilOp(1, 2, 3)
+ swizzleTypes: [Number, Number, Number]
+ trace:
+ 0: stencilOp
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 99: (duration)
+ 0: stencilOpSeparate(1, 2, 3, 4)
+ swizzleTypes: [Number, Number, Number, Number]
+ trace:
+ 0: stencilOpSeparate
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 100: (duration)
+ 0: texParameterf(1, 2, 3)
+ swizzleTypes: [Number, Number, Number]
+ trace:
+ 0: texParameterf
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 101: (duration)
+ 0: texParameteri(1, 2, 3)
+ swizzleTypes: [Number, Number, Number]
+ trace:
+ 0: texParameteri
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 102: (duration)
+ 0: uniform1f(0, 1)
+ swizzleTypes: [WebGLUniformLocation, Number]
+ trace:
+ 0: uniform1f
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 103: (duration)
+ 0: uniform1fv(0, 0)
+ swizzleTypes: [WebGLUniformLocation, TypedArray]
+ trace:
+ 0: uniform1fv
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 104: (duration)
+ 0: uniform1i(0, 1)
+ swizzleTypes: [WebGLUniformLocation, Number]
+ trace:
+ 0: uniform1i
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 105: (duration)
+ 0: uniform1iv(0, 0)
+ swizzleTypes: [WebGLUniformLocation, TypedArray]
+ trace:
+ 0: uniform1iv
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 106: (duration)
+ 0: uniform2f(0, 1, 2)
+ swizzleTypes: [WebGLUniformLocation, Number, Number]
+ trace:
+ 0: uniform2f
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 107: (duration)
+ 0: uniform2fv(0, 0)
+ swizzleTypes: [WebGLUniformLocation, TypedArray]
+ trace:
+ 0: uniform2fv
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 108: (duration)
+ 0: uniform2i(0, 1, 2)
+ swizzleTypes: [WebGLUniformLocation, Number, Number]
+ trace:
+ 0: uniform2i
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 109: (duration)
+ 0: uniform2iv(0, 0)
+ swizzleTypes: [WebGLUniformLocation, TypedArray]
+ trace:
+ 0: uniform2iv
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 110: (duration)
+ 0: uniform3f(0, 1, 2, 3)
+ swizzleTypes: [WebGLUniformLocation, Number, Number, Number]
+ trace:
+ 0: uniform3f
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 111: (duration)
+ 0: uniform3fv(0, 0)
+ swizzleTypes: [WebGLUniformLocation, TypedArray]
+ trace:
+ 0: uniform3fv
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 112: (duration)
+ 0: uniform3i(0, 1, 2, 3)
+ swizzleTypes: [WebGLUniformLocation, Number, Number, Number]
+ trace:
+ 0: uniform3i
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 113: (duration)
+ 0: uniform3iv(0, 0)
+ swizzleTypes: [WebGLUniformLocation, TypedArray]
+ trace:
+ 0: uniform3iv
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 114: (duration)
+ 0: uniform4f(0, 1, 2, 3, 4)
+ swizzleTypes: [WebGLUniformLocation, Number, Number, Number, Number]
+ trace:
+ 0: uniform4f
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 115: (duration)
+ 0: uniform4fv(0, 0)
+ swizzleTypes: [WebGLUniformLocation, TypedArray]
+ trace:
+ 0: uniform4fv
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 116: (duration)
+ 0: uniform4i(0, 1, 2, 3, 4)
+ swizzleTypes: [WebGLUniformLocation, Number, Number, Number, Number]
+ trace:
+ 0: uniform4i
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 117: (duration)
+ 0: uniform4iv(0, 0)
+ swizzleTypes: [WebGLUniformLocation, TypedArray]
+ trace:
+ 0: uniform4iv
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 118: (duration)
+ 0: uniformMatrix2fv(0, true, 0)
+ swizzleTypes: [WebGLUniformLocation, Boolean, TypedArray]
+ trace:
+ 0: uniformMatrix2fv
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 119: (duration)
+ 0: uniformMatrix3fv(0, true, 0)
+ swizzleTypes: [WebGLUniformLocation, Boolean, TypedArray]
+ trace:
+ 0: uniformMatrix3fv
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 120: (duration)
+ 0: uniformMatrix4fv(0, true, 0)
+ swizzleTypes: [WebGLUniformLocation, Boolean, TypedArray]
+ trace:
+ 0: uniformMatrix4fv
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 121: (duration)
+ 0: useProgram(0)
+ swizzleTypes: [WebGLProgram]
+ trace:
+ 0: useProgram
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 122: (duration)
+ 0: validateProgram(0)
+ swizzleTypes: [WebGLProgram]
+ trace:
+ 0: validateProgram
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 123: (duration)
+ 0: vertexAttrib1f(1, 2)
+ swizzleTypes: [Number, Number]
+ trace:
+ 0: vertexAttrib1f
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 124: (duration)
+ 0: vertexAttrib1fv(1, 0)
+ swizzleTypes: [Number, TypedArray]
+ trace:
+ 0: vertexAttrib1fv
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 125: (duration)
+ 0: vertexAttrib2f(1, 2, 3)
+ swizzleTypes: [Number, Number, Number]
+ trace:
+ 0: vertexAttrib2f
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 126: (duration)
+ 0: vertexAttrib2fv(1, 0)
+ swizzleTypes: [Number, TypedArray]
+ trace:
+ 0: vertexAttrib2fv
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 127: (duration)
+ 0: vertexAttrib3f(1, 2, 3, 4)
+ swizzleTypes: [Number, Number, Number, Number]
+ trace:
+ 0: vertexAttrib3f
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 128: (duration)
+ 0: vertexAttrib3fv(1, 0)
+ swizzleTypes: [Number, TypedArray]
+ trace:
+ 0: vertexAttrib3fv
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 129: (duration)
+ 0: vertexAttrib4f(1, 2, 3, 4, 5)
+ swizzleTypes: [Number, Number, Number, Number, Number]
+ trace:
+ 0: vertexAttrib4f
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 130: (duration)
+ 0: vertexAttrib4fv(1, 0)
+ swizzleTypes: [Number, TypedArray]
+ trace:
+ 0: vertexAttrib4fv
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 131: (duration)
+ 0: vertexAttribPointer(1, 2, 3, true, 5, 6)
+ swizzleTypes: [Number, Number, Number, Boolean, Number, Number]
+ trace:
+ 0: vertexAttribPointer
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 132: (duration)
+ 0: viewport(1, 2, 3, 4)
+ swizzleTypes: [Number, Number, Number, Number]
+ trace:
+ 0: viewport
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 133: (duration)
+ 0: width
+ trace:
+ 0: (anonymous function)
+ 1: executeFrameFunction
+ 1: width = 2
+ swizzleTypes: [Number]
+ trace:
+ 0: (anonymous function)
+ 1: executeFrameFunction
+ 134: (duration)
+ 0: height
+ trace:
+ 0: (anonymous function)
+ 1: executeFrameFunction
+ 1: height = 2
+ swizzleTypes: [Number]
+ trace:
+ 0: (anonymous function)
+ 1: executeFrameFunction
+
Copied: branches/safari-612-branch/LayoutTests/platform/mac-wk1/inspector/canvas/recording-webgl2-memoryLimit-expected.txt (from rev 284957, branches/safari-612-branch/LayoutTests/inspector/canvas/recording-webgl2-memoryLimit-expected.txt) (0 => 284963)
--- branches/safari-612-branch/LayoutTests/platform/mac-wk1/inspector/canvas/recording-webgl2-memoryLimit-expected.txt (rev 0)
+++ branches/safari-612-branch/LayoutTests/platform/mac-wk1/inspector/canvas/recording-webgl2-memoryLimit-expected.txt 2021-10-27 22:47:37 UTC (rev 284963)
@@ -0,0 +1,26 @@
+Test that CanvasManager is able to record actions made to WebGL2 canvas contexts.
+
+
+== Running test suite: Canvas.recordingWebGL2
+-- Running test case: Canvas.recordingWebGL2.memoryLimit
+initialState:
+ attributes:
+ width: 2
+ height: 2
+ parameters:
+ 0: {"alpha":true,"depth":true,"stencil":false,"antialias":true,"premultipliedAlpha":true,"preserveDrawingBuffer":false,"powerPreference":"low-power","failIfMajorPerformanceCaveat":false}
+ content: <filtered>
+frames:
+ 0: (duration) (incomplete)
+ 0: activeTexture(1)
+ swizzleTypes: [Number]
+ trace:
+ 0: activeTexture
+ 1: (anonymous function)
+ 2: executeFrameFunction
+ 3: performActions
+ 4: Global Code
+ 5: evaluateWithScopeExtension
+ 6: (anonymous function)
+ 7: _wrapCall
+
Copied: branches/safari-612-branch/LayoutTests/platform/mac-wk1/inspector/canvas/recording-webgl2-snapshots-expected.txt (from rev 284957, branches/safari-612-branch/LayoutTests/inspector/canvas/recording-webgl2-snapshots-expected.txt) (0 => 284963)
--- branches/safari-612-branch/LayoutTests/platform/mac-wk1/inspector/canvas/recording-webgl2-snapshots-expected.txt (rev 0)
+++ branches/safari-612-branch/LayoutTests/platform/mac-wk1/inspector/canvas/recording-webgl2-snapshots-expected.txt 2021-10-27 22:47:37 UTC (rev 284963)
@@ -0,0 +1,139 @@
+Test that CanvasManager is able to record actions made to WebGL2 canvas contexts.
+
+
+== Running test suite: Canvas.recordingWebGL2
+-- Running test case: Canvas.recordingWebGL2.snapshots
+initialState:
+ attributes:
+ width: 300
+ height: 150
+ parameters:
+ 0: {"alpha":true,"depth":true,"stencil":false,"antialias":true,"premultipliedAlpha":true,"preserveDrawingBuffer":false,"powerPreference":"low-power","failIfMajorPerformanceCaveat":false}
+ content: <filtered>
+frames:
+ 0: (duration)
+ 0: useProgram(0)
+ swizzleTypes: [WebGLProgram]
+ trace:
+ 0: useProgram
+ 1: performActions
+ 2: Global Code
+ 3: evaluateWithScopeExtension
+ 4: (anonymous function)
+ 5: _wrapCall
+ 1: clearColor(0, 0, 0, 1)
+ swizzleTypes: [Number, Number, Number, Number]
+ trace:
+ 0: clearColor
+ 1: clearContext
+ 2: performActions
+ 3: Global Code
+ 4: evaluateWithScopeExtension
+ 5: (anonymous function)
+ 6: _wrapCall
+ 2: clear(16384)
+ swizzleTypes: [Number]
+ trace:
+ 0: clear
+ 1: clearContext
+ 2: performActions
+ 3: Global Code
+ 4: evaluateWithScopeExtension
+ 5: (anonymous function)
+ 6: _wrapCall
+ snapshot: <PASS: content changed>
+ 3: bufferData(34962, 0, 35044)
+ swizzleTypes: [Number, TypedArray, Number]
+ trace:
+ 0: bufferData
+ 1: drawArrays
+ 2: performActions
+ 3: Global Code
+ 4: evaluateWithScopeExtension
+ 5: (anonymous function)
+ 6: _wrapCall
+ 4: drawArrays(4, 0, 3)
+ swizzleTypes: [Number, Number, Number]
+ trace:
+ 0: drawArrays
+ 1: drawArrays
+ 2: performActions
+ 3: Global Code
+ 4: evaluateWithScopeExtension
+ 5: (anonymous function)
+ 6: _wrapCall
+ snapshot: <PASS: content changed>
+ 5: clearColor(0, 0, 0, 1)
+ swizzleTypes: [Number, Number, Number, Number]
+ trace:
+ 0: clearColor
+ 1: clearContext
+ 2: performActions
+ 3: Global Code
+ 4: evaluateWithScopeExtension
+ 5: (anonymous function)
+ 6: _wrapCall
+ 6: clear(16384)
+ swizzleTypes: [Number]
+ trace:
+ 0: clear
+ 1: clearContext
+ 2: performActions
+ 3: Global Code
+ 4: evaluateWithScopeExtension
+ 5: (anonymous function)
+ 6: _wrapCall
+ snapshot: <PASS: content changed>
+ 7: bufferData(34962, 0, 35044)
+ swizzleTypes: [Number, TypedArray, Number]
+ trace:
+ 0: bufferData
+ 1: drawElements
+ 2: performActions
+ 3: Global Code
+ 4: evaluateWithScopeExtension
+ 5: (anonymous function)
+ 6: _wrapCall
+ 8: bufferData(34963, 0, 35044)
+ swizzleTypes: [Number, TypedArray, Number]
+ trace:
+ 0: bufferData
+ 1: drawElements
+ 2: performActions
+ 3: Global Code
+ 4: evaluateWithScopeExtension
+ 5: (anonymous function)
+ 6: _wrapCall
+ 9: drawElements(4, 3, 5123, 0)
+ swizzleTypes: [Number, Number, Number, Number]
+ trace:
+ 0: drawElements
+ 1: drawElements
+ 2: performActions
+ 3: Global Code
+ 4: evaluateWithScopeExtension
+ 5: (anonymous function)
+ 6: _wrapCall
+ snapshot: <PASS: content changed>
+ 10: clearColor(0, 0, 0, 1)
+ swizzleTypes: [Number, Number, Number, Number]
+ trace:
+ 0: clearColor
+ 1: clearContext
+ 2: performActions
+ 3: Global Code
+ 4: evaluateWithScopeExtension
+ 5: (anonymous function)
+ 6: _wrapCall
+ 11: clear(16384)
+ swizzleTypes: [Number]
+ trace:
+ 0: clear
+ 1: clearContext
+ 2: performActions
+ 3: Global Code
+ 4: evaluateWithScopeExtension
+ 5: (anonymous function)
+ 6: _wrapCall
+ snapshot: <PASS: content changed>
+
Modified: branches/safari-612-branch/Source/_javascript_Core/ChangeLog (284962 => 284963)
--- branches/safari-612-branch/Source/_javascript_Core/ChangeLog 2021-10-27 22:21:01 UTC (rev 284962)
+++ branches/safari-612-branch/Source/_javascript_Core/ChangeLog 2021-10-27 22:47:37 UTC (rev 284963)
@@ -251,6 +251,63 @@
* wasm/WasmTable.cpp:
(JSC::Wasm::Table::grow):
+2021-10-25 Null <[email protected]>
+
+ Cherry-pick r282984. rdar://problem/77587429
+
+ Web Inspector: Graphics: add instrumentation for new `CanvasRenderingContext2DSettings`
+ https://bugs.webkit.org/show_bug.cgi?id=225180
+ <rdar://problem/77587429>
+
+ Reviewed by BJ Burg.
+
+ Source/_javascript_Core:
+
+ * inspector/protocol/Canvas.json:
+ Add `colorSpace` and `desynchronized` to `Canvas.ContextAttributes`.
+
+ Source/WebCore:
+
+ * inspector/InspectorCanvas.cpp:
+ (WebCore::buildObjectForCanvasContextAttributes): Added.
+ (WebCore::InspectorCanvas::buildObjectForCanvas):
+ (WebCore::InspectorCanvas::buildInitialState):
+ Unify the two cases where we fetch canvas attributes into a single method so that both get
+ the same data. This means that the canvas recorder now also uses `Canvas.ContextAttributes`.
+
+ LayoutTests:
+
+ * inspector/canvas/context-attributes-expected.txt:
+ * inspector/canvas/recording-2d-frameCount-expected.txt:
+ * inspector/canvas/recording-2d-full-expected.txt:
+ * inspector/canvas/recording-2d-memoryLimit-expected.txt:
+ * inspector/canvas/recording-bitmaprenderer-frameCount-expected.txt:
+ * inspector/canvas/recording-bitmaprenderer-full-expected.txt:
+ * inspector/canvas/recording-bitmaprenderer-memoryLimit-expected.txt:
+ * inspector/canvas/recording-html-2d-expected.txt:
+ * inspector/canvas/recording-webgl-frameCount-expected.txt:
+ * inspector/canvas/recording-webgl-full-expected.txt:
+ * inspector/canvas/recording-webgl-memoryLimit-expected.txt:
+ * inspector/canvas/recording-webgl-snapshots-expected.txt:
+ * inspector/canvas/recording-webgl2-frameCount-expected.txt:
+ * inspector/canvas/recording-webgl2-full-expected.txt:
+ * inspector/canvas/recording-webgl2-memoryLimit-expected.txt:
+ * inspector/canvas/recording-webgl2-snapshots-expected.txt:
+
+
+ git-svn-id: https://svn.webkit.org/repository/webkit/trunk@282984 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+ 2021-09-23 Devin Rousso <[email protected]>
+
+ Web Inspector: Graphics: add instrumentation for new `CanvasRenderingContext2DSettings`
+ https://bugs.webkit.org/show_bug.cgi?id=225180
+ <rdar://problem/77587429>
+
+ Reviewed by BJ Burg.
+
+ * inspector/protocol/Canvas.json:
+ Add `colorSpace` and `desynchronized` to `Canvas.ContextAttributes`.
+
2021-10-18 Russell Epstein <[email protected]>
Cherry-pick r284348. rdar://problem/84398090
Modified: branches/safari-612-branch/Source/_javascript_Core/inspector/protocol/Canvas.json (284962 => 284963)
--- branches/safari-612-branch/Source/_javascript_Core/inspector/protocol/Canvas.json 2021-10-27 22:21:01 UTC (rev 284962)
+++ branches/safari-612-branch/Source/_javascript_Core/inspector/protocol/Canvas.json 2021-10-27 22:47:37 UTC (rev 284963)
@@ -39,6 +39,8 @@
"description": "Drawing surface attributes.",
"properties": [
{ "name": "alpha", "type": "boolean", "optional": true, "description": "WebGL, WebGL2, ImageBitmapRenderingContext" },
+ { "name": "colorSpace", "type": "string", "optional": true, "description": "2D" },
+ { "name": "desynchronized", "type": "boolean", "optional": true, "description": "2D" },
{ "name": "depth", "type": "boolean", "optional": true, "description": "WebGL, WebGL2" },
{ "name": "stencil", "type": "boolean", "optional": true, "description": "WebGL, WebGL2" },
{ "name": "antialias", "type": "boolean", "optional": true, "description": "WebGL, WebGL2" },
Modified: branches/safari-612-branch/Source/WebCore/ChangeLog (284962 => 284963)
--- branches/safari-612-branch/Source/WebCore/ChangeLog 2021-10-27 22:21:01 UTC (rev 284962)
+++ branches/safari-612-branch/Source/WebCore/ChangeLog 2021-10-27 22:47:37 UTC (rev 284963)
@@ -1462,6 +1462,67 @@
(WebCore::IntersectionObserver::isReachableFromOpaqueRoots const):
* page/IntersectionObserver.h:
+2021-10-25 Null <[email protected]>
+
+ Cherry-pick r282984. rdar://problem/77587429
+
+ Web Inspector: Graphics: add instrumentation for new `CanvasRenderingContext2DSettings`
+ https://bugs.webkit.org/show_bug.cgi?id=225180
+ <rdar://problem/77587429>
+
+ Reviewed by BJ Burg.
+
+ Source/_javascript_Core:
+
+ * inspector/protocol/Canvas.json:
+ Add `colorSpace` and `desynchronized` to `Canvas.ContextAttributes`.
+
+ Source/WebCore:
+
+ * inspector/InspectorCanvas.cpp:
+ (WebCore::buildObjectForCanvasContextAttributes): Added.
+ (WebCore::InspectorCanvas::buildObjectForCanvas):
+ (WebCore::InspectorCanvas::buildInitialState):
+ Unify the two cases where we fetch canvas attributes into a single method so that both get
+ the same data. This means that the canvas recorder now also uses `Canvas.ContextAttributes`.
+
+ LayoutTests:
+
+ * inspector/canvas/context-attributes-expected.txt:
+ * inspector/canvas/recording-2d-frameCount-expected.txt:
+ * inspector/canvas/recording-2d-full-expected.txt:
+ * inspector/canvas/recording-2d-memoryLimit-expected.txt:
+ * inspector/canvas/recording-bitmaprenderer-frameCount-expected.txt:
+ * inspector/canvas/recording-bitmaprenderer-full-expected.txt:
+ * inspector/canvas/recording-bitmaprenderer-memoryLimit-expected.txt:
+ * inspector/canvas/recording-html-2d-expected.txt:
+ * inspector/canvas/recording-webgl-frameCount-expected.txt:
+ * inspector/canvas/recording-webgl-full-expected.txt:
+ * inspector/canvas/recording-webgl-memoryLimit-expected.txt:
+ * inspector/canvas/recording-webgl-snapshots-expected.txt:
+ * inspector/canvas/recording-webgl2-frameCount-expected.txt:
+ * inspector/canvas/recording-webgl2-full-expected.txt:
+ * inspector/canvas/recording-webgl2-memoryLimit-expected.txt:
+ * inspector/canvas/recording-webgl2-snapshots-expected.txt:
+
+
+ git-svn-id: https://svn.webkit.org/repository/webkit/trunk@282984 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+ 2021-09-23 Devin Rousso <[email protected]>
+
+ Web Inspector: Graphics: add instrumentation for new `CanvasRenderingContext2DSettings`
+ https://bugs.webkit.org/show_bug.cgi?id=225180
+ <rdar://problem/77587429>
+
+ Reviewed by BJ Burg.
+
+ * inspector/InspectorCanvas.cpp:
+ (WebCore::buildObjectForCanvasContextAttributes): Added.
+ (WebCore::InspectorCanvas::buildObjectForCanvas):
+ (WebCore::InspectorCanvas::buildInitialState):
+ Unify the two cases where we fetch canvas attributes into a single method so that both get
+ the same data. This means that the canvas recorder now also uses `Canvas.ContextAttributes`.
+
2021-10-22 Alan Coon <[email protected]>
Cherry-pick r283952. rdar://problem/84558050
Modified: branches/safari-612-branch/Source/WebCore/inspector/InspectorCanvas.cpp (284962 => 284963)
--- branches/safari-612-branch/Source/WebCore/inspector/InspectorCanvas.cpp 2021-10-27 22:21:01 UTC (rev 284962)
+++ branches/safari-612-branch/Source/WebCore/inspector/InspectorCanvas.cpp 2021-10-27 22:47:37 UTC (rev 284963)
@@ -813,6 +813,67 @@
return m_frameCount && m_framesCaptured >= m_frameCount.value();
}
+static RefPtr<Inspector::Protocol::Canvas::ContextAttributes> buildObjectForCanvasContextAttributes(CanvasRenderingContext& context)
+{
+ if (is<CanvasRenderingContext2D>(context)) {
+ auto attributes = downcast<CanvasRenderingContext2D>(context).getContextAttributes();
+ auto contextAttributesPayload = Inspector::Protocol::Canvas::ContextAttributes::create()
+ .release();
+ switch (attributes.colorSpace) {
+ case PredefinedColorSpace::SRGB:
+ contextAttributesPayload->setColorSpace("srgb"_s);
+ break;
+
+#if ENABLE(PREDEFINED_COLOR_SPACE_DISPLAY_P3)
+ case PredefinedColorSpace::DisplayP3:
+ contextAttributesPayload->setColorSpace("display-p3"_s);
+ break;
+#endif
+ }
+ contextAttributesPayload->setDesynchronized(attributes.desynchronized);
+ return contextAttributesPayload;
+ }
+
+ if (is<ImageBitmapRenderingContext>(context)) {
+ auto contextAttributesPayload = Inspector::Protocol::Canvas::ContextAttributes::create()
+ .release();
+ contextAttributesPayload->setAlpha(downcast<ImageBitmapRenderingContext>(context).hasAlpha());
+ return contextAttributesPayload;
+ }
+
+#if ENABLE(WEBGL)
+ if (is<WebGLRenderingContextBase>(context)) {
+ const auto& attributes = downcast<WebGLRenderingContextBase>(context).getContextAttributes();
+ if (!attributes)
+ return nullptr;
+
+ auto contextAttributesPayload = Inspector::Protocol::Canvas::ContextAttributes::create()
+ .release();
+ contextAttributesPayload->setAlpha(attributes->alpha);
+ contextAttributesPayload->setDepth(attributes->depth);
+ contextAttributesPayload->setStencil(attributes->stencil);
+ contextAttributesPayload->setAntialias(attributes->antialias);
+ contextAttributesPayload->setPremultipliedAlpha(attributes->premultipliedAlpha);
+ contextAttributesPayload->setPreserveDrawingBuffer(attributes->preserveDrawingBuffer);
+ switch (attributes->powerPreference) {
+ case WebGLPowerPreference::Default:
+ contextAttributesPayload->setPowerPreference("default"_s);
+ break;
+ case WebGLPowerPreference::LowPower:
+ contextAttributesPayload->setPowerPreference("low-power"_s);
+ break;
+ case WebGLPowerPreference::HighPerformance:
+ contextAttributesPayload->setPowerPreference("high-performance"_s);
+ break;
+ }
+ contextAttributesPayload->setFailIfMajorPerformanceCaveat(attributes->failIfMajorPerformanceCaveat);
+ return contextAttributesPayload;
+ }
+#endif // ENABLE(WEBGL)
+
+ return nullptr;
+}
+
Ref<Protocol::Canvas::Canvas> InspectorCanvas::buildObjectForCanvas(bool captureBacktrace)
{
using ContextTypeType = std::optional<Protocol::Canvas::ContextType>;
@@ -856,45 +917,9 @@
// FIXME: <https://webkit.org/b/178282> Web Inspector: send a DOM node with each Canvas payload and eliminate Canvas.requestNode
}
- using ContextAttributesType = RefPtr<Protocol::Canvas::ContextAttributes>;
auto contextAttributes = WTF::switchOn(m_context,
- [] (std::reference_wrapper<CanvasRenderingContext> contextWrapper) -> ContextAttributesType {
- auto& context = contextWrapper.get();
- if (is<ImageBitmapRenderingContext>(context)) {
- auto contextAttributesPayload = Protocol::Canvas::ContextAttributes::create()
- .release();
- contextAttributesPayload->setAlpha(downcast<ImageBitmapRenderingContext>(context).hasAlpha());
- return contextAttributesPayload;
- }
-
-#if ENABLE(WEBGL)
- if (is<WebGLRenderingContextBase>(context)) {
- if (const auto& attributes = downcast<WebGLRenderingContextBase>(context).getContextAttributes()) {
- auto contextAttributesPayload = Protocol::Canvas::ContextAttributes::create()
- .release();
- contextAttributesPayload->setAlpha(attributes->alpha);
- contextAttributesPayload->setDepth(attributes->depth);
- contextAttributesPayload->setStencil(attributes->stencil);
- contextAttributesPayload->setAntialias(attributes->antialias);
- contextAttributesPayload->setPremultipliedAlpha(attributes->premultipliedAlpha);
- contextAttributesPayload->setPreserveDrawingBuffer(attributes->preserveDrawingBuffer);
- switch (attributes->powerPreference) {
- case WebGLPowerPreference::Default:
- contextAttributesPayload->setPowerPreference("default");
- break;
- case WebGLPowerPreference::LowPower:
- contextAttributesPayload->setPowerPreference("low-power");
- break;
- case WebGLPowerPreference::HighPerformance:
- contextAttributesPayload->setPowerPreference("high-performance");
- break;
- }
- contextAttributesPayload->setFailIfMajorPerformanceCaveat(attributes->failIfMajorPerformanceCaveat);
- return contextAttributesPayload;
- }
- }
-#endif
- return nullptr;
+ [] (std::reference_wrapper<CanvasRenderingContext> contextWrapper) {
+ return buildObjectForCanvasContextAttributes(contextWrapper);
},
[] (Monostate) {
ASSERT_NOT_REACHED();
@@ -1229,23 +1254,10 @@
statesPayload->addItem(WTFMove(statePayload));
}
}
-#if ENABLE(WEBGL)
- else if (is<WebGLRenderingContextBase>(context)) {
- auto& contextWebGLBase = downcast<WebGLRenderingContextBase>(*context);
- if (std::optional<WebGLContextAttributes> webGLContextAttributes = contextWebGLBase.getContextAttributes()) {
- auto webGLContextAttributesPayload = JSON::Object::create();
- webGLContextAttributesPayload->setBoolean("alpha"_s, webGLContextAttributes->alpha);
- webGLContextAttributesPayload->setBoolean("depth"_s, webGLContextAttributes->depth);
- webGLContextAttributesPayload->setBoolean("stencil"_s, webGLContextAttributes->stencil);
- webGLContextAttributesPayload->setBoolean("antialias"_s, webGLContextAttributes->antialias);
- webGLContextAttributesPayload->setBoolean("premultipliedAlpha"_s, webGLContextAttributes->premultipliedAlpha);
- webGLContextAttributesPayload->setBoolean("preserveDrawingBuffer"_s, webGLContextAttributes->preserveDrawingBuffer);
- webGLContextAttributesPayload->setBoolean("failIfMajorPerformanceCaveat"_s, webGLContextAttributes->failIfMajorPerformanceCaveat);
- parametersPayload->addItem(WTFMove(webGLContextAttributesPayload));
- }
- }
-#endif
+ if (auto contextAttributes = buildObjectForCanvasContextAttributes(*context))
+ parametersPayload->addItem(contextAttributes.releaseNonNull());
+
initialStatePayload->setAttributes(WTFMove(attributesPayload));
if (statesPayload->length())