aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Android.bp1
-rw-r--r--platform_tools/android/apps/skqp/src/main/Android.bp24
-rw-r--r--platform_tools/android/apps/skqp/src/main/Android.mk18
-rw-r--r--platform_tools/android/apps/skqp/src/main/AndroidTest.xml1
-rw-r--r--platform_tools/android/apps/skqp/src/main/assets/skqp/rendertests.txt44
-rw-r--r--platform_tools/android/apps/skqp/src/main/assets/skqp/unittests.txt1
-rw-r--r--platform_tools/android/apps/skqp/src/main/java/org/skia/skqp/SkQPRunner.java42
-rw-r--r--src/core/SkRecord.h14
-rw-r--r--src/gpu/gradients/GrLinearGradientLayout.cpp6
-rw-r--r--src/gpu/gradients/GrLinearGradientLayout.fp9
-rw-r--r--src/gpu/vk/GrVkCaps.cpp41
-rw-r--r--src/gpu/vk/GrVkGpu.cpp15
-rw-r--r--tests/GrCCPRTest.cpp2
-rw-r--r--tests/VkHardwareBufferTest.cpp3
-rwxr-xr-xtools/skqp/gn_to_bp.py3
-rwxr-xr-xtools/skqp/release.sh2
16 files changed, 144 insertions, 82 deletions
diff --git a/Android.bp b/Android.bp
index ae3406e566..9888fc739b 100644
--- a/Android.bp
+++ b/Android.bp
@@ -15,7 +15,6 @@ cc_library_shared {
"-D_FORTIFY_SOURCE=1",
"-Wall",
"-Werror",
- "-Weverything",
"-Wextra",
"-Winit-self",
"-Wno-bad-function-cast",
diff --git a/platform_tools/android/apps/skqp/src/main/Android.bp b/platform_tools/android/apps/skqp/src/main/Android.bp
new file mode 100644
index 0000000000..5df47bd8b5
--- /dev/null
+++ b/platform_tools/android/apps/skqp/src/main/Android.bp
@@ -0,0 +1,24 @@
+// Copyright 2019 Google LLC.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+android_test {
+ name: "CtsSkQPTestCases",
+ defaults: ["cts_defaults"],
+
+ test_suites: [
+ "cts",
+ "vts10",
+ "general-tests",
+ ],
+ libs: ["android.test.runner.stubs"],
+ jni_libs: ["libskqp_app"],
+ compile_multilib: "both",
+
+ static_libs: [
+ "android-support-design",
+ "ctstestrunner-axt",
+ ],
+ srcs: ["java/**/*.java"],
+ sdk_version: "test_current",
+}
diff --git a/platform_tools/android/apps/skqp/src/main/Android.mk b/platform_tools/android/apps/skqp/src/main/Android.mk
deleted file mode 100644
index 18f4a5548a..0000000000
--- a/platform_tools/android/apps/skqp/src/main/Android.mk
+++ /dev/null
@@ -1,18 +0,0 @@
-# Copyright 2019 Google LLC.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-LOCAL_PATH:= $(call my-dir)
-include $(CLEAR_VARS)
-LOCAL_MODULE_TAGS := tests optional
-LOCAL_MODULE_PATH := $(TARGET_OUT_DATA_APPS)
-LOCAL_COMPATIBILITY_SUITE := cts vts general-tests
-LOCAL_JAVA_LIBRARIES := android.test.runner.stubs
-LOCAL_JNI_SHARED_LIBRARIES := libskqp_app
-LOCAL_MULTILIB := both
-LOCAL_USE_AAPT2 := true
-LOCAL_STATIC_ANDROID_LIBRARIES := android-support-design
-LOCAL_STATIC_JAVA_LIBRARIES := ctstestrunner-axt
-LOCAL_SRC_FILES := $(call all-java-files-under, java)
-LOCAL_PACKAGE_NAME := CtsSkQPTestCases
-LOCAL_SDK_VERSION := test_current
-include $(BUILD_CTS_PACKAGE)
diff --git a/platform_tools/android/apps/skqp/src/main/AndroidTest.xml b/platform_tools/android/apps/skqp/src/main/AndroidTest.xml
index b73ab49d4a..670015b5bf 100644
--- a/platform_tools/android/apps/skqp/src/main/AndroidTest.xml
+++ b/platform_tools/android/apps/skqp/src/main/AndroidTest.xml
@@ -10,6 +10,7 @@ found in the LICENSE file.
<option name="config-descriptor:metadata" key="component" value="uitoolkit" />
<option name="config-descriptor:metadata" key="parameter" value="not_instant_app" />
<option name="config-descriptor:metadata" key="parameter" value="multi_abi" />
+<option name="config-descriptor:metadata" key="parameter" value="secondary_user" />
<target_preparer class="com.android.tradefed.targetprep.suite.SuiteApkInstaller">
<option name="cleanup-apks" value="true" />
<option name="test-file-name" value="CtsSkQPTestCases.apk" />
diff --git a/platform_tools/android/apps/skqp/src/main/assets/skqp/rendertests.txt b/platform_tools/android/apps/skqp/src/main/assets/skqp/rendertests.txt
index 79eb3f09bf..618310ff22 100644
--- a/platform_tools/android/apps/skqp/src/main/assets/skqp/rendertests.txt
+++ b/platform_tools/android/apps/skqp/src/main/assets/skqp/rendertests.txt
@@ -28,7 +28,7 @@ arcofzorro,-1
arcs_as_paths,-1
arcto,-1
arithmode,0
-atlastext,0
+atlastext,2
b_119394958,-1
badpaint,-1
bezier_conic_effects,-1
@@ -39,8 +39,8 @@ big_rrect_circular_corner_aa_effect,-1
big_rrect_ellipse_aa_effect,-1
big_rrect_elliptical_corner_aa_effect,-1
big_rrect_rect_aa_effect,-1
-bigbitmaprect_i,0
-bigbitmaprect_s,0
+bigbitmaprect_i,1
+bigbitmaprect_s,1
bigblurs,-1
bigconic,-1
bigmatrix,-1
@@ -86,14 +86,14 @@ blurroundrect-WH-100x100-unevenCorners,-1
blurs,-1
bmp_filter_quality_repeat,-1
bug339297,0
-bug339297_as_clip,0
+bug339297_as_clip,1
bug5099,-1
bug5252,-1
bug530095,-1
bug583299,0
bug591993,0
bug593049,0
-bug6083,0
+bug6083,1
bug615686,-1
bug6643,0
bug6783,0
@@ -170,7 +170,7 @@ composeshader,0
composeshader_alpha,0
composeshader_bitmap,0
composeshader_bitmap2,-1
-composeshader_grid,0
+composeshader_grid,1
concavepaths,-1
conicpaths,-1
const_color_processor,-1
@@ -357,7 +357,7 @@ gradients_no_texture_nodither,-1
gradients_nodither,-1
gradients_view_perspective,-1
gradients_view_perspective_nodither,-1
-gradtext,0
+gradtext,1
grayscalejpg,0
hairlines,-1
hairmodes,-1
@@ -380,9 +380,9 @@ imagealphathreshold_crop,0
imagealphathreshold_image,-1
imagealphathreshold_surface,0
imageblur,-1
-imageblur2,0
+imageblur2,2
imageblur_large,0
-imageblurclampmode,0
+imageblurclampmode,1
imageblurrepeatmode,0
imageblurtiled,0
imagefilters_xfermodes,-1
@@ -390,7 +390,7 @@ imagefiltersbase,-1
imagefiltersclipped,-1
imagefilterscropexpand,-1
imagefilterscropped,-1
-imagefiltersgraph,0
+imagefiltersgraph,1
imagefiltersscaled,-1
imagefiltersstroked,-1
imagefilterstransformed,-1
@@ -446,9 +446,9 @@ manyrrects,-1
matrixconvolution,-1
matrixconvolution_color,-1
matriximagefilter,-1
-megalooper_0x0,0
-megalooper_1x4,0
-megalooper_4x1,0
+megalooper_0x0,1
+megalooper_1x4,1
+megalooper_4x1,1
mipmap,-1
mipmap_gray8_srgb,0
mipmap_srgb,0
@@ -480,7 +480,7 @@ nonclosedpaths,-1
not_native32_bitmap_config,0
offsetimagefilter,0
onebadarc,0
-orientation,0
+orientation,1
ovals,-1
ovals_as_paths,-1
overdrawcolorfilter,0
@@ -560,14 +560,14 @@ savelayer_initfromprev,-1
savelayer_maskfilter,-1
savelayer_unclipped,0
savelayer_with_backdrop,-1
-scale-pixels,0
+scale-pixels,-1
scaled_tilemode_bitmap,0
scaled_tilemode_gradient,0
-scaled_tilemodes,0
+scaled_tilemodes,1
scaled_tilemodes_npot,-1
-scaledemoji,0
+scaledemoji,1
scaledemoji_rendering,-1
-scaledemojipos,0
+scaledemojipos,1
scaledstrokes,-1
scalepixels_unpremul,0
shadermaskfilter_gradient,-1
@@ -619,7 +619,7 @@ smallarc,-1
smallpaths,-1
spritebitmap,0
squarehair,-1
-srcmode,0
+srcmode,1
srgb_colorfilter,0
stlouisarch,-1
stringart,-1
@@ -645,7 +645,7 @@ teenyStrokes,-1
testgradient,-1
text_scale_skew,-1
textblob,-1
-textblob_intercepts,0
+textblob_intercepts,1
textblobblockreordering,0
textblobcolortrans,0
textblobgeometrychange,-1
@@ -691,15 +691,13 @@ varied_text_ignorable_clip_no_lcd,-1
vertices,-1
vertices_batching,-1
vertices_scaled_shader,-1
-verylarge_picture_image,-1
-verylargebitmap,-1
wacky_yuv_formats,0
wacky_yuv_formats_cs,0
windowrectangles,-1
windowrectangles_mask,-1
xfermodeimagefilter,-1
xfermodes,-1
-xfermodes2,0
+xfermodes2,1
xfermodes3,0
yuv_nv12_to_rgb_effect,-1
yuv_to_rgb_effect,-1
diff --git a/platform_tools/android/apps/skqp/src/main/assets/skqp/unittests.txt b/platform_tools/android/apps/skqp/src/main/assets/skqp/unittests.txt
index 3a9640896a..cda34eae32 100644
--- a/platform_tools/android/apps/skqp/src/main/assets/skqp/unittests.txt
+++ b/platform_tools/android/apps/skqp/src/main/assets/skqp/unittests.txt
@@ -76,7 +76,6 @@ GrWrappedMipMappedTest
HalfFloatAlphaTextureTest
HalfFloatRGBATextureTest
ImageEncode_Gpu
-ImageFilterBlurLargeImage_Gpu
ImageFilterCache_GPUBacked
ImageFilterCache_ImageBackedGPU
ImageFilterClippedPictureImageFilter_Gpu
diff --git a/platform_tools/android/apps/skqp/src/main/java/org/skia/skqp/SkQPRunner.java b/platform_tools/android/apps/skqp/src/main/java/org/skia/skqp/SkQPRunner.java
index 8e360c8840..e65d618d7d 100644
--- a/platform_tools/android/apps/skqp/src/main/java/org/skia/skqp/SkQPRunner.java
+++ b/platform_tools/android/apps/skqp/src/main/java/org/skia/skqp/SkQPRunner.java
@@ -29,6 +29,7 @@ import org.junit.runner.notification.RunNotifier;
public class SkQPRunner extends Runner implements Filterable {
private int mShouldRunTestCount;
private Description[] mTests;
+ private Description mDescription;
private boolean[] mShouldSkipTest;
private String mOutputDirectory;
private SkQP mImpl;
@@ -52,8 +53,9 @@ public class SkQPRunner extends Runner implements Filterable {
AssetManager assetManager = context.getResources().getAssets();
mImpl.nInit(assetManager, mOutputDirectory);
- mTests = new Description[this.testCount()];
- mShouldSkipTest = new boolean[mTests.length]; // = {false, false, ....};
+ int totalCount = mImpl.mUnitTests.length + mImpl.mGMs.length * mImpl.mBackends.length;
+ mTests = new Description[totalCount];
+ mShouldSkipTest = new boolean[totalCount]; // = {false, false, ....};
int index = 0;
for (int backend = 0; backend < mImpl.mBackends.length; backend++) {
for (int gm = 0; gm < mImpl.mGMs.length; gm++) {
@@ -65,37 +67,35 @@ public class SkQPRunner extends Runner implements Filterable {
mTests[index++] = Description.createTestDescription(SkQPRunner.class,
"unitTest_" + mImpl.mUnitTests[unitTest]);
}
- assert(index == mTests.length);
- mShouldRunTestCount = mTests.length;
+ assert(index == totalCount);
+ this.updateDescription(null);
}
- @Override
- public void filter(Filter filter) throws NoTestsRemainException {
- int count = 0;
+ private void updateDescription(Filter filter) {
+ mShouldRunTestCount = 0;
+ mDescription = Description.createSuiteDescription(SkQP.class);
+ assert(mTests.length == mShouldSkipTest.length);
for (int i = 0; i < mTests.length; ++i) {
- mShouldSkipTest[i] = !filter.shouldRun(mTests[i]);
- if (!mShouldSkipTest[i]) {
- ++count;
+ boolean doRunTest = filter != null ? filter.shouldRun(mTests[i]) : true;
+ mShouldSkipTest[i] = !doRunTest;
+ if (doRunTest) {
+ mDescription.addChild(mTests[i]);
+ ++mShouldRunTestCount;
}
}
- mShouldRunTestCount = count;
- if (0 == count) {
- throw new NoTestsRemainException();
- }
}
@Override
- public Description getDescription() {
- Description d = Description.createSuiteDescription(SkQP.class);
- for (int i = 0; i < mTests.length; ++i) {
- d.addChild(mTests[i]);
+ public void filter(Filter filter) throws NoTestsRemainException {
+ this.updateDescription(filter);
+ if (0 == mShouldRunTestCount) {
+ throw new NoTestsRemainException();
}
- return d;
}
@Override
- public int testCount() {
- return mImpl.mUnitTests.length + mImpl.mGMs.length * mImpl.mBackends.length;
+ public Description getDescription() {
+ return mDescription;
}
@Override
diff --git a/src/core/SkRecord.h b/src/core/SkRecord.h
index 088975bc16..feabec8b15 100644
--- a/src/core/SkRecord.h
+++ b/src/core/SkRecord.h
@@ -141,22 +141,20 @@ private:
// A typed pointer to some bytes in fAlloc. visit() and mutate() allow polymorphic dispatch.
struct Record {
- // On 32-bit machines we store type in 4 bytes, followed by a pointer. Simple.
- // On 64-bit machines we store a pointer with the type slotted into two top (unused) bytes.
- // FWIW, SkRecords::Type is tiny. It can easily fit in one byte.
- uint64_t fTypeAndPtr;
- static const int kTypeShift = sizeof(void*) == 4 ? 32 : 48;
+ SkRecords::Type fType;
+ void* fPtr;
// Point this record to its data in fAlloc. Returns ptr for convenience.
template <typename T>
T* set(T* ptr) {
- fTypeAndPtr = ((uint64_t)T::kType) << kTypeShift | (uintptr_t)ptr;
+ fType = T::kType;
+ fPtr = ptr;
SkASSERT(this->ptr() == ptr && this->type() == T::kType);
return ptr;
}
- SkRecords::Type type() const { return (SkRecords::Type)(fTypeAndPtr >> kTypeShift); }
- void* ptr() const { return (void*)(fTypeAndPtr & ((1ull<<kTypeShift)-1)); }
+ SkRecords::Type type() const { return fType; }
+ void* ptr() const { return fPtr; }
// Visit this record with functor F (see public API above).
template <typename F>
diff --git a/src/gpu/gradients/GrLinearGradientLayout.cpp b/src/gpu/gradients/GrLinearGradientLayout.cpp
index cd53b36bcd..d809e004b0 100644
--- a/src/gpu/gradients/GrLinearGradientLayout.cpp
+++ b/src/gpu/gradients/GrLinearGradientLayout.cpp
@@ -25,8 +25,10 @@ public:
auto gradientMatrix = _outer.gradientMatrix();
(void)gradientMatrix;
SkString sk_TransformedCoords2D_0 = fragBuilder->ensureCoords2D(args.fTransformedCoords[0]);
- fragBuilder->codeAppendf("half t = half(%s.x);\n%s = half4(t, 1.0, 0.0, 0.0);\n",
- sk_TransformedCoords2D_0.c_str(), args.fOutputColor);
+ fragBuilder->codeAppendf(
+ "half t = half(%s.x) + 1.0000000000000001e-05;\n%s = half4(t, 1.0, 0.0, 0.0);\n",
+ sk_TransformedCoords2D_0.c_str(),
+ args.fOutputColor);
}
private:
diff --git a/src/gpu/gradients/GrLinearGradientLayout.fp b/src/gpu/gradients/GrLinearGradientLayout.fp
index 3a187f321c..bd144316e8 100644
--- a/src/gpu/gradients/GrLinearGradientLayout.fp
+++ b/src/gpu/gradients/GrLinearGradientLayout.fp
@@ -12,7 +12,14 @@ in half4x4 gradientMatrix;
}
void main() {
- half t = sk_TransformedCoords2D[0].x;
+ // We add a tiny delta to t. When gradient stops are set up so that a hard stop in a vertically
+ // or horizontally oriented gradient falls exactly at a column or row of pixel centers we can
+ // we can get slightly different interpolated t values along the column/row. By adding the delta
+ // we will consistently get the color to the "right" of the stop. Of course if the hard stop
+ // falls at X.5 - delta then we still could get inconsistent results, but that is much less
+ // likely. crbug.com/938592
+ // If/when we add filtering of the gradient this can be removed.
+ half t = half(sk_TransformedCoords2D[0].x) + 0.00001;
sk_OutColor = half4(t, 1, 0, 0); // y = 1 for always valid
}
diff --git a/src/gpu/vk/GrVkCaps.cpp b/src/gpu/vk/GrVkCaps.cpp
index a720e72bf1..dabdda76a6 100644
--- a/src/gpu/vk/GrVkCaps.cpp
+++ b/src/gpu/vk/GrVkCaps.cpp
@@ -74,6 +74,44 @@ bool GrVkCaps::initDescForDstCopy(const GrRenderTargetProxy* src, GrSurfaceDesc*
return true;
}
+static int get_compatible_format_class(GrPixelConfig config) {
+ switch (config) {
+ case kAlpha_8_GrPixelConfig:
+ case kAlpha_8_as_Red_GrPixelConfig:
+ case kGray_8_GrPixelConfig:
+ case kGray_8_as_Red_GrPixelConfig:
+ return 1;
+ case kRGB_565_GrPixelConfig:
+ case kRGBA_4444_GrPixelConfig:
+ case kRG_88_GrPixelConfig:
+ case kAlpha_half_GrPixelConfig:
+ case kAlpha_half_as_Red_GrPixelConfig:
+ return 2;
+ case kRGB_888_GrPixelConfig:
+ return 3;
+ case kRGBA_8888_GrPixelConfig:
+ case kBGRA_8888_GrPixelConfig:
+ case kSRGBA_8888_GrPixelConfig:
+ case kSBGRA_8888_GrPixelConfig:
+ case kRGBA_1010102_GrPixelConfig:
+ return 4;
+ case kRGBA_half_GrPixelConfig:
+ case kRG_float_GrPixelConfig:
+ return 5;
+ case kRGBA_float_GrPixelConfig:
+ return 6;
+ case kRGB_ETC1_GrPixelConfig:
+ return 7;
+ case kUnknown_GrPixelConfig:
+ case kAlpha_8_as_Alpha_GrPixelConfig:
+ case kGray_8_as_Lum_GrPixelConfig:
+ SK_ABORT("Unsupported Vulkan pixel config");
+ return 0;
+ }
+ SK_ABORT("Invalid pixel config");
+ return 0;
+}
+
bool GrVkCaps::canCopyImage(GrPixelConfig dstConfig, int dstSampleCnt, GrSurfaceOrigin dstOrigin,
GrPixelConfig srcConfig, int srcSampleCnt,
GrSurfaceOrigin srcOrigin) const {
@@ -83,7 +121,8 @@ bool GrVkCaps::canCopyImage(GrPixelConfig dstConfig, int dstSampleCnt, GrSurface
// We require that all vulkan GrSurfaces have been created with transfer_dst and transfer_src
// as image usage flags.
- if (srcOrigin != dstOrigin || GrBytesPerPixel(srcConfig) != GrBytesPerPixel(dstConfig)) {
+ if (srcOrigin != dstOrigin ||
+ get_compatible_format_class(srcConfig) != get_compatible_format_class(dstConfig)) {
return false;
}
diff --git a/src/gpu/vk/GrVkGpu.cpp b/src/gpu/vk/GrVkGpu.cpp
index 2f668051e3..ede31df82f 100644
--- a/src/gpu/vk/GrVkGpu.cpp
+++ b/src/gpu/vk/GrVkGpu.cpp
@@ -712,6 +712,14 @@ bool GrVkGpu::uploadTexDataOptimal(GrVkTexture* tex, int left, int top, int widt
if (!copyTexture) {
return false;
}
+
+ if (!this->vkCaps().canCopyAsBlit(tex->config(), 1, false,
+ copyTexture->config(), 1, false) &&
+ !this->vkCaps().canCopyAsDraw(tex->config(), SkToBool(tex->asRenderTarget()),
+ copyTexture->config(), true)) {
+ return false;
+ }
+
uploadTexture = copyTexture.get();
uploadLeft = 0;
uploadTop = 0;
@@ -2107,14 +2115,15 @@ bool GrVkGpu::onReadPixels(GrSurface* surface, int left, int top, int width, int
if (rt) {
srcSampleCount = rt->numColorSamples();
}
- static const GrSurfaceOrigin kOrigin = kTopLeft_GrSurfaceOrigin;
- if (!this->vkCaps().canCopyAsBlit(copySurface->config(), 1, kOrigin,
- surface->config(), srcSampleCount, kOrigin) &&
+ if (!this->vkCaps().canCopyAsBlit(copySurface->config(), 1, false,
+ surface->config(), srcSampleCount,
+ image->isLinearTiled()) &&
!this->vkCaps().canCopyAsDraw(copySurface->config(), false,
surface->config(), SkToBool(surface->asTexture()))) {
return false;
}
SkIRect srcRect = SkIRect::MakeXYWH(left, top, width, height);
+ static const GrSurfaceOrigin kOrigin = kTopLeft_GrSurfaceOrigin;
if (!this->copySurface(copySurface.get(), kOrigin, surface, kOrigin,
srcRect, SkIPoint::Make(0,0))) {
return false;
diff --git a/tests/GrCCPRTest.cpp b/tests/GrCCPRTest.cpp
index 9c84717d34..c4bf58973a 100644
--- a/tests/GrCCPRTest.cpp
+++ b/tests/GrCCPRTest.cpp
@@ -883,7 +883,7 @@ protected:
class CCPR_busyPath : public CCPRRenderingTest {
void onRun(skiatest::Reporter* reporter, const CCPRPathDrawer& ccpr) const override {
- static constexpr int kNumBusyVerbs = 1 << 17;
+ static constexpr int kNumBusyVerbs = 1 << 14;
ccpr.clear();
SkPath busyPath;
busyPath.moveTo(0, 0); // top left
diff --git a/tests/VkHardwareBufferTest.cpp b/tests/VkHardwareBufferTest.cpp
index c37d1d743e..dbf9a41200 100644
--- a/tests/VkHardwareBufferTest.cpp
+++ b/tests/VkHardwareBufferTest.cpp
@@ -155,7 +155,8 @@ bool EGLTestHelper::init(skiatest::Reporter* reporter) {
!fGLCtx->gl()->hasExtension("EGL_ANDROID_get_native_client_buffer") ||
!fGLCtx->gl()->hasExtension("GL_OES_EGL_image_external") ||
!fGLCtx->gl()->hasExtension("GL_OES_EGL_image") ||
- !fGLCtx->gl()->hasExtension("EGL_KHR_fence_sync")) {
+ !fGLCtx->gl()->hasExtension("EGL_KHR_fence_sync") ||
+ !fGLCtx->gl()->hasExtension("EGL_ANDROID_native_fence_sync")) {
return false;
}
diff --git a/tools/skqp/gn_to_bp.py b/tools/skqp/gn_to_bp.py
index d6b84955da..920c8f0e8e 100755
--- a/tools/skqp/gn_to_bp.py
+++ b/tools/skqp/gn_to_bp.py
@@ -151,6 +151,9 @@ defines = {str(d) for d in js['targets']['//:libskqp_app']['defines']}
defines.update(["SK_ENABLE_DUMP_GPU", "SK_BUILD_FOR_SKQP"])
cflags_cc.update(['-Wno-extra-semi-stmt'])
+# Android does not want -Weverything set, it blocks toolchain updates.
+cflags.remove('-Weverything')
+
gn_to_bp_utils.GrabDependentValues(js, '//:libskqp_app', 'sources', srcs, None)
gn_to_bp_utils.GrabDependentValues(js, '//:libskqp_app', 'include_dirs',
local_includes, 'freetype')
diff --git a/tools/skqp/release.sh b/tools/skqp/release.sh
index f96fb9f673..d33178e14a 100755
--- a/tools/skqp/release.sh
+++ b/tools/skqp/release.sh
@@ -25,7 +25,7 @@ cat > platform_tools/android/apps/skqp/src/main/Android.mk <<- "EOM"
include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := tests optional
LOCAL_MODULE_PATH := $(TARGET_OUT_DATA_APPS)
- LOCAL_COMPATIBILITY_SUITE := cts vts general-tests
+ LOCAL_COMPATIBILITY_SUITE := cts vts10 general-tests
LOCAL_JAVA_LIBRARIES := android.test.runner.stubs
LOCAL_JNI_SHARED_LIBRARIES := libskqp_app
LOCAL_MULTILIB := both