Enable chromecast gpu perf
The new #ifndef account for what the chromecast sdk cannot handle (e.g. posix). Bug: skia:6581 Change-Id: I3d64d25980d80185f8b95c05badee5f665d97cd3 Reviewed-on: https://skia-review.googlesource.com/13811 Reviewed-by: Ethan Nicholas <ethannicholas@google.com> Commit-Queue: Kevin Lubick <kjlubick@google.com>
This commit is contained in:
parent
56a1e6a109
commit
ffce079f4e
@ -1 +1 @@
|
||||
2
|
||||
4
|
@ -332,6 +332,7 @@ func compile(b *specs.TasksCfgBuilder, name string, parts map[string]string) str
|
||||
}
|
||||
} else if strings.Contains(name, "Chromecast") {
|
||||
pkgs = append(pkgs, b.MustGetCipdPackageFromAsset("cast_toolchain"))
|
||||
pkgs = append(pkgs, b.MustGetCipdPackageFromAsset("chromebook_arm_gles"))
|
||||
} else if strings.Contains(name, "Chromebook") {
|
||||
pkgs = append(pkgs, b.MustGetCipdPackageFromAsset("clang_linux"))
|
||||
pkgs = append(pkgs, b.MustGetCipdPackageFromAsset("armhf_sysroot"))
|
||||
|
@ -20,7 +20,7 @@
|
||||
"[START_DIR]/skia/bin/gn",
|
||||
"gen",
|
||||
"[START_DIR]/out/Release",
|
||||
"--args=ar=\"[START_DIR]/cast_toolchain/bin/armv7a-cros-linux-gnueabi-ar\" cc=\"[START_DIR]/cast_toolchain/bin/armv7a-cros-linux-gnueabi-gcc\" cxx=\"[START_DIR]/cast_toolchain/bin/armv7a-cros-linux-gnueabi-g++\" extra_cflags=[\"-g0\"] extra_ldflags=[\"-static-libstdc++\", \"-static-libgcc\"] is_debug=false skia_enable_gpu=false skia_use_fontconfig=false skia_use_icu=false skia_use_system_freetype2=false target_cpu=\"None\""
|
||||
"--args=ar=\"[START_DIR]/cast_toolchain/armv7a/bin/armv7a-cros-linux-gnueabi-ar\" cc=\"[START_DIR]/cast_toolchain/armv7a/bin/armv7a-cros-linux-gnueabi-gcc\" cxx=\"[START_DIR]/cast_toolchain/armv7a/bin/armv7a-cros-linux-gnueabi-g++\" extra_cflags=[\"-I[START_DIR]/chromebook_arm_gles/include\", \"-DMESA_EGL_NO_X11_HEADERS\", \"-DEGL_NO_IMAGE_EXTERNAL\", \"-DSK_NO_COMMAND_BUFFER\", \"-Wno-error=unused-function\", \"-g0\"] extra_ldflags=[\"-static-libstdc++\", \"-static-libgcc\", \"-L[START_DIR]/cast_toolchain/armv7a/lib\"] is_debug=false skia_enable_gpu=true skia_use_egl=true skia_use_fontconfig=false skia_use_icu=false skia_use_system_freetype2=false target_cpu=\"None\""
|
||||
],
|
||||
"cwd": "[START_DIR]/skia",
|
||||
"env": {
|
||||
|
@ -20,13 +20,26 @@ class GNChromecastFlavorUtils(gn_android_flavor.GNAndroidFlavorUtils):
|
||||
os = self.m.vars.builder_cfg.get('os')
|
||||
target_arch = self.m.vars.builder_cfg.get('target_arch')
|
||||
|
||||
# Makes the binary small enough to fit on the small disk.
|
||||
extra_cflags = ['-g0']
|
||||
# Chromecast does not package libstdc++
|
||||
extra_ldflags = ['-static-libstdc++', '-static-libgcc']
|
||||
|
||||
# TODO(kjlubick): can this toolchain be replaced/shared with chromebook?
|
||||
toolchain_dir = self.m.vars.slave_dir.join('cast_toolchain')
|
||||
toolchain_dir = self.m.vars.slave_dir.join('cast_toolchain', 'armv7a')
|
||||
gles_dir = self.m.vars.slave_dir.join('chromebook_arm_gles')
|
||||
|
||||
extra_cflags = [
|
||||
'-I%s' % gles_dir.join('include'),
|
||||
'-DMESA_EGL_NO_X11_HEADERS',
|
||||
'-DEGL_NO_IMAGE_EXTERNAL',
|
||||
"-DSK_NO_COMMAND_BUFFER",
|
||||
# Avoid unused warning with yyunput
|
||||
'-Wno-error=unused-function',
|
||||
# Makes the binary small enough to fit on the small disk.
|
||||
'-g0',
|
||||
]
|
||||
|
||||
extra_ldflags = [
|
||||
# Chromecast does not package libstdc++
|
||||
'-static-libstdc++', '-static-libgcc',
|
||||
'-L%s' % toolchain_dir.join('lib'),
|
||||
]
|
||||
|
||||
quote = lambda x: '"%s"' % x
|
||||
args = {
|
||||
@ -35,12 +48,13 @@ class GNChromecastFlavorUtils(gn_android_flavor.GNAndroidFlavorUtils):
|
||||
'ar': quote(toolchain_dir.join('bin','armv7a-cros-linux-gnueabi-ar')),
|
||||
'target_cpu': quote(target_arch),
|
||||
'skia_use_fontconfig': 'false',
|
||||
'skia_enable_gpu': 'false',
|
||||
'skia_enable_gpu': 'true',
|
||||
# The toolchain won't allow system libraries to be used
|
||||
# when cross-compiling
|
||||
'skia_use_system_freetype2': 'false',
|
||||
# Makes the binary smaller
|
||||
'skia_use_icu': 'false',
|
||||
'skia_use_egl': 'true',
|
||||
}
|
||||
|
||||
if configuration != 'Debug':
|
||||
|
@ -156,7 +156,7 @@
|
||||
"[CUSTOM_/_B_WORK]/skia/bin/gn",
|
||||
"gen",
|
||||
"[CUSTOM_/_B_WORK]/skia/out/Build-Ubuntu-GCC-arm-Release-Chromecast/Release",
|
||||
"--args=ar=\"[START_DIR]/cast_toolchain/bin/armv7a-cros-linux-gnueabi-ar\" cc=\"[START_DIR]/cast_toolchain/bin/armv7a-cros-linux-gnueabi-gcc\" cxx=\"[START_DIR]/cast_toolchain/bin/armv7a-cros-linux-gnueabi-g++\" extra_cflags=[\"-g0\"] extra_ldflags=[\"-static-libstdc++\", \"-static-libgcc\"] is_debug=false skia_enable_gpu=false skia_use_fontconfig=false skia_use_icu=false skia_use_system_freetype2=false target_cpu=\"arm\""
|
||||
"--args=ar=\"[START_DIR]/cast_toolchain/armv7a/bin/armv7a-cros-linux-gnueabi-ar\" cc=\"[START_DIR]/cast_toolchain/armv7a/bin/armv7a-cros-linux-gnueabi-gcc\" cxx=\"[START_DIR]/cast_toolchain/armv7a/bin/armv7a-cros-linux-gnueabi-g++\" extra_cflags=[\"-I[START_DIR]/chromebook_arm_gles/include\", \"-DMESA_EGL_NO_X11_HEADERS\", \"-DEGL_NO_IMAGE_EXTERNAL\", \"-DSK_NO_COMMAND_BUFFER\", \"-Wno-error=unused-function\", \"-g0\"] extra_ldflags=[\"-static-libstdc++\", \"-static-libgcc\", \"-L[START_DIR]/cast_toolchain/armv7a/lib\"] is_debug=false skia_enable_gpu=true skia_use_egl=true skia_use_fontconfig=false skia_use_icu=false skia_use_system_freetype2=false target_cpu=\"arm\""
|
||||
],
|
||||
"cwd": "[CUSTOM_/_B_WORK]/skia",
|
||||
"env": {
|
||||
|
@ -293,7 +293,7 @@
|
||||
"python",
|
||||
"-u",
|
||||
"\nimport shutil\nimport sys\nshutil.copy(sys.argv[1], sys.argv[2])\n",
|
||||
"set -x; /cache/skia/nanobench -i /cache/skia/resources --images /cache/skia/resources/color_wheel.jpg --svgs /cache/skia/svgs; echo $? >/cache/skia/rc",
|
||||
"set -x; /cache/skia/nanobench --config gles -i /cache/skia/resources --images /cache/skia/resources/color_wheel.jpg --svgs /cache/skia/svgs --pre_log --match ~matrixconvolution ~blur_image_filter ~blur_0.01 ~GM_animated-image-blurs; echo $? >/cache/skia/rc",
|
||||
"[START_DIR]/tmp/nanobench.sh"
|
||||
],
|
||||
"env": {
|
||||
|
@ -329,7 +329,7 @@
|
||||
"python",
|
||||
"-u",
|
||||
"\nimport shutil\nimport sys\nshutil.copy(sys.argv[1], sys.argv[2])\n",
|
||||
"set -x; /cache/skia/nanobench -i /cache/skia/resources --images /cache/skia/resources/color_wheel.jpg --svgs /cache/skia/svgs --outResultsFile /cache/skia/perf/nanobench_abc123_1337000001.json --properties gitHash abc123 swarming_bot_id skia-bot-123 swarming_task_id 123456 --key arch arm compiler GCC cpu_or_gpu CPU cpu_or_gpu_value Cortex_A7 model Chorizo os Chromecast; echo $? >/cache/skia/rc",
|
||||
"set -x; /cache/skia/nanobench --config gles -i /cache/skia/resources --images /cache/skia/resources/color_wheel.jpg --svgs /cache/skia/svgs --pre_log --match ~matrixconvolution ~blur_image_filter ~blur_0.01 ~GM_animated-image-blurs --outResultsFile /cache/skia/perf/nanobench_abc123_1337000001.json --properties gitHash abc123 swarming_bot_id skia-bot-123 swarming_task_id 123456 --key arch arm compiler GCC cpu_or_gpu CPU cpu_or_gpu_value Cortex_A7 model Chorizo os Chromecast; echo $? >/cache/skia/rc",
|
||||
"[START_DIR]/tmp/nanobench.sh"
|
||||
],
|
||||
"env": {
|
||||
|
@ -113,11 +113,6 @@ def nanobench_flags(bot):
|
||||
match.append('~blurroundrect')
|
||||
match.append('~patch_grid') # skia:2847
|
||||
match.append('~desk_carsvg')
|
||||
if 'Chromecast' in bot:
|
||||
match.append('~matrixconvolution') # skia:6581
|
||||
match.append('~blur_image_filter')
|
||||
match.append('~blur_0.01')
|
||||
match.append('GM_animated-image-blurs')
|
||||
if 'NexusPlayer' in bot:
|
||||
match.append('~desk_unicodetable')
|
||||
if 'Nexus5' in bot:
|
||||
@ -242,10 +237,18 @@ def perf_steps(api):
|
||||
# Due to limited disk space, run a watered down perf run on Chromecast.
|
||||
args = [
|
||||
target,
|
||||
'-i', api.flavor.device_dirs.resource_dir,
|
||||
'--images', api.flavor.device_path_join(
|
||||
api.flavor.device_dirs.resource_dir, 'color_wheel.jpg'),
|
||||
'--svgs', api.flavor.device_dirs.svg_dir,
|
||||
'--config',
|
||||
'gles',
|
||||
'-i', api.flavor.device_dirs.resource_dir,
|
||||
'--images', api.flavor.device_path_join(
|
||||
api.flavor.device_dirs.resource_dir, 'color_wheel.jpg'),
|
||||
'--svgs', api.flavor.device_dirs.svg_dir,
|
||||
'--pre_log',
|
||||
'--match', # skia:6581
|
||||
'~matrixconvolution',
|
||||
'~blur_image_filter',
|
||||
'~blur_0.01',
|
||||
'~GM_animated-image-blurs',
|
||||
]
|
||||
|
||||
if api.vars.upload_perf_results:
|
||||
|
@ -3496,7 +3496,12 @@
|
||||
{
|
||||
"name": "skia/bots/cast_toolchain",
|
||||
"path": "cast_toolchain",
|
||||
"version": "version:2"
|
||||
"version": "version:4"
|
||||
},
|
||||
{
|
||||
"name": "skia/bots/chromebook_arm_gles",
|
||||
"path": "chromebook_arm_gles",
|
||||
"version": "version:0"
|
||||
}
|
||||
],
|
||||
"dimensions": [
|
||||
@ -3526,7 +3531,12 @@
|
||||
{
|
||||
"name": "skia/bots/cast_toolchain",
|
||||
"path": "cast_toolchain",
|
||||
"version": "version:2"
|
||||
"version": "version:4"
|
||||
},
|
||||
{
|
||||
"name": "skia/bots/chromebook_arm_gles",
|
||||
"path": "chromebook_arm_gles",
|
||||
"version": "version:0"
|
||||
}
|
||||
],
|
||||
"dimensions": [
|
||||
|
@ -162,9 +162,11 @@ ContextInfo GrContextFactory::getContextInfoInternal(ContextType type, ContextOv
|
||||
glShareContext).release();
|
||||
break;
|
||||
#endif
|
||||
#ifndef SK_NO_COMMAND_BUFFER
|
||||
case kCommandBuffer_ContextType:
|
||||
glCtx = CommandBufferGLTestContext::Create(glShareContext);
|
||||
break;
|
||||
#endif
|
||||
#if SK_MESA
|
||||
case kMESA_ContextType:
|
||||
glCtx = CreateMesaGLTestContext(glShareContext);
|
||||
|
@ -6,6 +6,8 @@
|
||||
* found in the LICENSE file.
|
||||
*/
|
||||
|
||||
#ifndef SK_NO_COMMAND_BUFFER
|
||||
|
||||
#include "SkMutex.h"
|
||||
#include "SkOnce.h"
|
||||
#include "gl/GrGLInterface.h"
|
||||
@ -302,3 +304,4 @@ int CommandBufferGLTestContext::getSampleCount() {
|
||||
}
|
||||
|
||||
} // namespace sk_gpu_test
|
||||
#endif // SK_NO_COMMAND_BUFFER
|
||||
|
@ -237,6 +237,7 @@ GrGLuint EGLGLTestContext::eglImageToExternalTexture(GrEGLImage image) const {
|
||||
if (!this->gl()->hasExtension("GL_OES_EGL_image_external")) {
|
||||
return 0;
|
||||
}
|
||||
#ifndef EGL_NO_IMAGE_EXTERNAL
|
||||
typedef GrGLvoid (*EGLImageTargetTexture2DProc)(GrGLenum, GrGLeglImage);
|
||||
|
||||
EGLImageTargetTexture2DProc glEGLImageTargetTexture2D =
|
||||
@ -260,6 +261,9 @@ GrGLuint EGLGLTestContext::eglImageToExternalTexture(GrEGLImage image) const {
|
||||
return 0;
|
||||
}
|
||||
return texID;
|
||||
#else
|
||||
return 0;
|
||||
#endif //EGL_NO_IMAGE_EXTERNAL
|
||||
}
|
||||
|
||||
std::unique_ptr<sk_gpu_test::GLTestContext> EGLGLTestContext::makeNew() const {
|
||||
|
Loading…
Reference in New Issue
Block a user