New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.
Starred by 68 users

Issue metadata

Status: Fixed
Owner:
Closed: Aug 2013
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 2
Type: Compat


Show other hotlists

Hotlists containing this issue:
Hotlist-1


Sign in to add a comment

Canvas line drawing on Android failure

Reported by sacc...@gmail.com, Apr 13 2013

Issue description

Example URL:
http://www.saccade.com/rtor/

Steps to reproduce the problem:
1. Visit http://www.saccade.com/rtor/
2. Click the "Random" button a few times
3. Garbage pattern displayed.  Compare to desktop, etc.

What is the expected behavior?
Proper pattern displayed (compare to desktop, etc.)

What went wrong?
The drawing is completely incorrect.  Only fails on Android version of Chrome.

Does it occur on multiple sites: N/A

Is it a problem with a plugin? No 

Did this work before? Yes Last tested about a month ago.

Does this work in other browsers? Yes Android "Internet" browser, Chrome, Firefox, etc. on the desktop

Chrome version: 26.0.1410.58  Channel: stable
OS Version: 4.1.1
 
Screenshot_ChromeFail.png
37.7 KB View Download
Screenshot_AndroidOK.png
481 KB View Download

Comment 1 by sacc...@gmail.com, Apr 13 2013

This is running on a Samsung Galaxy Tab 2 10.1
I encountered a somewhat similar problem with the current Beta (v27): Any lineTo() or rect() calls (together with stroke()) seem to be ignored completely. I do NOT have this problem with the Chrome 26.0.1410.58 though.

Tested on Galaxy S3
*push*

Comment 4 Deleted

Comment 5 by ed.go...@gmail.com, May 8 2013

I can verify this problem too with a product we're building at the moment. I've verified that it affects both the site above (www.saccade.com/rtor) and our internal site. It also applies only to the Chrome Beta (v27) and does not affect all devices. 

Nothing is drawn on the devices it does affect, although (as I can tell from our product) the canvas is clearly still there.

It does affect the Samsung Galaxy 2 and the Samsung Galaxy S3.

It does not affect the Nexus 4, the Nexus 7, the Nexus 10, the Samsung Relay or the Samsung Galaxy S4. I've run out of devices after that :)

Comment 6 by spde...@gmail.com, May 24 2013

My production application is affected by this bug too... graphs (using flot, which uses canvas) do not appear, after updating chrome on Galaxy S2 and S3 to v27.0.1453.90

A client side workaround is by enabling the flag in chrome://flags/ that disables accelerated 2D canvas.

Comment 7 by ed.go...@gmail.com, May 26 2013

I can confirm this is affecting a Galaxy S3 on 27.0.1453.90 too.
Cc: petele@chromium.org paulkinlan@chromium.org aelias@chromium.org
Labels: Cr-Internals-GPU-Canvas2D
Owner: klo...@chromium.org
Status: Assigned
Summary: Canvas line drawing on Android failure (was: Canvas line drawing on Android)
#5 or #6, can you list what about:gpu lists on the devices where you are seeing this problem?

Comment 9 by ed.go...@gmail.com, May 27 2013

This is on my S2:

Graphics Feature Status
Canvas: Hardware accelerated
Compositing: Hardware accelerated on all pages and threaded
3D CSS: Hardware accelerated
CSS Animation: Accelerated and threaded
WebGL: Unavailable. Hardware acceleration disabled.
WebGL multisampling: Hardware accelerated
Flash 3D: Hardware accelerated
Flash Stage3D: Hardware accelerated
Flash Stage3D Baseline profile: Hardware accelerated
Texture Sharing: Hardware accelerated
Video Decode: Software only, hardware acceleration unavailable
Video: Hardware accelerated
Panel Fitting: Unavailable. Hardware acceleration disabled.
Rasterization: Software only, multi-threaded
Problems Detected
Accelerated video decode is unavailable on Mac and Linux.: 137247, 133828
Enable panel fitting capability on ChromeOS only on IVB and SNB Graphics Controllers.
WebGL has been disabled, either via about:flags or command line.
Panel fitting is unavailable, either disabled at the command line or not supported by the current system.
Accelerated rasterization has not been enabled or is not supported by the current system.
Version Information
Data exported	5/27/2013 5:39:17 PM
Chrome version	Chrome/28.0.1500.21
Operating system	Android 3.0.15-I9100XXLPQ-CL223505
Software rendering list version	5.3
ANGLE revision	2184
2D graphics backend	Skia
Driver Information
Initialization time	13014146341566
Sandboxed	false
GPU0	VENDOR = 0x0000, DEVICE= 0x0000
Optimus	false
AMD switchable	false
Driver vendor	
Driver version	0
Driver date	
Pixel shader version	1.00
Vertex shader version	1.00
Machine model	
GL version	2.0
GL_VENDOR	ARM
GL_RENDERER	Mali-400 MP
GL_VERSION	OpenGL ES 2.0
GL_EXTENSIONS	GL_OES_texture_npot GL_OES_compressed_ETC1_RGB8_texture GL_OES_standard_derivatives GL_OES_EGL_image GL_OES_depth24 GL_ARM_rgba8 GL_ARM_mali_shader_binary GL_OES_depth_texture GL_OES_packed_depth_stencil GL_EXT_texture_format_BGRA8888 GL_EXT_blend_minmax GL_OES_EGL_image_external GL_OES_EGL_sync GL_OES_rgb8_rgba8 GL_EXT_multisampled_render_to_texture GL_EXT_discard_framebuffer

Comment 10 by spde...@gmail.com, May 27 2013

Graphics Feature Status
Canvas: Software only. Hardware acceleration disabled.
Compositing: Hardware accelerated on all pages and threaded
3D CSS: Hardware accelerated
CSS Animation: Accelerated and threaded
WebGL: Unavailable. Hardware acceleration disabled.
WebGL multisampling: Hardware accelerated
Flash 3D: Hardware accelerated
Flash Stage3D: Hardware accelerated
Flash Stage3D Baseline profile: Hardware accelerated
Texture Sharing: Hardware accelerated
Video Decode: Software only, hardware acceleration unavailable
Video: Hardware accelerated
Panel Fitting: Unavailable. Hardware acceleration disabled.
Rasterization: Software only, multi-threaded
Problems Detected
Accelerated video decode is unavailable on Mac and Linux.: 137247, 133828
Enable panel fitting capability on ChromeOS only on IVB and SNB Graphics Controllers.
Accelerated 2D canvas is unavailable: either disabled at the command line or not supported by the current system.
WebGL has been disabled, either via about:flags or command line.
Panel fitting is unavailable, either disabled at the command line or not supported by the current system.
Accelerated rasterization has not been enabled or is not supported by the current system.
Version Information
Data exported	5/28/2013 7:29:01 AM
Chrome version	Chrome/27.0.1453.90
Operating system	Android 3.0.31-889555
Software rendering list version	5.0
ANGLE revision	2042
2D graphics backend	Skia
Driver Information
Initialization time	13014155719289
Sandboxed	false
GPU0	VENDOR = 0x0000, DEVICE= 0x0000
Optimus	false
AMD switchable	false
Driver vendor	
Driver version	0
Driver date	
Pixel shader version	1.00
Vertex shader version	1.00
Machine model	
GL version	2.0
GL_VENDOR	ARM
GL_RENDERER	Mali-400 MP
GL_VERSION	OpenGL ES 2.0
GL_EXTENSIONS	GL_EXT_debug_marker GL_OES_texture_npot GL_OES_compressed_ETC1_RGB8_texture GL_OES_standard_derivatives GL_OES_EGL_image GL_OES_depth24 GL_ARM_rgba8 GL_ARM_mali_shader_binary GL_OES_depth_texture GL_OES_packed_depth_stencil GL_EXT_texture_format_BGRA8888 GL_EXT_blend_minmax GL_OES_EGL_image_external GL_OES_EGL_sync GL_OES_rgb8_rgba8 GL_EXT_multisampled_render_to_texture GL_EXT_discard_framebuffer

Cc: senorblanco@chromium.org junov@chromium.org
Look like it is possible Mali-400 related.

Justin and Stephen, can you see whether you can reproduce locally?

The initial report saying it worked a month ago. But m26 stable has been out for 6-week without update. I am wondering whether the original test was done on a m25 build. After we can repro, we can try to verify. This may help us to narrow down the issue. 

Comment 12 by junov@chromium.org, May 28 2013

Cc: bsalomon@chromium.org
Looks like an issue with GrAAHairLinePathRenderer.
Brian?
Could possibly be related to  crbug.com/243038 , if the GPU process is similarly mis-reporting GPU capabilities.
Could be. It looks OK on my razr hd in both shipping and dev builds. I'll try some other devices we have here.

Comment 15 by klobag@google.com, May 28 2013

Brian, it is possible mali-400 related. Can you find a device, S2 or S3, and give a try? Thanks.
I can't repro on my Samsung S3 in Chrome 27 Stable (27.0.1453.90) or Beta (28.0.1500.21).

However, note that I have the North American S3, which seems to have a Qualcomm Adreno, not the Mali 400 that the international version has, so consider this likely a null datapoint.
Brian, is there a test we can run to verify? Our QA has European version of S3 which is Maili-400 based.
Owner: bsalomon@chromium.org
I think I have a repro on the N10 (Mali t604). Assigning to myself for now.
I get no repro when building a TOT chrome on the N10.
Owner: klo...@chromium.org
Grace, is it possible for QA to either test a trunk build on the Mali S3 with the OP's URL (http://www.saccade.com/rtor/)?

Also, assuming it really is fixed, should we bisect and merge the fix back to an earlier milestone?
Cc: kamakshi@chromium.org candr...@chromium.org
The bug repros on the following devices on M27 and M29 (doesn't repro on M26):
- Samsung Galaxy S3 (GT-I9300)
- Samsung Galaxy S2 (I9100)

Both have GL_RENDERER = Mali-400 MP


Does NOT repro on:
- Samsung Galaxy S4 (GT-I9505)
- Samsung Galaxy S3 (SGH-T999)
- Samsung Galaxy S2 Plus (GT-I9105)
- Samsung Nexus 10 (GT-P8110)


Logs can be found at http://go/chrome-androidlogs/231082
Brian, I have ToT (svn 202575) and it is still reproducible on S3. So it is not fixed yet. Mind to take another look? Thanks.
Cc: klo...@chromium.org
Owner: bsalomon@chromium.org
Assign to Brian as it is a skia issue.

Comment 25 Deleted

This is a major bug which causes a lot of websites to be broken in the new Google Chrome browser on mobile devices.
Definitely no repro on the N10 with TOT. I'll see if I can get my hands on something with a Mali 400. I don't think there's any such device in our office at the moment.
Brian, our QA can help to do some remote testing if you have tentative fix. Also it seems the problem is introduced in m27.

In the short term, we may consider turning off accelerated canvas for mali-400.
Unfortunately I don't have any good hunches for why it regressed. We're ordering a device and it should be here in a couple days.
Labels: M-28 ReleaseBlock-Stable
Adding to the hopper for M28. 

Would be great if we can localize the change to be Android specific to allow this to come on the M28 easily. 

Comment 31 by ddev...@gmail.com, May 30 2013

Hdh
The test phone should be in my hands tomorrow.
Cc: gman@chromium.org
It seems to be a driver bug.

Since this is a Mali GPU we enabled the perf workaround to emulate stream usage VBOs using client side arrays on the GPU service side. When the service side sees a glBufferData that should be emulated it makes a glBufferData(..., 0, NULL,...) call to allow the driver to free any previous data associated with the buffer:

https://code.google.com/p/chromium/codesearch#chromium/src/gpu/command_buffer/service/buffer_manager.cc&q=buffer_manage&sq=package:chromium&l=271

The code then checks for a GL error. If it sees an error then it sets the info struct associated with the buffer to have a zero size. This means later SubData or Draw calls that reference the buffer will fail.

This driver seems to report GL_OUT_OF_MEMORY error for the glBufferData call that sets the size to 0.

If we only check the error in the non-emulating-as-client-side-array case then the page renders correctly.

gman@, does this seem like an acceptable work-around or do you have other ideas for how to handle this?

 Issue 246032  has been merged into this issue.

Comment 35 by k...@google.com, Jun 4 2013

Labels: -ReleaseBlock-Stable ReleaseBlock-Beta
Moving critical bugs for next week to be Beta blockers.  We need to have these fixed to hit our dates for external dependencies.
Labels: Merge-Requested
Labels: -Merge-Requested Merge-Approved
Beste lezer,

Deze vrijdagmiddag (7 juni) ben ik niet op kantoor: Voor dringende vragen kunt u contact opnemen met één van mijn collega's via +31 (0)35 621 21 50. 

===========
Dear reader,

This Friday-afternoon, June 7th, I am out of the office. For urgent matters please contact our office via +31 (0)35 621 21 50.
Labels: -Merge-Approved Merge-Merged
Merged at r205207
Project Member

Comment 41 by bugdroid1@chromium.org, Jun 10 2013

Labels: merge-merged-1500
------------------------------------------------------------------------
r205207 | bsalomon@google.com | 2013-06-10T14:01:24.527254Z

Changed paths:
   M http://src.chromium.org/viewvc/chrome/branches/1500/src/gpu/command_buffer/service/buffer_manager.cc?r1=205207&r2=205206&pathrev=205207
   M http://src.chromium.org/viewvc/chrome/branches/1500/src/gpu/command_buffer/service/buffer_manager.h?r1=205207&r2=205206&pathrev=205207

Merge 204571 "Add workaround for Mali-400 zero-sized buffer bug."

> Add workaround for Mali-400 zero-sized buffer bug.
> 
> BUG= 231082 
> R=apatrick@chromium.org, gman@chromium.org
> 
> Review URL: https://codereview.chromium.org/16043008

TBR=bsalomon@google.com

Review URL: https://codereview.chromium.org/16739003
------------------------------------------------------------------------
Project Member

Comment 42 by bugdroid1@chromium.org, Jun 10 2013

------------------------------------------------------------------------
r205231 | bsalomon@google.com | 2013-06-10T16:57:21.340387Z

Changed paths:
   M http://src.chromium.org/viewvc/chrome/branches/1500/src/gpu/command_buffer/service/buffer_manager.cc?r1=205231&r2=205230&pathrev=205231
   M http://src.chromium.org/viewvc/chrome/branches/1500/src/gpu/command_buffer/service/buffer_manager.h?r1=205231&r2=205230&pathrev=205231

Revert 205207 "Merge 204571 "Add workaround for Mali-400 zero-si..."

> Merge 204571 "Add workaround for Mali-400 zero-sized buffer bug."
> 
> > Add workaround for Mali-400 zero-sized buffer bug.
> > 
> > BUG= 231082 
> > R=apatrick@chromium.org, gman@chromium.org
> > 
> > Review URL: https://codereview.chromium.org/16043008
> 
> TBR=bsalomon@google.com
> 
> Review URL: https://codereview.chromium.org/16739003

TBR=bsalomon@google.com

Review URL: https://codereview.chromium.org/16690007
------------------------------------------------------------------------

Comment 43 by k...@google.com, Jun 10 2013

Status: Fixed
Status: Started
I had to revert the merge. The diff didn't apply correctly. Trying to figure out why now..
Manual merge from trunk to M28 up for review at https://codereview.chromium.org/16420008.
Labels: -Merge-Merged -merge-merged-1500 Merge-Requested
Putting this back in the MR queue so we can evaluate #45. 
Labels: -Merge-Requested Merge-Merged
Status: Fixed
Merged with r206051. (forgot to put bug number in checkin, sorry!)

https://src.chromium.org/viewvc/chrome?revision=206051&view=revision
 Issue 249714  has been merged into this issue.
Beste lezer,

Deze vrijdagmiddag (14 juni) ben ik niet op kantoor: Voor dringende vragen kunt u contact opnemen met één van mijn collega's via +31 (0)35 621 21 50. 

===========
Dear reader,

This Friday-afternoon, June 14th, I am out of the office. For urgent matters please contact our office via +31 (0)35 621 21 50.
 Issue 249204  has been merged into this issue.
Anyone can confirm this was fixed or not? At least  Issue 249204  is not fixed on Chrome beta 28.0.1500.54.
I have confirmed that  Issue 249714  is fixed. Thank you for your great effort!

 Issue 255110  has been merged into this issue.
 Issue 255110  has been merged into this issue.
Cc: skyos...@chromium.org
 Issue 249336  has been merged into this issue.

Comment 56 by sacc...@gmail.com, Jul 3 2013

This is still broken in Chrome 27.0.1453.90 on my Samsung Galaxy Tab 2 10.1

Comment 57 Deleted

FYI, I used Chrome 28.0.1500.54 (Chrome beta released on Jun 20) to confirm  Issue 249714  is fixed.
Tested on a Samsung Galaxy Tab 2 10"  with Beta 28.0.1500.64 and the bug is still there!
#59, can you post your the chrome://gpu page from your Tab 2? I'm wondering if it is a different bug.
Cc: szym@chromium.org tomhud...@chromium.org piman@chromium.org apatrick@chromium.org robertphillips@chromium.org bulach@chromium.org jvanverth@chromium.org
 Issue 235123  has been merged into this issue.

Comment 62 by sacc...@gmail.com, Aug 11 2013

The bug still is in Chrome 28.0.1500.94 on my Samsung Galaxy Tab 2 10.1

Can someone with the Galaxy Tab 2 10.1 please upload their chrome://gpu page? I believe you're experiencing a different bug than the one that was fixed for the S2 and S3. Having that info will help us.

Comment 64 by sacc...@gmail.com, Aug 14 2013

How do you export the page?  I couldn't find a way to export it from within the browser.
If you can just select, copy, and paste it as a comment that'd be great.

Comment 66 by Deleted ...@, Aug 15 2013

I am seeing what I believe to be the same issue, Samsung Galaxy tab 2 10.1
Lines drawn with lineWidth of 1.0 only visible when the line is in certain directions. Setting lineWidth to 1.01 appears to fix the problem.

Chrome://gpu info attached as requested.


Graphics Feature Status
Canvas: Hardware accelerated
Compositing: Hardware accelerated on all pages and threaded
3D CSS: Hardware accelerated
CSS Animation: Accelerated and threaded
WebGL: Unavailable. Hardware acceleration disabled.
WebGL multisampling: Hardware accelerated
Flash 3D: Hardware accelerated
Flash Stage3D: Hardware accelerated
Flash Stage3D Baseline profile: Hardware accelerated
Texture Sharing: Hardware accelerated
Video Decode: Software only, hardware acceleration unavailable
Video: Hardware accelerated
Panel Fitting: Unavailable. Hardware acceleration disabled.
Rasterization: Software only, multi-threaded
Problems Detected
Accelerated video decode is unavailable on Mac and Linux.: 137247, 133828
Enable panel fitting capability on ChromeOS only on IVB and SNB Graphics Controllers.
WebGL has been disabled, either via about:flags or command line.
Panel fitting is unavailable, either disabled at the command line or not supported by the current system.
Accelerated rasterization has not been enabled or is not supported by the current system.
Version Information
Data exported	8/15/2013 4:40:16 PM
Chrome version	Chrome/28.0.1500.94
Operating system	Android 3.0.31-523998
Software rendering list version	5.3
ANGLE revision	2212
2D graphics backend	Skia
Driver Information
Initialization time	13021046805018
Sandboxed	false
GPU0	VENDOR = 0x0000, DEVICE= 0x0000
Optimus	false
AMD switchable	false
Driver vendor	
Driver version	1.9
Driver date	
Pixel shader version	1.00
Vertex shader version	1.00
Machine model	
GL version	2.0
GL_VENDOR	Imagination Technologies
GL_RENDERER	PowerVR SGX 540
GL_VERSION	OpenGL ES 2.0 build 1.9@2120756
GL_EXTENSIONS	GL_EXT_debug_marker GL_OES_rgb8_rgba8 GL_OES_depth24 GL_OES_vertex_half_float GL_OES_texture_float GL_OES_texture_half_float GL_OES_element_index_uint GL_OES_mapbuffer GL_OES_fragment_precision_high GL_OES_compressed_ETC1_RGB8_texture GL_OES_EGL_image GL_OES_EGL_image_external GL_OES_required_internalformat GL_OES_depth_texture GL_OES_get_program_binary GL_OES_packed_depth_stencil GL_OES_standard_derivatives GL_OES_vertex_array_object GL_OES_egl_sync GL_EXT_multi_draw_arrays GL_EXT_texture_format_BGRA8888 GL_EXT_discard_framebuffer GL_EXT_shader_texture_lod GL_IMG_shader_binary GL_IMG_texture_compression_pvrtc GL_IMG_texture_npot GL_IMG_texture_format_BGRA8888 GL_IMG_read_format GL_IMG_program_binary GL_IMG_uniform_buffer_object GL_IMG_multisampled_render_to_texture
Ok that's definitely a different bug. The S3 issue was Mali-specific and the Tab has a SGX 540. I've tested on a Nexus S which also has a SGX 540 and the page renders fine. I suspect that the difference is the driver since the Tab is running 3.0 and the Nexus has 4.1. We're looking into getting a device with a 540 running Honeycomb for a repro.
https://codereview.chromium.org/22486003/ may address this. Do we know if it's straight lines or quads failing?
As far as I can tell the test only draws straight lines, so it's possible your change may fix it.
Chrome is NOT officially support on pre-ICS (Android 4.0) devices. Did you install it from Google Play?

Comment 71 by sacc...@gmail.com, Aug 16 2013

@bsalo...  My version of chrom://gpu looks exactly like what @pandc.an... posted.

@klobag: The "Operating system" reported in the chrome://gpu page is incorrect; my tablet is running Android 4.1.1.  Chrome was installed and updated from Google Play.

Comment 72 by sacc...@gmail.com, Aug 16 2013

Also: The bug was originally reported for a Samsung Galaxy Tab 2 10.1, *not* a different device, so the status of the bug should not be "Fixed".  It's still broken.
Interesting. Wondering why chrome://gpu reported the wrong version.

Comment 74 by Deleted ...@, Aug 16 2013

My Galaxy Tab 2 10.1 is running Android 4.1.1 - but in the 'About device' screen it says:

Android version 
4.1.1

Kernel version 
3.0.31 - 523998
se.infra@SEP-126#1
SMP PREEMPT Thu Nov 29 14:35:14 KST 2012

So it looks like the Kernel version is being reported as the Android version in the gpu info dump. Anyway, it's Android 4.1.1, and I downloaded Chrome from Google Play (ironically because of a rendering bug in the stock browser.)

More info on the bug itself:
It manifests in straight lines and bezier curves, and can be made to happen in quadratics too. It seems to hide sections of the line which are effectively straight, unless the line is vertical. So straight lines are nearly all invisible, sections of bezier curves may be invisible if they are straight enough, and quadratics will be invisible if the control point is actually on the line.

I've attached a screenshot of four figures, the bottom two are drawn with lineWidth=1.01 and show how things should look, the top two are lineWidth=1 showing the missing line sections. The left-hand figures are drawn with straight lines, the right-hand are bezier curves, so you can see that the straight sections are not rendered when lineWidth=1.

The javascript code for drawing these was:

var cnv=document.getElementById("myCanvas");
cnv.width=400;
cnv.height=400;

var ctx=cnv.getContext("2d");
ctx.clearRect(0,0,400,400);
ctx.strokeStyle="#FFFFFF";

function draw(px, py, thick, bez)
{
	ctx.lineWidth=thick;
	var R=100;
	var d2r=2*Math.PI/360;
	for (var a=0; a<360; a+=5)
	{
		var x=R*Math.sin(a*d2r);
		var y=R*Math.cos(a*d2r);

		var a1=a+40;
		var a2=a-20;
		var x1=R*0.3*Math.sin(a1*d2r);
		var y1=R*0.3*Math.cos(a1*d2r);
		var x2=R*0.7*Math.sin(a2*d2r);
		var y2=R*0.7*Math.cos(a2*d2r);

		ctx.beginPath();
		ctx.moveTo(px,py);
		if (bez)
			ctx.bezierCurveTo(px+x1,py+y1,px+x2,py+y2,px+x,py+y);
		else
			ctx.lineTo(px+x,py+y);
		ctx.stroke();
	}
}

draw(100,100,1,false);
draw(300,100,1,true);
draw(100,300,1.01,false);
draw(300,300,1.01,true);

Screenshot_2013-08-16-11-13-22.png
167 KB View Download
Status: Assigned
Interesting. I suspect Jim's patch to Skia will fix this. We will try to obtain a Tab to verify since we can't repro on any of the devices in this office.
My change should fix the straight lines and the straight line segments of the cubic beziers. I don't think it would address any issue with quadratics.
I'm guessing that the quadratics that render incorrectly are those we've degenerated to a line. I could be wrong, though.

Comment 78 by Deleted ...@, Aug 16 2013

That sounds plausible, I only saw the problem with quadratics if the control point was right on the line between start and end, ie it would have been a straight line.

Comment 79 by k...@google.com, Aug 20 2013

Labels: -M-28 -ReleaseBlock-Beta M-30
Retargeting if we keep this one open.
We should have a Tab tomorrow.
Labels: -Merge-Merged Merge-Requested
The Tab arrived. I confirmed that it doesn't work in shipping Chrome but does at TOT. Requesting merge to M30.

Comment 82 by kareng@google.com, Aug 22 2013

can i have a link to patch? what's the risk to desktop from this? we're in beta so i prefer to be safe.
https://code.google.com/p/skia/source/detail?r=10769

It's been baking in Canary for a while now. Also this is well tested on the Skia side, covered by dozens of image tests and some perf tests.

Comment 84 by kareng@google.com, Aug 23 2013

but it could affect desktop too? it's not android only right?
Yes, it affects both. Skia tests this quite extensively on desktop platforms (win, mac, linux with a variety of GPUs).
With our image tests, this change produces no visible difference on desktop. On Android, it's generally better (e.g., on Nexus 10 we had odd cruft along lines, which is now gone).

Comment 87 by sacc...@gmail.com, Aug 24 2013

@jvanve...

I also tried this demo on a new Nexus-7 a couple weeks ago.  While it didn't outright fail the same way it did on the Galaxy Tab 2 10.1, I was surprised at how ragged the lines on the Nexus-7 looked.  Perhaps the fix might help that as well?

Comment 88 by sacc...@gmail.com, Aug 26 2013

I submitted  issue 279014  demonstrating the problems Chrome on the 2013 Nexus 7 has with displaying hairlines.

Comment 89 by kareng@google.com, Aug 26 2013

still makes me nervous to take a change like this at this point. is there a way to limit it to android?

Comment 90 by kareng@google.com, Aug 26 2013

Labels: -Merge-Requested Merge-Approved
brian convinced me it's safe. he'll branch skia and we can take this. 

Comment 91 by kareng@google.com, Aug 26 2013

brian convinced me it's safe. he'll branch skia and we can take this. 
Labels: -Merge-Approved Merge-Merged
Status: Fixed

Comment 94 by Deleted ...@, Dec 4 2013

Confirming this bug on mobile chrome, 31.0.1650.59, android 4.1.2
Example url: http://www.jqplot.com/tests/line-charts.php
Works if 2d-acceleration is disabled in chrome://flags

Comment 95 by Deleted ...@, Jan 9 2014

Also see this issue on android 4.1.1 on chrome 31.0.1650.59.

Cc: acindhe@chromium.org satyavat...@chromium.org
candrada@,satyavathir@,acindhe@ - please triage. Unable to repro on test device I have.
Unable to repro on our testing devices 
M31 - 31.0.1650.59 , 32.0.1700.94, 33.0.1750.22

S3 - 4.1.2 - JZO54K
Nexus 5 - 4.4
Note 2 - 4.1.2 - JZO54K
Nexus 10 - 4.3 - JWR66Y
Nexus 4 - 4.3 - JWR66V
Please help, I don't understand any of this!?!

Graphics Feature Status
Canvas: Hardware accelerated
Flash: Hardware accelerated
Flash Stage3D: Hardware accelerated
Flash Stage3D Baseline profile: Hardware accelerated
Compositing: Hardware accelerated
Multiple Raster Threads: Disabled
Rasterization: Hardware accelerated
Threaded Rasterization: Enabled
Video Decode: Hardware accelerated
Video Encode: Software only, hardware acceleration unavailable
WebGL: Hardware accelerated
Driver Bug Workarounds
clear_uniforms_before_first_program_use
disable_egl_khr_fence_sync
disable_discard_framebuffer
disable_multisampled_render_to_texture
exit_on_context_lost
scalarize_vec_and_mat_constructor_args
use_client_side_arrays_for_stream_buffers
use_non_zero_size_for_client_side_stream_buffers
disable_gl_rgb_format
Problems Detected
MediaCodec is still too buggy to use for encoding (b/11536167)
Disabled Features: accelerated_video_encode
ARM driver doesn't like uploading lots of buffer data constantly
Applied Workarounds: use_client_side_arrays_for_stream_buffers
Mali-400 drivers throw an error when a buffer object's size is set to 0: 231082
Applied Workarounds: use_non_zero_size_for_client_side_stream_buffers
Framebuffer discarding causes flickering on old ARM drivers: 290876
Applied Workarounds: disable_discard_framebuffer
Clear uniforms before first program use on all platforms: 124764, 349137
Applied Workarounds: clear_uniforms_before_first_program_use
Mali-400 support of EXT_multisampled_render_to_texture is buggy on Android < 4.3: 362435
Applied Workarounds: disable_multisampled_render_to_texture
Testing fences was broken on Mali ES2 drivers: 378691, 373360, 371530, 398964
Applied Workarounds: disable_egl_khr_fence_sync
Always rewrite vec/mat constructors to be consistent: 398694
Applied Workarounds: scalarize_vec_and_mat_constructor_args
Framebuffer discarding causes corruption on Mali-4xx: 449488, 451230
Applied Workarounds: disable_discard_framebuffer
Mali-400 does not support GL_RGB format: 449150
Applied Workarounds: disable_gl_rgb_format
Context lost recovery often fails on Mali-400/450 on Android.: 496438
Applied Workarounds: exit_on_context_lost
Raster is using a single thread.
Disabled Features: multiple_raster_threads
Version Information
Data exported	2/7/2016, 4:55:19 AM
Chrome version	Chrome/44.0.2403.133
Operating system	Android 4.2.2
Software rendering list version	10.8
Driver bug list version	8.19
ANGLE commit id	fa9744b09e24
2D graphics backend	Skia
Command Line Args	--enable-begin-frame-scheduling --enable-pinch --enable-overlay-fullscreen-video --enable-overlay-scrollbar --validate-input-event-stream --disable-gpu-process-crash-limit --enable-viewport-meta --main-frame-resizes-are-orientation-changes --disable-composited-antialiasing --ui-prioritize-in-gpu-process --enable-delegated-renderer --profiler-timing=0 --prerender-from-omnibox=enabled --enable-dom-distiller --flag-switches-begin --clear-data-reduction-proxy-data-savings --disable-pull-to-refresh-effect --flag-switches-end --top-controls-show-threshold=0.27 --top-controls-hide-threshold=0.17 --enable-high-end-ui-undo --disable-low-end-device-mode --enable-instant-extended-api
Driver Information
Initialization time	346
Sandboxed	false
GPU0	VENDOR = 0x0000 [ARM], DEVICE= 0x0000 [Mali-400 MP]
Optimus	false
AMD switchable	false
Driver vendor	
Driver version	0
Driver date	
Pixel shader version	1.00
Vertex shader version	1.00
Max. MSAA samples	4
Machine model name	NX785QC8G
Machine model version	
GL_VENDOR	ARM
GL_RENDERER	Mali-400 MP
GL_VERSION	OpenGL ES 2.0
GL_EXTENSIONS	GL_EXT_debug_marker GL_OES_texture_npot GL_OES_compressed_ETC1_RGB8_texture GL_OES_standard_derivatives GL_OES_EGL_image GL_OES_depth24 GL_ARM_rgba8 GL_ARM_mali_shader_binary GL_OES_depth_texture GL_OES_packed_depth_stencil GL_EXT_texture_format_BGRA8888 GL_EXT_blend_minmax GL_OES_EGL_image_external GL_OES_EGL_sync GL_OES_rgb8_rgba8 GL_EXT_multisampled_render_to_texture GL_EXT_discard_framebuffer GL_OES_get_program_binary GL_ARM_mali_program_binary GL_EXT_shader_texture_lod GL_EXT_robustness
Disabled Extensions	
Window system binding vendor	Android
Window system binding version	1.4 Android META-EGL
Window system binding extensions	EGL_KHR_image EGL_KHR_image_base EGL_KHR_image_pixmap EGL_KHR_gl_texture_2D_image EGL_KHR_gl_texture_cubemap_image EGL_KHR_gl_renderbuffer_image EGL_KHR_fence_sync EGL_ANDROID_image_native_buffer
Direct rendering	Yes
Reset notification strategy	0x0000
GPU process crash count	0

Sign in to add a comment