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

Issue 754368 link

Starred by 1 user

Issue metadata

Status: Assigned
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Mac
Pri: 3
Type: Bug

Blocked on:
issue 756463



Sign in to add a comment

Skia tests for CommandBuffer failing shader building.

Project Member Reported by bunge...@chromium.org, Aug 10 2017

Issue description

The Skia CommandBuffer tests recently started failing to build shaders.

https://status.skia.org/repo/skia?commit_label=author&filter=search&search_value=CommandBuffer

see

https://chromium-swarm.appspot.com/task?id=37e62d9af0297510&refresh=10&show_raw=1

for a particular example.

This was bisected to 

https://chromium-review.googlesource.com/596537

by

https://skia-review.googlesource.com/c/33281/4 .

Skia doesn't get much about the actual error back from the command buffer, so it isn't clear what the exact issue actually is.
 
Status: Assigned (was: Untriaged)
Thanks, taking a look.  It appears from the first link that this only fails on mac?

I'll revert if I can't figure it out in the next day.

Comment 3 by bsalo...@google.com, Aug 10 2017

Our only command buffer bot happens to be a Mac. So it may fail on other OSes as well.
I haven't been able to repro this, I've tried on Mac and Windows.  The steps I took:

 * Built ToT skia and Chromium
 * Copied command_buffer_gles2 into skia output directory
 * Ran dm --config commandbuffer and saw no failures, verified the command buffer is being used

Anything wrong with this approach?

Comment 5 by bsalo...@google.com, Aug 11 2017

That seems right to me. Could it be specific to a particular GPU?
I've tried a few more times to repro but no luck yet and nobody has a mac mini in this office.  Does anyone have this hardware on hand?  I can buy one if not.  The bot name is "Test-Mac-Clang-MacMini6.2-GPU-IntelHD4000-x86_64-Debug-CommandBuffer" but the swarming job says the GPU is "Intel Haswell Iris Graphics 5100 (8086:0a2e)".

I tried suppressing the failing test and found more that fail afterwards but it's always with the same shader:
   1	#version 100
   2	
   3	precision highp float;
   4	uniform highp vec4 urtAdjustment_Stage0;
   5	attribute highp vec2 inPosition;
   6	attribute mediump vec4 inColor;
   7	attribute highp vec2 inLocalCoord;
   8	varying mediump vec4 vcolor_Stage0;
   9	void main() {
  10	    vec4 color = inColor;
  11	    vcolor_Stage0 = color;
  12	    vec2 pos2 = inPosition;
  13	    gl_Position = vec4(pos2.x * urtAdjustment_Stage0.x + urtAdjustment_Stage0.y, pos2.y * urtAdjustment_Stage0.z + urtAdjustment_Stage0.w, 0.0, 1.0);
  14	}


I was also unable to repo this on my Mac (Intel Iris Pro 1536, OS 10.12).

The bot is definitely not an Intel HD4000 but it very well could be the Iris 5100 listed in the swarming info.

I also noticed that the bot is listed as running OS 10.11, so I think the next test might be to see if we can get the chrome infra trooper to update the bot to 10.12 and see if the new drivers fixes thing. From what I recall most macs are usually updated quickly to the latest OS (and 10.12 is almost a year hold), so this should be the OS we test on.
Also on the failed runs if you go to swarming info and scroll down to isolated outputs link, you can find a link to the verbose DM output. It shows that the test did actually run through many GMs and it always fails on skbug_5321 (https://isolateserver.appspot.com/browse?namespace=default-gzip&digest=66c9db58fd91f53ca7f88bc7f8c5b1134c8e3f7f&as=verbose.log)
Thanks for the tips, I had submitted some tryjobs that added the verbose flag to DM (https://skia-review.googlesource.com/c/34100) to try and get more info.  More tests will fail after skbug_5321 but always the same shader.

I'll contact the troopers.
Blockedon: 756463
Okay so the bots got updated to 10.12 and we are still getting a compile failure. However previously we were failing on the gm skbug_5321, now we are getting though that one fine and now failing on simplerect. The shader we fail to compile is very similar to the one from before just slightly different.

GLSL:
   1	#version 100
   2	
   3	precision highp float;
   4	uniform highp vec4 urtAdjustment_Stage0;
   5	attribute highp vec2 inPosition;
   6	attribute mediump vec4 inColor;
   7	attribute highp vec2 inLocalCoord;
   8	varying mediump vec4 vcolor_Stage0;
   9	void main() {
  10	    vec4 color = inColor;
  11	    vcolor_Stage0 = color;
  12	    vec2 pos2 = inPosition;
  13	    gl_Position = vec4(pos2.x * urtAdjustment_Stage0.x + urtAdjustment_Stage0.y, pos2.y * urtAdjustment_Stage0.z + urtAdjustment_Stage0.w, 0.0, 1.0);
  14	}
  15

Is there an easy way we can print out the shader that the command buffer is sending to the driver? I assume it is doing some sort of modification to the text right?
Okay just noticed the shader I posted above is the same one Geoff. Just for documentation the shader that previous was failing in skbug_5321 was:
GLSL:
   1	#version 100
   2	
   3	precision highp float;
   4	uniform highp vec4 urtAdjustment_Stage0;
   5	attribute highp vec2 inPosition;
   6	attribute mediump vec4 inColor;
   7	attribute highp vec2 inTextureCoords;
   8	varying highp vec2 vTextureCoords_Stage0;
   9	varying mediump vec4 vinColor_Stage0;
  10	void main() {
  11	    vTextureCoords_Stage0 = inTextureCoords;
  12	    vinColor_Stage0 = inColor;
  13	    vec2 pos2 = inPosition;
  14	    gl_Position = vec4(pos2.x * urtAdjustment_Stage0.x + urtAdjustment_Stage0.y, pos2.y * urtAdjustment_Stage0.z + urtAdjustment_Stage0.w, 0.0, 1.0);
  15	}
  16
So this is still failing. Do we have a plan towards investigating/fixing/reverting?
Hey, yes, I've been a bit bogged down with other things but I'm in the process of getting this hardware locally to test on.
I got the same mac mini as the bot uses (2014 model with the Intel Iris Pro GPU) and I still can't reproduce the issue.  Going to update its OS and try again.
FWIW, this bot stopped failing over the weekend.

Most recent failure was at 10/13/2017, 7:25:02 PM (EDT):
https://chromium-swarm.appspot.com/task?id=3930df84cb087510
Chromium rev seems to be 443334af046a516e6bcd5517ebdd0a7803575fe0

Next run succeeded at 10/15/2017, 12:56:49 AM (EDT):
https://chromium-swarm.appspot.com/task?id=393735bac0689510
Chromium rev seems to be 92473bf9064cc84b6eceaf9b4c87d50ec27e20d2

Sign in to add a comment