Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(14)

Side by Side Diff: third_party/WebKit/LayoutTests/fast/canvas/webgl/resources/tex-image-and-sub-image-image-bitmap-utils.js

Issue 2641393002: Refactor ImageBitmap to stop drawing unpremul SkImage on SkCanvas (Closed)
Patch Set: Addressing comments. Created 3 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | third_party/WebKit/Source/core/frame/ImageBitmap.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 function checkCanvasRect(buf, x, y, width, height, color, tolerance, bufWidth, r etVal) 1 function checkCanvasRect(buf, x, y, width, height, color, tolerance, bufWidth, r etVal)
2 { 2 {
3 for (var px = x; px < x + width; px++) { 3 for (var px = x; px < x + width; px++) {
4 for (var py = y; py < y + height; py++) { 4 for (var py = y; py < y + height; py++) {
5 var offset = (py * bufWidth + px) * 4; 5 var offset = (py * bufWidth + px) * 4;
6 for (var j = 0; j < color.length; j++) { 6 for (var j = 0; j < color.length; j++) {
7 if (Math.abs(buf[offset + j] - color[j]) > tolerance) { 7 if (Math.abs(buf[offset + j] - color[j]) > tolerance) {
8 retVal.testPassed = false; 8 retVal.testPassed = false;
9 return; 9 return;
10 } 10 }
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after
98 98
99 function runTestOnBindingTarget(bindingTarget, program, bitmaps, retVal) { 99 function runTestOnBindingTarget(bindingTarget, program, bitmaps, retVal) {
100 var cases = [ 100 var cases = [
101 { sub: false, bitmap: bitmaps.defaultOption, flipY: false, premultiply: true, colorSpace: 'empty' }, 101 { sub: false, bitmap: bitmaps.defaultOption, flipY: false, premultiply: true, colorSpace: 'empty' },
102 { sub: true, bitmap: bitmaps.defaultOption, flipY: false, premultiply: t rue, colorSpace: 'empty' }, 102 { sub: true, bitmap: bitmaps.defaultOption, flipY: false, premultiply: t rue, colorSpace: 'empty' },
103 { sub: false, bitmap: bitmaps.noFlipYPremul, flipY: false, premultiply: true, colorSpace: 'empty' }, 103 { sub: false, bitmap: bitmaps.noFlipYPremul, flipY: false, premultiply: true, colorSpace: 'empty' },
104 { sub: true, bitmap: bitmaps.noFlipYPremul, flipY: false, premultiply: t rue, colorSpace: 'empty' }, 104 { sub: true, bitmap: bitmaps.noFlipYPremul, flipY: false, premultiply: t rue, colorSpace: 'empty' },
105 { sub: false, bitmap: bitmaps.noFlipYDefault, flipY: false, premultiply: true, colorSpace: 'empty' }, 105 { sub: false, bitmap: bitmaps.noFlipYDefault, flipY: false, premultiply: true, colorSpace: 'empty' },
106 { sub: true, bitmap: bitmaps.noFlipYDefault, flipY: false, premultiply: true, colorSpace: 'empty' }, 106 { sub: true, bitmap: bitmaps.noFlipYDefault, flipY: false, premultiply: true, colorSpace: 'empty' },
107 { sub: false, bitmap: bitmaps.noFlipYUnpremul, flipY: false, premultiply : false, colorSpace: 'empty' }, 107 { sub: false, bitmap: bitmaps.noFlipYUnpremul, flipY: false, premultiply : false, colorSpace: 'empty' },
108 { sub: true, bitmap: bitmaps.noFlipYUnpremul, flipY: false, premultiply: false, colorSpace: 'empty' }, 108 // TODO(zakerinasab): Uncomment these tests when
109 // WebGLRenderingContextBase is refactored to not draw unpremul SkImage
110 // to SkCanvas (crbug.com/683307)
111 // { sub: true, bitmap: bitmaps.noFlipYUnpremul, flipY: false, premultip ly: false, colorSpace: 'empty' },
109 { sub: false, bitmap: bitmaps.flipYPremul, flipY: true, premultiply: tru e, colorSpace: 'empty' }, 112 { sub: false, bitmap: bitmaps.flipYPremul, flipY: true, premultiply: tru e, colorSpace: 'empty' },
110 { sub: true, bitmap: bitmaps.flipYPremul, flipY: true, premultiply: true , colorSpace: 'empty' }, 113 { sub: true, bitmap: bitmaps.flipYPremul, flipY: true, premultiply: true , colorSpace: 'empty' },
111 { sub: false, bitmap: bitmaps.flipYDefault, flipY: true, premultiply: tr ue, colorSpace: 'empty' }, 114 { sub: false, bitmap: bitmaps.flipYDefault, flipY: true, premultiply: tr ue, colorSpace: 'empty' },
112 { sub: true, bitmap: bitmaps.flipYDefault, flipY: true, premultiply: tru e, colorSpace: 'empty' }, 115 { sub: true, bitmap: bitmaps.flipYDefault, flipY: true, premultiply: tru e, colorSpace: 'empty' },
113 { sub: false, bitmap: bitmaps.flipYUnpremul, flipY: true, premultiply: f alse, colorSpace: 'empty' }, 116 // { sub: false, bitmap: bitmaps.flipYUnpremul, flipY: true, premultiply : false, colorSpace: 'empty' },
114 { sub: true, bitmap: bitmaps.flipYUnpremul, flipY: true, premultiply: fa lse, colorSpace: 'empty' }, 117 // { sub: true, bitmap: bitmaps.flipYUnpremul, flipY: true, premultiply: false, colorSpace: 'empty' },
115 { sub: false, bitmap: bitmaps.colorSpaceDef, flipY: false, premultiply: true, colorSpace: retVal.colorSpaceEffect ? 'notprovided' : 'empty' }, 118 { sub: false, bitmap: bitmaps.colorSpaceDef, flipY: false, premultiply: true, colorSpace: retVal.colorSpaceEffect ? 'notprovided' : 'empty' },
116 { sub: true, bitmap: bitmaps.colorSpaceDef, flipY: false, premultiply: t rue, colorSpace: retVal.colorSpaceEffect ? 'notprovided' : 'empty' }, 119 { sub: true, bitmap: bitmaps.colorSpaceDef, flipY: false, premultiply: t rue, colorSpace: retVal.colorSpaceEffect ? 'notprovided' : 'empty' },
117 { sub: false, bitmap: bitmaps.colorSpaceNone, flipY: false, premultiply: true, colorSpace: retVal.colorSpaceEffect ? 'none' : 'empty' }, 120 { sub: false, bitmap: bitmaps.colorSpaceNone, flipY: false, premultiply: true, colorSpace: retVal.colorSpaceEffect ? 'none' : 'empty' },
118 { sub: true, bitmap: bitmaps.colorSpaceNone, flipY: false, premultiply: true, colorSpace: retVal.colorSpaceEffect ? 'none' : 'empty' }, 121 { sub: true, bitmap: bitmaps.colorSpaceNone, flipY: false, premultiply: true, colorSpace: retVal.colorSpaceEffect ? 'none' : 'empty' },
119 { sub: false, bitmap: bitmaps.colorSpaceDefault, flipY: false, premultip ly: true, colorSpace: retVal.colorSpaceEffect ? 'default' : 'empty' }, 122 { sub: false, bitmap: bitmaps.colorSpaceDefault, flipY: false, premultip ly: true, colorSpace: retVal.colorSpaceEffect ? 'default' : 'empty' },
120 { sub: true, bitmap: bitmaps.colorSpaceDefault, flipY: false, premultipl y: true, colorSpace: retVal.colorSpaceEffect ? 'default' : 'empty' }, 123 { sub: true, bitmap: bitmaps.colorSpaceDefault, flipY: false, premultipl y: true, colorSpace: retVal.colorSpaceEffect ? 'default' : 'empty' },
121 ]; 124 ];
122 125
123 for (var i in cases) { 126 for (var i in cases) {
124 runOneIteration(cases[i].sub, bindingTarget, program, cases[i].bitmap, c ases[i].flipY, 127 runOneIteration(cases[i].sub, bindingTarget, program, cases[i].bitmap, c ases[i].flipY,
125 cases[i].premultiply, retVal, cases[i].colorSpace); 128 cases[i].premultiply, retVal, cases[i].colorSpace);
126 } 129 }
127 } 130 }
128 131
129 function runTest(bitmaps, alphaVal, colorSpaceEffective) 132 function runTest(bitmaps, alphaVal, colorSpaceEffective)
130 { 133 {
131 var retVal = {testPassed: true, alpha: alphaVal, colorSpaceEffect: colorSpac eEffective}; 134 var retVal = {testPassed: true, alpha: alphaVal, colorSpaceEffect: colorSpac eEffective};
132 var program = tiu.setupTexturedQuad(gl, internalFormat); 135 var program = tiu.setupTexturedQuad(gl, internalFormat);
133 runTestOnBindingTarget(gl.TEXTURE_2D, program, bitmaps, retVal); 136 runTestOnBindingTarget(gl.TEXTURE_2D, program, bitmaps, retVal);
134 program = tiu.setupTexturedQuadWithCubeMap(gl, internalFormat); 137 program = tiu.setupTexturedQuadWithCubeMap(gl, internalFormat);
135 runTestOnBindingTarget(gl.TEXTURE_CUBE_MAP, program, bitmaps, retVal); 138 runTestOnBindingTarget(gl.TEXTURE_CUBE_MAP, program, bitmaps, retVal);
136 return retVal.testPassed; 139 return retVal.testPassed;
137 } 140 }
OLDNEW
« no previous file with comments | « no previous file | third_party/WebKit/Source/core/frame/ImageBitmap.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698