2016-08-05 13:30:10 +00:00
[
{
"cmd" : [
"python" ,
"-u" ,
"\nimport shutil\nimport sys\nshutil.copy(sys.argv[1], sys.argv[2])\n" ,
"[SLAVE_BUILD]/skia/infra/bots/assets/skp/VERSION" ,
"/path/to/tmp/"
] ,
"name" : "Get downloaded SKP VERSION"
} ,
{
"cmd" : [
"python" ,
"-u" ,
"\nimport shutil\nimport sys\nshutil.copy(sys.argv[1], sys.argv[2])\n" ,
"42" ,
"[SLAVE_BUILD]/tmp/SKP_VERSION"
] ,
"name" : "write SKP_VERSION"
} ,
{
"cmd" : [
"python" ,
"-u" ,
"\nimport shutil\nimport sys\nshutil.copy(sys.argv[1], sys.argv[2])\n" ,
"[SLAVE_BUILD]/skia/infra/bots/assets/skimage/VERSION" ,
"/path/to/tmp/"
] ,
"name" : "Get downloaded skimage VERSION"
} ,
{
"cmd" : [
"python" ,
"-u" ,
"\nimport shutil\nimport sys\nshutil.copy(sys.argv[1], sys.argv[2])\n" ,
"42" ,
"[SLAVE_BUILD]/tmp/SK_IMAGE_VERSION"
] ,
"name" : "write SK_IMAGE_VERSION"
} ,
2016-08-11 19:36:58 +00:00
{
"cmd" : [
"python" ,
"-u" ,
"\nimport shutil\nimport sys\nshutil.copy(sys.argv[1], sys.argv[2])\n" ,
"[SLAVE_BUILD]/skia/infra/bots/assets/svg/VERSION" ,
"/path/to/tmp/"
] ,
"name" : "Get downloaded SVG VERSION"
} ,
{
"cmd" : [
"python" ,
"-u" ,
"\nimport shutil\nimport sys\nshutil.copy(sys.argv[1], sys.argv[2])\n" ,
"42" ,
"[SLAVE_BUILD]/tmp/SVG_VERSION"
] ,
"name" : "write SVG_VERSION"
} ,
2016-08-05 13:30:10 +00:00
{
"cmd" : [
"python" ,
"-u" ,
"\nimport os, sys\nfrom common import chromium_utils # Error? See https://crbug.com/584783.\n\n\nif os.path.exists(sys.argv[1]):\n chromium_utils.RemoveDirectory(sys.argv[1])\n" ,
"[CUSTOM_[SWARM_OUT_DIR]]/dm"
] ,
"env" : {
"PYTHONPATH" : "[SLAVE_BUILD]/skia/infra/bots/.recipe_deps/build/scripts"
} ,
"name" : "rmtree dm" ,
"~followup_annotations" : [
"@@@STEP_LOG_LINE@python.inline@@@@" ,
"@@@STEP_LOG_LINE@python.inline@import os, sys@@@" ,
"@@@STEP_LOG_LINE@python.inline@from common import chromium_utils # Error? See https://crbug.com/584783.@@@" ,
"@@@STEP_LOG_LINE@python.inline@@@@" ,
"@@@STEP_LOG_LINE@python.inline@@@@" ,
"@@@STEP_LOG_LINE@python.inline@if os.path.exists(sys.argv[1]):@@@" ,
"@@@STEP_LOG_LINE@python.inline@ chromium_utils.RemoveDirectory(sys.argv[1])@@@" ,
"@@@STEP_LOG_END@python.inline@@@"
]
} ,
{
"cmd" : [
"python" ,
"-u" ,
"\nimport sys, os\npath = sys.argv[1]\nmode = int(sys.argv[2])\nif not os.path.isdir(path):\n if os.path.exists(path):\n print \"%s exists but is not a dir\" % path\n sys.exit(1)\n os.makedirs(path, mode)\n" ,
"[CUSTOM_[SWARM_OUT_DIR]]/dm" ,
"511"
] ,
"name" : "makedirs dm" ,
"~followup_annotations" : [
"@@@STEP_LOG_LINE@python.inline@@@@" ,
"@@@STEP_LOG_LINE@python.inline@import sys, os@@@" ,
"@@@STEP_LOG_LINE@python.inline@path = sys.argv[1]@@@" ,
"@@@STEP_LOG_LINE@python.inline@mode = int(sys.argv[2])@@@" ,
"@@@STEP_LOG_LINE@python.inline@if not os.path.isdir(path):@@@" ,
"@@@STEP_LOG_LINE@python.inline@ if os.path.exists(path):@@@" ,
"@@@STEP_LOG_LINE@python.inline@ print \"%s exists but is not a dir\" % path@@@" ,
"@@@STEP_LOG_LINE@python.inline@ sys.exit(1)@@@" ,
"@@@STEP_LOG_LINE@python.inline@ os.makedirs(path, mode)@@@" ,
"@@@STEP_LOG_END@python.inline@@@"
]
} ,
{
"cmd" : [
"python" ,
"-u" ,
"\nimport sys, os\npath = sys.argv[1]\nmode = int(sys.argv[2])\nif not os.path.isdir(path):\n if os.path.exists(path):\n print \"%s exists but is not a dir\" % path\n sys.exit(1)\n os.makedirs(path, mode)\n" ,
"[SLAVE_BUILD]/tmp" ,
"511"
] ,
"name" : "makedirs tmp_dir" ,
"~followup_annotations" : [
"@@@STEP_LOG_LINE@python.inline@@@@" ,
"@@@STEP_LOG_LINE@python.inline@import sys, os@@@" ,
"@@@STEP_LOG_LINE@python.inline@path = sys.argv[1]@@@" ,
"@@@STEP_LOG_LINE@python.inline@mode = int(sys.argv[2])@@@" ,
"@@@STEP_LOG_LINE@python.inline@if not os.path.isdir(path):@@@" ,
"@@@STEP_LOG_LINE@python.inline@ if os.path.exists(path):@@@" ,
"@@@STEP_LOG_LINE@python.inline@ print \"%s exists but is not a dir\" % path@@@" ,
"@@@STEP_LOG_LINE@python.inline@ sys.exit(1)@@@" ,
"@@@STEP_LOG_LINE@python.inline@ os.makedirs(path, mode)@@@" ,
"@@@STEP_LOG_END@python.inline@@@"
]
} ,
{
"cmd" : [
"python" ,
"-u" ,
"\nimport contextlib\nimport math\nimport socket\nimport sys\nimport time\nimport urllib2\n\nHASHES_URL = 'https://gold.skia.org/_/hashes'\nRETRIES = 5\nTIMEOUT = 60\nWAIT_BASE = 15\n\nsocket.setdefaulttimeout(TIMEOUT)\nfor retry in range(RETRIES):\n try:\n with contextlib.closing(\n urllib2.urlopen(HASHES_URL, timeout=TIMEOUT)) as w:\n hashes = w.read()\n with open(sys.argv[1], 'w') as f:\n f.write(hashes)\n break\n except Exception as e:\n print 'Failed to get uninteresting hashes from %s:' % HASHES_URL\n print e\n if retry == RETRIES:\n raise\n waittime = WAIT_BASE * math.pow(2, retry)\n print 'Retry in %d seconds.' % waittime\n time.sleep(waittime)\n" ,
"[SLAVE_BUILD]/tmp/uninteresting_hashes.txt"
] ,
"cwd" : "[SLAVE_BUILD]/skia" ,
"env" : {
"BUILDTYPE" : "Debug" ,
"CHROME_HEADLESS" : "1" ,
"SKIA_OUT" : "[SLAVE_BUILD]/out"
} ,
"name" : "get uninteresting hashes" ,
"~followup_annotations" : [
"@@@STEP_LOG_LINE@python.inline@@@@" ,
"@@@STEP_LOG_LINE@python.inline@import contextlib@@@" ,
"@@@STEP_LOG_LINE@python.inline@import math@@@" ,
"@@@STEP_LOG_LINE@python.inline@import socket@@@" ,
"@@@STEP_LOG_LINE@python.inline@import sys@@@" ,
"@@@STEP_LOG_LINE@python.inline@import time@@@" ,
"@@@STEP_LOG_LINE@python.inline@import urllib2@@@" ,
"@@@STEP_LOG_LINE@python.inline@@@@" ,
"@@@STEP_LOG_LINE@python.inline@HASHES_URL = 'https://gold.skia.org/_/hashes'@@@" ,
"@@@STEP_LOG_LINE@python.inline@RETRIES = 5@@@" ,
"@@@STEP_LOG_LINE@python.inline@TIMEOUT = 60@@@" ,
"@@@STEP_LOG_LINE@python.inline@WAIT_BASE = 15@@@" ,
"@@@STEP_LOG_LINE@python.inline@@@@" ,
"@@@STEP_LOG_LINE@python.inline@socket.setdefaulttimeout(TIMEOUT)@@@" ,
"@@@STEP_LOG_LINE@python.inline@for retry in range(RETRIES):@@@" ,
"@@@STEP_LOG_LINE@python.inline@ try:@@@" ,
"@@@STEP_LOG_LINE@python.inline@ with contextlib.closing(@@@" ,
"@@@STEP_LOG_LINE@python.inline@ urllib2.urlopen(HASHES_URL, timeout=TIMEOUT)) as w:@@@" ,
"@@@STEP_LOG_LINE@python.inline@ hashes = w.read()@@@" ,
"@@@STEP_LOG_LINE@python.inline@ with open(sys.argv[1], 'w') as f:@@@" ,
"@@@STEP_LOG_LINE@python.inline@ f.write(hashes)@@@" ,
"@@@STEP_LOG_LINE@python.inline@ break@@@" ,
"@@@STEP_LOG_LINE@python.inline@ except Exception as e:@@@" ,
"@@@STEP_LOG_LINE@python.inline@ print 'Failed to get uninteresting hashes from %s:' % HASHES_URL@@@" ,
"@@@STEP_LOG_LINE@python.inline@ print e@@@" ,
"@@@STEP_LOG_LINE@python.inline@ if retry == RETRIES:@@@" ,
"@@@STEP_LOG_LINE@python.inline@ raise@@@" ,
"@@@STEP_LOG_LINE@python.inline@ waittime = WAIT_BASE * math.pow(2, retry)@@@" ,
"@@@STEP_LOG_LINE@python.inline@ print 'Retry in %d seconds.' % waittime@@@" ,
"@@@STEP_LOG_LINE@python.inline@ time.sleep(waittime)@@@" ,
"@@@STEP_LOG_END@python.inline@@@"
]
} ,
{
"cmd" : [
"catchsegv" ,
"[SLAVE_BUILD]/out/Debug/dm" ,
"--undefok" ,
"--resourcePath" ,
"[SLAVE_BUILD]/skia/resources" ,
"--skps" ,
"[SLAVE_BUILD]/skp" ,
"--images" ,
"[SLAVE_BUILD]/skimage/dm" ,
"--colorImages" ,
"[SLAVE_BUILD]/skimage/colorspace" ,
"--nameByHash" ,
"--properties" ,
"gitHash" ,
"abc123" ,
"master" ,
"client.skia" ,
"builder" ,
"Test-Mac-Clang-MacMini6.2-CPU-AVX-x86_64-Debug" ,
"build_number" ,
"5" ,
2016-08-12 14:25:53 +00:00
"--svgs" ,
"[SLAVE_BUILD]/svg" ,
2016-08-05 13:30:10 +00:00
"--key" ,
"arch" ,
"x86_64" ,
"compiler" ,
"Clang" ,
"configuration" ,
"Debug" ,
"cpu_or_gpu" ,
"CPU" ,
"cpu_or_gpu_value" ,
"AVX" ,
"model" ,
"MacMini6.2" ,
"os" ,
"Mac" ,
"--uninterestingHashesFile" ,
"[SLAVE_BUILD]/tmp/uninteresting_hashes.txt" ,
"--writePath" ,
"[CUSTOM_[SWARM_OUT_DIR]]/dm" ,
"--nogpu" ,
"--config" ,
"8888" ,
"gpu" ,
"gpusrgb" ,
"pdf" ,
"msaa16" ,
"serialize-8888" ,
"tiles_rt-8888" ,
"pic-8888" ,
"glinst" ,
"glinst16" ,
"--src" ,
"tests" ,
"gm" ,
"image" ,
"colorImage" ,
2016-08-12 14:25:53 +00:00
"svg" ,
2016-08-05 13:30:10 +00:00
"--blacklist" ,
"gpusrgb" ,
"image" ,
"_" ,
"_" ,
"_" ,
"image" ,
"gen_platf" ,
"rgba32abf.bmp" ,
"_" ,
"image" ,
"gen_platf" ,
"rgb24prof.bmp" ,
"_" ,
"image" ,
"gen_platf" ,
"rgb24lprof.bmp" ,
"_" ,
"image" ,
"gen_platf" ,
"8bpp-pixeldata-cropped.bmp" ,
"_" ,
"image" ,
"gen_platf" ,
"4bpp-pixeldata-cropped.bmp" ,
"_" ,
"image" ,
"gen_platf" ,
"32bpp-pixeldata-cropped.bmp" ,
"_" ,
"image" ,
"gen_platf" ,
"24bpp-pixeldata-cropped.bmp" ,
"_" ,
"image" ,
"gen_platf" ,
"frame_larger_than_image.gif" ,
"serialize-8888" ,
"gm" ,
"_" ,
"bleed_image" ,
"serialize-8888" ,
"gm" ,
"_" ,
"c_gms" ,
"serialize-8888" ,
"gm" ,
"_" ,
"colortype" ,
"serialize-8888" ,
"gm" ,
"_" ,
"colortype_xfermodes" ,
"serialize-8888" ,
"gm" ,
"_" ,
"drawfilter" ,
"serialize-8888" ,
"gm" ,
"_" ,
"fontmgr_bounds_0.75_0" ,
"serialize-8888" ,
"gm" ,
"_" ,
"fontmgr_bounds_1_-0.25" ,
"serialize-8888" ,
"gm" ,
"_" ,
"fontmgr_bounds" ,
"serialize-8888" ,
"gm" ,
"_" ,
"fontmgr_match" ,
"serialize-8888" ,
"gm" ,
"_" ,
"fontmgr_iter" ,
"serialize-8888" ,
"gm" ,
"_" ,
2016-08-26 17:13:39 +00:00
"imagemasksubset" ,
"serialize-8888" ,
"gm" ,
"_" ,
2016-08-05 13:30:10 +00:00
"bitmapfilters" ,
"serialize-8888" ,
"gm" ,
"_" ,
"bitmapshaders" ,
"serialize-8888" ,
"gm" ,
"_" ,
"bleed" ,
"serialize-8888" ,
"gm" ,
"_" ,
"bleed_alpha_bmp" ,
"serialize-8888" ,
"gm" ,
"_" ,
"bleed_alpha_bmp_shader" ,
"serialize-8888" ,
"gm" ,
"_" ,
"convex_poly_clip" ,
"serialize-8888" ,
"gm" ,
"_" ,
"extractalpha" ,
"serialize-8888" ,
"gm" ,
"_" ,
"filterbitmap_checkerboard_32_32_g8" ,
"serialize-8888" ,
"gm" ,
"_" ,
"filterbitmap_image_mandrill_64" ,
"serialize-8888" ,
"gm" ,
"_" ,
"shadows" ,
"serialize-8888" ,
"gm" ,
"_" ,
"simpleaaclip_aaclip" ,
"serialize-8888" ,
"gm" ,
"_" ,
"composeshader_bitmap" ,
"serialize-8888" ,
"gm" ,
"_" ,
"scaled_tilemodes_npot" ,
"serialize-8888" ,
"gm" ,
"_" ,
"scaled_tilemodes" ,
"pic-8888" ,
"gm" ,
"_" ,
"drawfilter" ,
"pic-8888" ,
"gm" ,
"_" ,
"image-cacherator-from-picture" ,
"serialize-8888" ,
"gm" ,
"_" ,
"image-cacherator-from-picture" ,
"pic-8888" ,
"gm" ,
"_" ,
"image-cacherator-from-raster" ,
"serialize-8888" ,
"gm" ,
"_" ,
"image-cacherator-from-raster" ,
"pic-8888" ,
"gm" ,
"_" ,
"image-cacherator-from-ctable" ,
"serialize-8888" ,
"gm" ,
"_" ,
New gamut GM, to test gamut conversion in various code-paths
After several different strategies, this one appears to work
well. The basic test:
1) For a variety of drawing techniques, we render fixed size
rectangles. (Solid colors via paint color, bitmap, etc...)
2) For each method in #1, we render to both an sRGB and
WideGamutRGB offscreen surface. (AdobeRGB isn't wide enough
to clearly demonstrate if things are working or not).
3) Use readPixels to fetch the raw (still in wide gamut) pixel
data, then draw that directly to the final canvas.
So, for each pair of squares, they should look clearly
different. Currently, with the GPU backend, only the bicubic
bitmap paths have that behavior. Adding more test cases (and
fixing the ones that are already incorrect) will be the long
tail of gamut transformation.
Current output (with my other patchset, which fixes all
bitmap draws): https://screenshot.googleplex.com/wsL3x7eCtWE.png
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2293173002
Review-Url: https://codereview.chromium.org/2293173002
2016-09-07 14:04:44 +00:00
"image-cacherator-from-ctable" ,
"pic-8888" ,
"gm" ,
"_" ,
"gamut" ,
"serialize-8888" ,
"gm" ,
"_" ,
"gamut"
2016-08-05 13:30:10 +00:00
] ,
"env" : {
"BUILDTYPE" : "Debug" ,
"CHROME_HEADLESS" : "1" ,
"SKIA_OUT" : "[SLAVE_BUILD]/out"
} ,
"name" : "dm"
} ,
{
"name" : "$result" ,
"recipe_result" : null ,
"status_code" : 0
}
]