Revert "Add tooling support for dmsaa"
This reverts commit 188443be8d
.
Reason for revert: It looks like non-dmsaa bots might have been
affected. Let's land first without the new bots to make sure nothing
else changes.
Original change's description:
> Add tooling support for dmsaa
>
> Adds a "fAlwaysAntiAlias" flag to GrContextOptions that can be set from
> tooling code. When dmsaa is set, SkGpuDevice draws everything
> antialiased. Adds new "gldmsaa" and "glesdmsaa" configs and creates bots
> to run them.
>
> Bug: skia:11396
> Change-Id: I165e89434b733f7b02312cea0e6649812528083b
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/384936
> Commit-Queue: Chris Dalton <csmartdalton@google.com>
> Reviewed-by: Brian Salomon <bsalomon@google.com>
TBR=bsalomon@google.com,csmartdalton@google.com,michaelludwig@google.com
Change-Id: Ib805b417ebd34d1fad79e0e1fe625765ee487f65
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:11396
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/386336
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Auto-Submit: Chris Dalton <csmartdalton@google.com>
This commit is contained in:
parent
3150839b59
commit
22dd57b82c
@ -247,7 +247,6 @@ struct GPUTarget : public Target {
|
||||
}
|
||||
bool init(SkImageInfo info, Benchmark* bench) override {
|
||||
GrContextOptions options = grContextOpts;
|
||||
options.fAlwaysAntialias = config.useDMSAA;
|
||||
bench->modifyGrContextOptions(&options);
|
||||
this->factory = std::make_unique<GrContextFactory>(options);
|
||||
SkSurfaceProps props(this->config.surfaceFlags, kRGB_H_SkPixelGeometry);
|
||||
@ -470,7 +469,6 @@ static void create_config(const SkCommandLineConfig* config, SkTArray<Config>* c
|
||||
const auto ctxType = gpuConfig->getContextType();
|
||||
const auto ctxOverrides = gpuConfig->getContextOverrides();
|
||||
const auto sampleCount = gpuConfig->getSamples();
|
||||
const auto useDMSAA = gpuConfig->getUseDMSAA();
|
||||
const auto colorType = gpuConfig->getColorType();
|
||||
auto colorSpace = gpuConfig->getColorSpace();
|
||||
if (gpuConfig->getSurfType() != SkCommandLineConfigGpu::SurfType::kDefault) {
|
||||
@ -501,7 +499,6 @@ static void create_config(const SkCommandLineConfig* config, SkTArray<Config>* c
|
||||
kPremul_SkAlphaType,
|
||||
sk_ref_sp(colorSpace),
|
||||
sampleCount,
|
||||
useDMSAA,
|
||||
ctxType,
|
||||
ctxOverrides,
|
||||
gpuConfig->getSurfaceFlags()
|
||||
@ -520,7 +517,7 @@ static void create_config(const SkCommandLineConfig* config, SkTArray<Config>* c
|
||||
} \
|
||||
Config config = { \
|
||||
SkString(#name), Benchmark::backend, color, alpha, colorSpace, \
|
||||
0, false, kBogusContextType, kBogusContextOverrides, 0 \
|
||||
0, kBogusContextType, kBogusContextOverrides, 0 \
|
||||
}; \
|
||||
configs->push_back(config); \
|
||||
return; \
|
||||
|
@ -25,7 +25,6 @@ struct Config {
|
||||
SkAlphaType alpha;
|
||||
sk_sp<SkColorSpace> colorSpace;
|
||||
int samples;
|
||||
bool useDMSAA;
|
||||
sk_gpu_test::GrContextFactory::ContextType ctxType;
|
||||
sk_gpu_test::GrContextFactory::ContextOverrides ctxOverrides;
|
||||
uint32_t surfaceFlags;
|
||||
|
@ -1479,7 +1479,6 @@ GPUSink::GPUSink(const SkCommandLineConfigGpu* config,
|
||||
, fAlphaType(config->getAlphaType())
|
||||
, fColorSpace(sk_ref_sp(config->getColorSpace()))
|
||||
, fBaseContextOptions(grCtxOptions) {
|
||||
fBaseContextOptions.fAlwaysAntialias = config->getUseDMSAA();
|
||||
if (FLAGS_programBinaryCache) {
|
||||
fBaseContextOptions.fPersistentCache = &fMemoryCache;
|
||||
}
|
||||
|
@ -313,12 +313,6 @@ struct SK_API GrContextOptions {
|
||||
*/
|
||||
bool fDisallowWritePixelRowBytes = false;
|
||||
|
||||
/**
|
||||
* Forces all draws to use antialiasing. This allows Ganesh to use internal multisampling
|
||||
* as well as certain clip optimizations.
|
||||
*/
|
||||
bool fAlwaysAntialias = false;
|
||||
|
||||
/**
|
||||
* Include or exclude specific GPU path renderers.
|
||||
*/
|
||||
|
@ -472,12 +472,6 @@ func (b *taskBuilder) dmFlags(internalHardwareLabel string) {
|
||||
args = append(args, "--hwtess", "--pr", "tess")
|
||||
}
|
||||
|
||||
// Test dynamic MSAA.
|
||||
if b.extraConfig("DMSAA") {
|
||||
configs = []string{glPrefix + "dmsaa"}
|
||||
args = append(args, "--hwtess")
|
||||
}
|
||||
|
||||
// Test non-nvpr on NVIDIA.
|
||||
if b.extraConfig("NonNVPR") {
|
||||
configs = []string{"gl", "glmsaa4"}
|
||||
|
@ -623,7 +623,7 @@ func (b *jobBuilder) deriveCompileTaskName() string {
|
||||
"ReleaseAndAbandonGpuContext", "FSAA", "FAAA", "FDAA", "NativeFonts", "GDI",
|
||||
"NoGPUThreads", "ProcDump", "DDL1", "DDL3", "OOPRDDL", "T8888",
|
||||
"DDLTotal", "DDLRecord", "9x9", "BonusConfigs", "SkottieTracing", "SkottieWASM",
|
||||
"GpuTess", "DMSAA", "NonNVPR", "Mskp", "Docker", "PDF", "SkVM", "Puppeteer",
|
||||
"GpuTess", "NonNVPR", "Mskp", "Docker", "PDF", "SkVM", "Puppeteer",
|
||||
"SkottieFrames", "RenderSKP", "CanvasPerf", "AllPathsVolatile", "WebGL2"}
|
||||
keep := make([]string, 0, len(ec))
|
||||
for _, part := range ec {
|
||||
|
@ -332,7 +332,6 @@
|
||||
"Test-Android-Clang-GalaxyS9-GPU-MaliG72-arm64-Release-All-Android_Vulkan",
|
||||
"Test-Android-Clang-GalaxyS20-GPU-MaliG77-arm64-Debug-All-Android",
|
||||
"Test-Android-Clang-GalaxyS20-GPU-MaliG77-arm64-Debug-All-Android_Vulkan",
|
||||
"Test-Android-Clang-GalaxyS20-GPU-MaliG77-arm64-Debug-All-Android_DMSAA",
|
||||
"Test-Android-Clang-GalaxyS20-GPU-MaliG77-arm64-Release-All-Android",
|
||||
"Test-Android-Clang-GalaxyS20-GPU-MaliG77-arm64-Release-All-Android_Vulkan",
|
||||
"Test-Android-Clang-MotoG4-GPU-Adreno405-arm-Debug-All-Android",
|
||||
@ -514,7 +513,6 @@
|
||||
"Test-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-Dawn",
|
||||
"Test-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-BonusConfigs",
|
||||
"Test-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-GpuTess",
|
||||
"Test-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-DMSAA",
|
||||
"Test-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-NonNVPR",
|
||||
"Test-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-ReleaseAndAbandonGpuContext",
|
||||
"Test-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-Vulkan",
|
||||
|
@ -1613,11 +1613,6 @@
|
||||
"Upload-Test-Android-Clang-GalaxyS20-GPU-MaliG77-arm64-Debug-All-Android"
|
||||
]
|
||||
},
|
||||
"Test-Android-Clang-GalaxyS20-GPU-MaliG77-arm64-Debug-All-Android_DMSAA": {
|
||||
"tasks": [
|
||||
"Upload-Test-Android-Clang-GalaxyS20-GPU-MaliG77-arm64-Debug-All-Android_DMSAA"
|
||||
]
|
||||
},
|
||||
"Test-Android-Clang-GalaxyS20-GPU-MaliG77-arm64-Debug-All-Android_Vulkan": {
|
||||
"tasks": [
|
||||
"Upload-Test-Android-Clang-GalaxyS20-GPU-MaliG77-arm64-Debug-All-Android_Vulkan"
|
||||
@ -2590,11 +2585,6 @@
|
||||
"Upload-Test-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-BonusConfigs"
|
||||
]
|
||||
},
|
||||
"Test-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-DMSAA": {
|
||||
"tasks": [
|
||||
"Upload-Test-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-DMSAA"
|
||||
]
|
||||
},
|
||||
"Test-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-Dawn": {
|
||||
"tasks": [
|
||||
"Upload-Test-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-Dawn"
|
||||
@ -27315,73 +27305,6 @@
|
||||
"test"
|
||||
]
|
||||
},
|
||||
"Test-Android-Clang-GalaxyS20-GPU-MaliG77-arm64-Debug-All-Android_DMSAA": {
|
||||
"caches": [
|
||||
{
|
||||
"name": "vpython",
|
||||
"path": "cache/vpython"
|
||||
}
|
||||
],
|
||||
"casSpec": "test",
|
||||
"cipd_packages": [
|
||||
{
|
||||
"name": "infra/tools/luci-auth/${platform}",
|
||||
"path": "cipd_bin_packages",
|
||||
"version": "git_revision:14be8b751c0fb567535f520f8a7bc60c3f40b378"
|
||||
},
|
||||
{
|
||||
"name": "infra/tools/luci/kitchen/${platform}",
|
||||
"path": ".",
|
||||
"version": "git_revision:14be8b751c0fb567535f520f8a7bc60c3f40b378"
|
||||
},
|
||||
{
|
||||
"name": "infra/tools/luci/vpython/${platform}",
|
||||
"path": "cipd_bin_packages",
|
||||
"version": "git_revision:14be8b751c0fb567535f520f8a7bc60c3f40b378"
|
||||
}
|
||||
],
|
||||
"command": [
|
||||
"cipd_bin_packages/vpython${EXECUTABLE_SUFFIX}",
|
||||
"-u",
|
||||
"skia/infra/bots/run_recipe.py",
|
||||
"${ISOLATED_OUTDIR}",
|
||||
"test",
|
||||
"{\"$kitchen\":{\"devshell\":true,\"git_auth\":true},\"buildbucket_build_id\":\"<(BUILDBUCKET_BUILD_ID)\",\"buildername\":\"Test-Android-Clang-GalaxyS20-GPU-MaliG77-arm64-Debug-All-Android_DMSAA\",\"dm_flags\":\"[\\\"dm\\\",\\\"--nameByHash\\\",\\\"--key\\\",\\\"arch\\\",\\\"arm64\\\",\\\"compiler\\\",\\\"Clang\\\",\\\"configuration\\\",\\\"Debug\\\",\\\"cpu_or_gpu\\\",\\\"GPU\\\",\\\"cpu_or_gpu_value\\\",\\\"MaliG77\\\",\\\"extra_config\\\",\\\"Android_DMSAA\\\",\\\"model\\\",\\\"GalaxyS20\\\",\\\"os\\\",\\\"Android\\\",\\\"style\\\",\\\"default\\\",\\\"--nocpu\\\",\\\"--reduceOpsTaskSplitting\\\",\\\"true\\\",\\\"--hwtess\\\",\\\"--config\\\",\\\"glesdmsaa\\\",\\\"--src\\\",\\\"tests\\\",\\\"gm\\\",\\\"image\\\",\\\"colorImage\\\",\\\"svg\\\",\\\"--skip\\\",\\\"_\\\",\\\"test\\\",\\\"_\\\",\\\"ProcessorCloneTest\\\",\\\"_\\\",\\\"svg\\\",\\\"_\\\",\\\"svgparse_\\\",\\\"_\\\",\\\"image\\\",\\\"gen_platf\\\",\\\"error\\\",\\\"_\\\",\\\"test\\\",\\\"_\\\",\\\"GrStyledShape\\\",\\\"_\\\",\\\"image\\\",\\\"_\\\",\\\"interlaced1.png\\\",\\\"_\\\",\\\"image\\\",\\\"_\\\",\\\"interlaced2.png\\\",\\\"_\\\",\\\"image\\\",\\\"_\\\",\\\"interlaced3.png\\\",\\\"_\\\",\\\"image\\\",\\\"_\\\",\\\".arw\\\",\\\"_\\\",\\\"image\\\",\\\"_\\\",\\\".cr2\\\",\\\"_\\\",\\\"image\\\",\\\"_\\\",\\\".dng\\\",\\\"_\\\",\\\"image\\\",\\\"_\\\",\\\".nef\\\",\\\"_\\\",\\\"image\\\",\\\"_\\\",\\\".nrw\\\",\\\"_\\\",\\\"image\\\",\\\"_\\\",\\\".orf\\\",\\\"_\\\",\\\"image\\\",\\\"_\\\",\\\".raf\\\",\\\"_\\\",\\\"image\\\",\\\"_\\\",\\\".rw2\\\",\\\"_\\\",\\\"image\\\",\\\"_\\\",\\\".pef\\\",\\\"_\\\",\\\"image\\\",\\\"_\\\",\\\".srw\\\",\\\"_\\\",\\\"image\\\",\\\"_\\\",\\\".ARW\\\",\\\"_\\\",\\\"image\\\",\\\"_\\\",\\\".CR2\\\",\\\"_\\\",\\\"image\\\",\\\"_\\\",\\\".DNG\\\",\\\"_\\\",\\\"image\\\",\\\"_\\\",\\\".NEF\\\",\\\"_\\\",\\\"image\\\",\\\"_\\\",\\\".NRW\\\",\\\"_\\\",\\\"image\\\",\\\"_\\\",\\\".ORF\\\",\\\"_\\\",\\\"image\\\",\\\"_\\\",\\\".RAF\\\",\\\"_\\\",\\\"image\\\",\\\"_\\\",\\\".RW2\\\",\\\"_\\\",\\\"image\\\",\\\"_\\\",\\\".PEF\\\",\\\"_\\\",\\\"image\\\",\\\"_\\\",\\\".SRW\\\",\\\"--nonativeFonts\\\",\\\"--verbose\\\"]\",\"dm_properties\":\"{\\\"buildbucket_build_id\\\":\\\"<(BUILDBUCKET_BUILD_ID)\\\",\\\"builder\\\":\\\"Test-Android-Clang-GalaxyS20-GPU-MaliG77-arm64-Debug-All-Android_DMSAA\\\",\\\"gitHash\\\":\\\"<(REVISION)\\\",\\\"issue\\\":\\\"<(ISSUE)\\\",\\\"patch_storage\\\":\\\"<(PATCH_STORAGE)\\\",\\\"patchset\\\":\\\"<(PATCHSET)\\\",\\\"swarming_bot_id\\\":\\\"${SWARMING_BOT_ID}\\\",\\\"swarming_task_id\\\":\\\"${SWARMING_TASK_ID}\\\",\\\"task_id\\\":\\\"<(TASK_ID)\\\"}\",\"do_upload\":\"true\",\"gold_hashes_url\":\"https://storage.googleapis.com/skia-infra-gm/hash_files/gold-prod-hashes.txt\",\"images\":\"true\",\"patch_issue\":\"<(ISSUE_INT)\",\"patch_ref\":\"<(PATCH_REF)\",\"patch_repo\":\"<(PATCH_REPO)\",\"patch_set\":\"<(PATCHSET_INT)\",\"patch_storage\":\"<(PATCH_STORAGE)\",\"repository\":\"<(REPO)\",\"resources\":\"true\",\"revision\":\"<(REVISION)\",\"skps\":\"true\",\"svgs\":\"true\",\"swarm_out_dir\":\"test\",\"task_id\":\"<(TASK_ID)\"}",
|
||||
"skia"
|
||||
],
|
||||
"dependencies": [
|
||||
"Build-Debian10-Clang-arm64-Debug-Android",
|
||||
"Housekeeper-PerCommit-BundleRecipes",
|
||||
"Housekeeper-PerCommit-IsolateSKP",
|
||||
"Housekeeper-PerCommit-IsolateSVG",
|
||||
"Housekeeper-PerCommit-IsolateSkImage"
|
||||
],
|
||||
"dimensions": [
|
||||
"device_os:QP1A.190711.020",
|
||||
"device_type:exynos990",
|
||||
"os:Android",
|
||||
"pool:Skia"
|
||||
],
|
||||
"env_prefixes": {
|
||||
"PATH": [
|
||||
"cipd_bin_packages",
|
||||
"cipd_bin_packages/bin"
|
||||
],
|
||||
"VPYTHON_VIRTUALENV_ROOT": [
|
||||
"cache/vpython"
|
||||
]
|
||||
},
|
||||
"execution_timeout_ns": 14400000000000,
|
||||
"expiration_ns": 72000000000000,
|
||||
"extra_tags": {
|
||||
"log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
|
||||
},
|
||||
"io_timeout_ns": 14400000000000,
|
||||
"max_attempts": 2,
|
||||
"outputs": [
|
||||
"test"
|
||||
]
|
||||
},
|
||||
"Test-Android-Clang-GalaxyS20-GPU-MaliG77-arm64-Debug-All-Android_Vulkan": {
|
||||
"caches": [
|
||||
{
|
||||
@ -42009,89 +41932,6 @@
|
||||
"test"
|
||||
]
|
||||
},
|
||||
"Test-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-DMSAA": {
|
||||
"caches": [
|
||||
{
|
||||
"name": "vpython",
|
||||
"path": "cache/vpython"
|
||||
}
|
||||
],
|
||||
"casSpec": "test",
|
||||
"cipd_packages": [
|
||||
{
|
||||
"name": "infra/3pp/tools/cpython/windows-amd64",
|
||||
"path": "cipd_bin_packages",
|
||||
"version": "version:2.7.18.chromium.30"
|
||||
},
|
||||
{
|
||||
"name": "infra/tools/luci-auth/${platform}",
|
||||
"path": "cipd_bin_packages",
|
||||
"version": "git_revision:14be8b751c0fb567535f520f8a7bc60c3f40b378"
|
||||
},
|
||||
{
|
||||
"name": "infra/tools/luci/kitchen/${platform}",
|
||||
"path": ".",
|
||||
"version": "git_revision:14be8b751c0fb567535f520f8a7bc60c3f40b378"
|
||||
},
|
||||
{
|
||||
"name": "infra/tools/luci/vpython/${platform}",
|
||||
"path": "cipd_bin_packages",
|
||||
"version": "git_revision:14be8b751c0fb567535f520f8a7bc60c3f40b378"
|
||||
},
|
||||
{
|
||||
"name": "skia/bots/skimage",
|
||||
"path": "skimage",
|
||||
"version": "version:44"
|
||||
},
|
||||
{
|
||||
"name": "skia/bots/skp",
|
||||
"path": "skp",
|
||||
"version": "version:308"
|
||||
},
|
||||
{
|
||||
"name": "skia/bots/svg",
|
||||
"path": "svg",
|
||||
"version": "version:14"
|
||||
}
|
||||
],
|
||||
"command": [
|
||||
"cipd_bin_packages/vpython${EXECUTABLE_SUFFIX}",
|
||||
"-u",
|
||||
"skia/infra/bots/run_recipe.py",
|
||||
"${ISOLATED_OUTDIR}",
|
||||
"test",
|
||||
"{\"$kitchen\":{\"devshell\":true,\"git_auth\":true},\"buildbucket_build_id\":\"<(BUILDBUCKET_BUILD_ID)\",\"buildername\":\"Test-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-DMSAA\",\"dm_flags\":\"[\\\"dm\\\",\\\"--nameByHash\\\",\\\"--key\\\",\\\"arch\\\",\\\"x86_64\\\",\\\"compiler\\\",\\\"Clang\\\",\\\"configuration\\\",\\\"Debug\\\",\\\"cpu_or_gpu\\\",\\\"GPU\\\",\\\"cpu_or_gpu_value\\\",\\\"QuadroP400\\\",\\\"extra_config\\\",\\\"DMSAA\\\",\\\"model\\\",\\\"Golo\\\",\\\"os\\\",\\\"Win10\\\",\\\"style\\\",\\\"default\\\",\\\"--randomProcessorTest\\\",\\\"--nocpu\\\",\\\"--hwtess\\\",\\\"--config\\\",\\\"gldmsaa\\\",\\\"--src\\\",\\\"tests\\\",\\\"gm\\\",\\\"image\\\",\\\"colorImage\\\",\\\"svg\\\",\\\"--skip\\\",\\\"_\\\",\\\"svg\\\",\\\"_\\\",\\\"svgparse_\\\",\\\"_\\\",\\\"image\\\",\\\"gen_platf\\\",\\\"pal8os2v2.bmp\\\",\\\"_\\\",\\\"image\\\",\\\"gen_platf\\\",\\\"pal8os2v2-16.bmp\\\",\\\"_\\\",\\\"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\\\",\\\"testimgari.jpg\\\",\\\"_\\\",\\\"image\\\",\\\"gen_platf\\\",\\\"rle8-height-negative.bmp\\\",\\\"_\\\",\\\"image\\\",\\\"gen_platf\\\",\\\"rle4-height-negative.bmp\\\",\\\"_\\\",\\\"image\\\",\\\"gen_platf\\\",\\\"error\\\",\\\"_\\\",\\\"image\\\",\\\"_\\\",\\\"interlaced1.png\\\",\\\"_\\\",\\\"image\\\",\\\"_\\\",\\\"interlaced2.png\\\",\\\"_\\\",\\\"image\\\",\\\"_\\\",\\\"interlaced3.png\\\",\\\"_\\\",\\\"image\\\",\\\"_\\\",\\\".arw\\\",\\\"_\\\",\\\"image\\\",\\\"_\\\",\\\".cr2\\\",\\\"_\\\",\\\"image\\\",\\\"_\\\",\\\".dng\\\",\\\"_\\\",\\\"image\\\",\\\"_\\\",\\\".nef\\\",\\\"_\\\",\\\"image\\\",\\\"_\\\",\\\".nrw\\\",\\\"_\\\",\\\"image\\\",\\\"_\\\",\\\".orf\\\",\\\"_\\\",\\\"image\\\",\\\"_\\\",\\\".raf\\\",\\\"_\\\",\\\"image\\\",\\\"_\\\",\\\".rw2\\\",\\\"_\\\",\\\"image\\\",\\\"_\\\",\\\".pef\\\",\\\"_\\\",\\\"image\\\",\\\"_\\\",\\\".srw\\\",\\\"_\\\",\\\"image\\\",\\\"_\\\",\\\".ARW\\\",\\\"_\\\",\\\"image\\\",\\\"_\\\",\\\".CR2\\\",\\\"_\\\",\\\"image\\\",\\\"_\\\",\\\".DNG\\\",\\\"_\\\",\\\"image\\\",\\\"_\\\",\\\".NEF\\\",\\\"_\\\",\\\"image\\\",\\\"_\\\",\\\".NRW\\\",\\\"_\\\",\\\"image\\\",\\\"_\\\",\\\".ORF\\\",\\\"_\\\",\\\"image\\\",\\\"_\\\",\\\".RAF\\\",\\\"_\\\",\\\"image\\\",\\\"_\\\",\\\".RW2\\\",\\\"_\\\",\\\"image\\\",\\\"_\\\",\\\".PEF\\\",\\\"_\\\",\\\"image\\\",\\\"_\\\",\\\".SRW\\\",\\\"--nonativeFonts\\\",\\\"--verbose\\\"]\",\"dm_properties\":\"{\\\"buildbucket_build_id\\\":\\\"<(BUILDBUCKET_BUILD_ID)\\\",\\\"builder\\\":\\\"Test-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-DMSAA\\\",\\\"gitHash\\\":\\\"<(REVISION)\\\",\\\"issue\\\":\\\"<(ISSUE)\\\",\\\"patch_storage\\\":\\\"<(PATCH_STORAGE)\\\",\\\"patchset\\\":\\\"<(PATCHSET)\\\",\\\"swarming_bot_id\\\":\\\"${SWARMING_BOT_ID}\\\",\\\"swarming_task_id\\\":\\\"${SWARMING_TASK_ID}\\\",\\\"task_id\\\":\\\"<(TASK_ID)\\\"}\",\"do_upload\":\"true\",\"gold_hashes_url\":\"https://storage.googleapis.com/skia-infra-gm/hash_files/gold-prod-hashes.txt\",\"images\":\"true\",\"patch_issue\":\"<(ISSUE_INT)\",\"patch_ref\":\"<(PATCH_REF)\",\"patch_repo\":\"<(PATCH_REPO)\",\"patch_set\":\"<(PATCHSET_INT)\",\"patch_storage\":\"<(PATCH_STORAGE)\",\"repository\":\"<(REPO)\",\"resources\":\"true\",\"revision\":\"<(REVISION)\",\"skps\":\"true\",\"svgs\":\"true\",\"swarm_out_dir\":\"test\",\"task_id\":\"<(TASK_ID)\"}",
|
||||
"skia"
|
||||
],
|
||||
"dependencies": [
|
||||
"Build-Win-Clang-x86_64-Debug",
|
||||
"Housekeeper-PerCommit-BundleRecipes"
|
||||
],
|
||||
"dimensions": [
|
||||
"gpu:10de:1cb3-25.21.14.1678",
|
||||
"os:Windows-10-16299",
|
||||
"pool:Skia"
|
||||
],
|
||||
"env_prefixes": {
|
||||
"PATH": [
|
||||
"cipd_bin_packages",
|
||||
"cipd_bin_packages/bin"
|
||||
],
|
||||
"VPYTHON_VIRTUALENV_ROOT": [
|
||||
"cache/vpython"
|
||||
]
|
||||
},
|
||||
"execution_timeout_ns": 14400000000000,
|
||||
"expiration_ns": 72000000000000,
|
||||
"extra_tags": {
|
||||
"log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
|
||||
},
|
||||
"io_timeout_ns": 14400000000000,
|
||||
"max_attempts": 2,
|
||||
"outputs": [
|
||||
"test"
|
||||
]
|
||||
},
|
||||
"Test-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-Dawn": {
|
||||
"caches": [
|
||||
{
|
||||
@ -59798,73 +59638,6 @@
|
||||
"max_attempts": 2,
|
||||
"service_account": "skia-external-gm-uploader@skia-swarming-bots.iam.gserviceaccount.com"
|
||||
},
|
||||
"Upload-Test-Android-Clang-GalaxyS20-GPU-MaliG77-arm64-Debug-All-Android_DMSAA": {
|
||||
"caches": [
|
||||
{
|
||||
"name": "vpython",
|
||||
"path": "cache/vpython"
|
||||
}
|
||||
],
|
||||
"casSpec": "run-recipe",
|
||||
"cipd_packages": [
|
||||
{
|
||||
"name": "infra/gsutil",
|
||||
"path": "cipd_bin_packages",
|
||||
"version": "version:4.46"
|
||||
},
|
||||
{
|
||||
"name": "infra/tools/luci-auth/${platform}",
|
||||
"path": "cipd_bin_packages",
|
||||
"version": "git_revision:14be8b751c0fb567535f520f8a7bc60c3f40b378"
|
||||
},
|
||||
{
|
||||
"name": "infra/tools/luci/kitchen/${platform}",
|
||||
"path": ".",
|
||||
"version": "git_revision:14be8b751c0fb567535f520f8a7bc60c3f40b378"
|
||||
},
|
||||
{
|
||||
"name": "infra/tools/luci/vpython/${platform}",
|
||||
"path": "cipd_bin_packages",
|
||||
"version": "git_revision:14be8b751c0fb567535f520f8a7bc60c3f40b378"
|
||||
}
|
||||
],
|
||||
"command": [
|
||||
"cipd_bin_packages/vpython${EXECUTABLE_SUFFIX}",
|
||||
"-u",
|
||||
"skia/infra/bots/run_recipe.py",
|
||||
"${ISOLATED_OUTDIR}",
|
||||
"upload_dm_results",
|
||||
"{\"$kitchen\":{\"devshell\":true,\"git_auth\":true},\"buildbucket_build_id\":\"<(BUILDBUCKET_BUILD_ID)\",\"buildername\":\"Test-Android-Clang-GalaxyS20-GPU-MaliG77-arm64-Debug-All-Android_DMSAA\",\"gs_bucket\":\"skia-infra-gm\",\"patch_issue\":\"<(ISSUE_INT)\",\"patch_ref\":\"<(PATCH_REF)\",\"patch_repo\":\"<(PATCH_REPO)\",\"patch_set\":\"<(PATCHSET_INT)\",\"patch_storage\":\"<(PATCH_STORAGE)\",\"repository\":\"<(REPO)\",\"revision\":\"<(REVISION)\",\"swarm_out_dir\":\"output_ignored\",\"task_id\":\"<(TASK_ID)\"}",
|
||||
"skia"
|
||||
],
|
||||
"dependencies": [
|
||||
"Housekeeper-PerCommit-BundleRecipes",
|
||||
"Test-Android-Clang-GalaxyS20-GPU-MaliG77-arm64-Debug-All-Android_DMSAA"
|
||||
],
|
||||
"dimensions": [
|
||||
"cpu:x86-64-Haswell_GCE",
|
||||
"gpu:none",
|
||||
"machine_type:n1-highmem-2",
|
||||
"os:Debian-10.3",
|
||||
"pool:Skia"
|
||||
],
|
||||
"env_prefixes": {
|
||||
"PATH": [
|
||||
"cipd_bin_packages",
|
||||
"cipd_bin_packages/bin"
|
||||
],
|
||||
"VPYTHON_VIRTUALENV_ROOT": [
|
||||
"cache/vpython"
|
||||
]
|
||||
},
|
||||
"execution_timeout_ns": 3600000000000,
|
||||
"extra_tags": {
|
||||
"log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
|
||||
},
|
||||
"io_timeout_ns": 3600000000000,
|
||||
"max_attempts": 2,
|
||||
"service_account": "skia-external-gm-uploader@skia-swarming-bots.iam.gserviceaccount.com"
|
||||
},
|
||||
"Upload-Test-Android-Clang-GalaxyS20-GPU-MaliG77-arm64-Debug-All-Android_Vulkan": {
|
||||
"caches": [
|
||||
{
|
||||
@ -70563,78 +70336,6 @@
|
||||
"max_attempts": 2,
|
||||
"service_account": "skia-external-gm-uploader@skia-swarming-bots.iam.gserviceaccount.com"
|
||||
},
|
||||
"Upload-Test-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-DMSAA": {
|
||||
"caches": [
|
||||
{
|
||||
"name": "vpython",
|
||||
"path": "cache/vpython"
|
||||
}
|
||||
],
|
||||
"casSpec": "run-recipe",
|
||||
"cipd_packages": [
|
||||
{
|
||||
"name": "infra/3pp/tools/cpython/linux-amd64",
|
||||
"path": "cipd_bin_packages",
|
||||
"version": "version:2.7.18.chromium.30"
|
||||
},
|
||||
{
|
||||
"name": "infra/gsutil",
|
||||
"path": "cipd_bin_packages",
|
||||
"version": "version:4.46"
|
||||
},
|
||||
{
|
||||
"name": "infra/tools/luci-auth/${platform}",
|
||||
"path": "cipd_bin_packages",
|
||||
"version": "git_revision:14be8b751c0fb567535f520f8a7bc60c3f40b378"
|
||||
},
|
||||
{
|
||||
"name": "infra/tools/luci/kitchen/${platform}",
|
||||
"path": ".",
|
||||
"version": "git_revision:14be8b751c0fb567535f520f8a7bc60c3f40b378"
|
||||
},
|
||||
{
|
||||
"name": "infra/tools/luci/vpython/${platform}",
|
||||
"path": "cipd_bin_packages",
|
||||
"version": "git_revision:14be8b751c0fb567535f520f8a7bc60c3f40b378"
|
||||
}
|
||||
],
|
||||
"command": [
|
||||
"cipd_bin_packages/vpython${EXECUTABLE_SUFFIX}",
|
||||
"-u",
|
||||
"skia/infra/bots/run_recipe.py",
|
||||
"${ISOLATED_OUTDIR}",
|
||||
"upload_dm_results",
|
||||
"{\"$kitchen\":{\"devshell\":true,\"git_auth\":true},\"buildbucket_build_id\":\"<(BUILDBUCKET_BUILD_ID)\",\"buildername\":\"Test-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-DMSAA\",\"gs_bucket\":\"skia-infra-gm\",\"patch_issue\":\"<(ISSUE_INT)\",\"patch_ref\":\"<(PATCH_REF)\",\"patch_repo\":\"<(PATCH_REPO)\",\"patch_set\":\"<(PATCHSET_INT)\",\"patch_storage\":\"<(PATCH_STORAGE)\",\"repository\":\"<(REPO)\",\"revision\":\"<(REVISION)\",\"swarm_out_dir\":\"output_ignored\",\"task_id\":\"<(TASK_ID)\"}",
|
||||
"skia"
|
||||
],
|
||||
"dependencies": [
|
||||
"Housekeeper-PerCommit-BundleRecipes",
|
||||
"Test-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-DMSAA"
|
||||
],
|
||||
"dimensions": [
|
||||
"cpu:x86-64-Haswell_GCE",
|
||||
"gpu:none",
|
||||
"machine_type:n1-highmem-2",
|
||||
"os:Debian-10.3",
|
||||
"pool:Skia"
|
||||
],
|
||||
"env_prefixes": {
|
||||
"PATH": [
|
||||
"cipd_bin_packages",
|
||||
"cipd_bin_packages/bin"
|
||||
],
|
||||
"VPYTHON_VIRTUALENV_ROOT": [
|
||||
"cache/vpython"
|
||||
]
|
||||
},
|
||||
"execution_timeout_ns": 3600000000000,
|
||||
"extra_tags": {
|
||||
"log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
|
||||
},
|
||||
"io_timeout_ns": 3600000000000,
|
||||
"max_attempts": 2,
|
||||
"service_account": "skia-external-gm-uploader@skia-swarming-bots.iam.gserviceaccount.com"
|
||||
},
|
||||
"Upload-Test-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-Dawn": {
|
||||
"caches": [
|
||||
{
|
||||
|
@ -570,7 +570,8 @@ void GrBlurUtils::drawShapeWithMaskFilter(GrRecordingContext* context,
|
||||
draw_shape_with_mask_filter(context, surfaceDrawContext, clip, std::move(grPaint),
|
||||
viewMatrix, mf, shape);
|
||||
} else {
|
||||
surfaceDrawContext->drawShape(clip, std::move(grPaint), context->priv().chooseAA(paint),
|
||||
viewMatrix, GrStyledShape(shape));
|
||||
GrAA aa = GrAA(paint.isAntiAlias());
|
||||
surfaceDrawContext->drawShape(clip, std::move(grPaint), aa, viewMatrix,
|
||||
GrStyledShape(shape));
|
||||
}
|
||||
}
|
||||
|
@ -8,7 +8,6 @@
|
||||
#ifndef GrRecordingContextPriv_DEFINED
|
||||
#define GrRecordingContextPriv_DEFINED
|
||||
|
||||
#include "include/core/SkPaint.h"
|
||||
#include "include/gpu/GrRecordingContext.h"
|
||||
#include "src/gpu/text/GrSDFTControl.h"
|
||||
|
||||
@ -26,16 +25,6 @@ public:
|
||||
|
||||
const GrContextOptions& options() const { return fContext->options(); }
|
||||
|
||||
#if GR_TEST_UTILS
|
||||
bool alwaysAntialias() const { return fContext->options().fAlwaysAntialias; }
|
||||
GrAA chooseAA(const SkPaint& paint) const {
|
||||
return GrAA(paint.isAntiAlias() || this->alwaysAntialias());
|
||||
}
|
||||
#else
|
||||
bool alwaysAntialias() const { return false; }
|
||||
GrAA chooseAA(const SkPaint& paint) const { return GrAA(paint.isAntiAlias()); }
|
||||
#endif
|
||||
|
||||
const GrCaps* caps() const { return fContext->caps(); }
|
||||
sk_sp<const GrCaps> refCaps() const;
|
||||
|
||||
|
@ -119,9 +119,8 @@ static SkImageInfo make_info(GrSurfaceDrawContext* context, bool opaque) {
|
||||
}
|
||||
|
||||
#if !defined(SK_DISABLE_NEW_GR_CLIP_STACK)
|
||||
static bool force_aa_clip(const GrRecordingContext* context, const GrSurfaceDrawContext* sdc) {
|
||||
return (sdc->numSamples() > 1 && !sdc->caps()->multisampleDisableSupport()) ||
|
||||
context->priv().alwaysAntialias();
|
||||
static bool force_aa_clip(const GrSurfaceDrawContext* sdc) {
|
||||
return sdc->numSamples() > 1 && !sdc->caps()->multisampleDisableSupport();
|
||||
}
|
||||
#endif
|
||||
|
||||
@ -135,7 +134,7 @@ SkGpuDevice::SkGpuDevice(GrRecordingContext* context,
|
||||
#if !defined(SK_DISABLE_NEW_GR_CLIP_STACK)
|
||||
, fClip(SkIRect::MakeSize(fSurfaceDrawContext->dimensions()),
|
||||
&this->asMatrixProvider(),
|
||||
force_aa_clip(fContext.get(), fSurfaceDrawContext.get())) {
|
||||
force_aa_clip(fSurfaceDrawContext.get())) {
|
||||
#else
|
||||
, fClip(fSurfaceDrawContext->dimensions(), &this->cs(), &this->asMatrixProvider()) {
|
||||
#endif
|
||||
@ -265,17 +264,14 @@ void SkGpuDevice::onClipPath(const SkPath& path, SkClipOp op, bool aa) {
|
||||
void SkGpuDevice::onClipRegion(const SkRegion& globalRgn, SkClipOp op) {
|
||||
SkASSERT(op == SkClipOp::kIntersect || op == SkClipOp::kDifference);
|
||||
|
||||
// Regions don't actually need AA, but in DMSAA mode every clip element is antialiased.
|
||||
GrAA aa = GrAA(fContext->priv().alwaysAntialias());
|
||||
|
||||
if (globalRgn.isEmpty()) {
|
||||
fClip.clipRect(SkMatrix::I(), SkRect::MakeEmpty(), aa, op);
|
||||
fClip.clipRect(SkMatrix::I(), SkRect::MakeEmpty(), GrAA::kNo, op);
|
||||
} else if (globalRgn.isRect()) {
|
||||
fClip.clipRect(this->globalToDevice(), SkRect::Make(globalRgn.getBounds()), aa, op);
|
||||
fClip.clipRect(this->globalToDevice(), SkRect::Make(globalRgn.getBounds()), GrAA::kNo, op);
|
||||
} else {
|
||||
SkPath path;
|
||||
globalRgn.getBoundaryPath(&path);
|
||||
fClip.clipPath(this->globalToDevice(), path, aa, op);
|
||||
fClip.clipPath(this->globalToDevice(), path, GrAA::kNo, op);
|
||||
}
|
||||
}
|
||||
|
||||
@ -301,7 +297,6 @@ bool SkGpuDevice::onClipIsAA() const {
|
||||
if (e.fAA == GrAA::kYes) {
|
||||
return true;
|
||||
}
|
||||
SkASSERT(!fContext->priv().alwaysAntialias());
|
||||
}
|
||||
return false;
|
||||
}
|
||||
@ -356,8 +351,6 @@ void SkGpuDevice::drawPoints(SkCanvas::PointMode mode,
|
||||
return;
|
||||
}
|
||||
|
||||
GrAA aa = fContext->priv().chooseAA(paint);
|
||||
|
||||
if (paint.getPathEffect() && 2 == count && SkCanvas::kLines_PointMode == mode) {
|
||||
GrStyle style(paint, SkPaint::kStroke_Style);
|
||||
GrPaint grPaint;
|
||||
@ -369,8 +362,8 @@ void SkGpuDevice::drawPoints(SkCanvas::PointMode mode,
|
||||
path.setIsVolatile(true);
|
||||
path.moveTo(pts[0]);
|
||||
path.lineTo(pts[1]);
|
||||
fSurfaceDrawContext->drawPath(this->clip(), std::move(grPaint), aa, this->localToDevice(),
|
||||
path, style);
|
||||
fSurfaceDrawContext->drawPath(this->clip(), std::move(grPaint), GrAA(paint.isAntiAlias()),
|
||||
this->localToDevice(), path, style);
|
||||
return;
|
||||
}
|
||||
|
||||
@ -380,7 +373,7 @@ void SkGpuDevice::drawPoints(SkCanvas::PointMode mode,
|
||||
SkScalarNearlyEqual(scales[0], 1.f) && SkScalarNearlyEqual(scales[1], 1.f));
|
||||
// we only handle non-antialiased hairlines and paints without path effects or mask filters,
|
||||
// else we let the SkDraw call our drawPath()
|
||||
if (!isHairline || paint.getPathEffect() || paint.getMaskFilter() || aa == GrAA::kYes) {
|
||||
if (!isHairline || paint.getPathEffect() || paint.getMaskFilter() || paint.isAntiAlias()) {
|
||||
SkRasterClip rc(this->devClipBounds());
|
||||
SkDraw draw;
|
||||
draw.fDst = SkPixmap(SkImageInfo::MakeUnknown(this->width(), this->height()), nullptr, 0);
|
||||
@ -440,9 +433,8 @@ void SkGpuDevice::drawRect(const SkRect& rect, const SkPaint& paint) {
|
||||
return;
|
||||
}
|
||||
|
||||
fSurfaceDrawContext->drawRect(this->clip(), std::move(grPaint),
|
||||
fContext->priv().chooseAA(paint), this->localToDevice(), rect,
|
||||
&style);
|
||||
fSurfaceDrawContext->drawRect(this->clip(), std::move(grPaint), GrAA(paint.isAntiAlias()),
|
||||
this->localToDevice(), rect, &style);
|
||||
}
|
||||
|
||||
void SkGpuDevice::drawEdgeAAQuad(const SkRect& rect, const SkPoint clip[4],
|
||||
@ -504,18 +496,16 @@ void SkGpuDevice::drawRRect(const SkRRect& rrect, const SkPaint& paint) {
|
||||
return;
|
||||
}
|
||||
|
||||
fSurfaceDrawContext->drawRRect(this->clip(), std::move(grPaint),
|
||||
fContext->priv().chooseAA(paint), this->localToDevice(), rrect,
|
||||
style);
|
||||
fSurfaceDrawContext->drawRRect(this->clip(), std::move(grPaint), GrAA(paint.isAntiAlias()),
|
||||
this->localToDevice(), rrect, style);
|
||||
}
|
||||
|
||||
static std::unique_ptr<GrFragmentProcessor> make_inverse_rrect_fp(const SkMatrix& viewMatrix,
|
||||
const SkRRect& rrect, GrAA aa,
|
||||
const SkRRect& rrect, bool aa,
|
||||
const GrShaderCaps& shaderCaps) {
|
||||
SkTCopyOnFirstWrite<SkRRect> devRRect(rrect);
|
||||
if (viewMatrix.isIdentity() || rrect.transform(viewMatrix, devRRect.writable())) {
|
||||
auto edgeType = (aa == GrAA::kYes) ? GrClipEdgeType::kInverseFillAA
|
||||
: GrClipEdgeType::kInverseFillBW;
|
||||
auto edgeType = (aa) ? GrClipEdgeType::kInverseFillAA : GrClipEdgeType::kInverseFillBW;
|
||||
auto [success, fp] = GrRRectEffect::Make(/*inputFP=*/nullptr, edgeType, *devRRect,
|
||||
shaderCaps);
|
||||
return (success) ? std::move(fp) : nullptr;
|
||||
@ -539,8 +529,7 @@ void SkGpuDevice::drawDRRect(const SkRRect& outer, const SkRRect& inner, const S
|
||||
if (stroke.isFillStyle() && !paint.getMaskFilter() && !paint.getPathEffect()) {
|
||||
// For axis-aligned filled DRRects, just draw a regular rrect with inner clipped out using a
|
||||
// coverage FP instead of using path rendering.
|
||||
if (auto fp = make_inverse_rrect_fp(this->localToDevice(), inner,
|
||||
fContext->priv().chooseAA(paint),
|
||||
if (auto fp = make_inverse_rrect_fp(this->localToDevice(), inner, paint.isAntiAlias(),
|
||||
*fSurfaceDrawContext->caps()->shaderCaps())) {
|
||||
GrPaint grPaint;
|
||||
if (!SkPaintToGrPaint(this->recordingContext(), fSurfaceDrawContext->colorInfo(), paint,
|
||||
@ -550,8 +539,8 @@ void SkGpuDevice::drawDRRect(const SkRRect& outer, const SkRRect& inner, const S
|
||||
SkASSERT(!grPaint.hasCoverageFragmentProcessor());
|
||||
grPaint.setCoverageFragmentProcessor(std::move(fp));
|
||||
fSurfaceDrawContext->drawRRect(this->clip(), std::move(grPaint),
|
||||
fContext->priv().chooseAA(paint), this->localToDevice(),
|
||||
outer, GrStyle());
|
||||
GrAA(paint.isAntiAlias()), this->localToDevice(), outer,
|
||||
GrStyle());
|
||||
return;
|
||||
}
|
||||
}
|
||||
@ -586,9 +575,8 @@ void SkGpuDevice::drawRegion(const SkRegion& region, const SkPaint& paint) {
|
||||
return;
|
||||
}
|
||||
|
||||
fSurfaceDrawContext->drawRegion(this->clip(), std::move(grPaint),
|
||||
fContext->priv().chooseAA(paint), this->localToDevice(), region,
|
||||
GrStyle(paint));
|
||||
fSurfaceDrawContext->drawRegion(this->clip(), std::move(grPaint), GrAA(paint.isAntiAlias()),
|
||||
this->localToDevice(), region, GrStyle(paint));
|
||||
}
|
||||
|
||||
void SkGpuDevice::drawOval(const SkRect& oval, const SkPaint& paint) {
|
||||
@ -607,9 +595,8 @@ void SkGpuDevice::drawOval(const SkRect& oval, const SkPaint& paint) {
|
||||
return;
|
||||
}
|
||||
|
||||
fSurfaceDrawContext->drawOval(this->clip(), std::move(grPaint),
|
||||
fContext->priv().chooseAA(paint), this->localToDevice(), oval,
|
||||
GrStyle(paint));
|
||||
fSurfaceDrawContext->drawOval(this->clip(), std::move(grPaint), GrAA(paint.isAntiAlias()),
|
||||
this->localToDevice(), oval, GrStyle(paint));
|
||||
}
|
||||
|
||||
void SkGpuDevice::drawArc(const SkRect& oval, SkScalar startAngle,
|
||||
@ -626,7 +613,7 @@ void SkGpuDevice::drawArc(const SkRect& oval, SkScalar startAngle,
|
||||
return;
|
||||
}
|
||||
|
||||
fSurfaceDrawContext->drawArc(this->clip(), std::move(grPaint), fContext->priv().chooseAA(paint),
|
||||
fSurfaceDrawContext->drawArc(this->clip(), std::move(grPaint), GrAA(paint.isAntiAlias()),
|
||||
this->localToDevice(), oval, startAngle, sweepAngle, useCenter,
|
||||
GrStyle(paint));
|
||||
}
|
||||
@ -650,9 +637,8 @@ void SkGpuDevice::drawPath(const SkPath& origSrcPath, const SkPaint& paint, bool
|
||||
this->asMatrixProvider(), &grPaint)) {
|
||||
return;
|
||||
}
|
||||
fSurfaceDrawContext->drawPath(this->clip(), std::move(grPaint),
|
||||
fContext->priv().chooseAA(paint), this->localToDevice(),
|
||||
origSrcPath, GrStyle(paint));
|
||||
fSurfaceDrawContext->drawPath(this->clip(), std::move(grPaint), GrAA(paint.isAntiAlias()),
|
||||
this->localToDevice(), origSrcPath, GrStyle(paint));
|
||||
return;
|
||||
}
|
||||
|
||||
@ -762,10 +748,9 @@ void SkGpuDevice::drawImageRect(const SkImage* image, const SkRect* src, const S
|
||||
const SkSamplingOptions& sampling, const SkPaint& paint,
|
||||
SkCanvas::SrcRectConstraint constraint) {
|
||||
ASSERT_SINGLE_OWNER
|
||||
GrAA aa = fContext->priv().chooseAA(paint);
|
||||
GrQuadAAFlags aaFlags = (aa == GrAA::kYes) ? GrQuadAAFlags::kAll : GrQuadAAFlags::kNone;
|
||||
this->drawImageQuad(image, src, &dst, nullptr, aa, aaFlags, nullptr, sampling, paint,
|
||||
constraint);
|
||||
GrQuadAAFlags aaFlags = paint.isAntiAlias() ? GrQuadAAFlags::kAll : GrQuadAAFlags::kNone;
|
||||
this->drawImageQuad(image, src, &dst, nullptr, GrAA(paint.isAntiAlias()), aaFlags, nullptr,
|
||||
sampling, paint, constraint);
|
||||
}
|
||||
|
||||
void SkGpuDevice::drawViewLattice(GrSurfaceProxyView view,
|
||||
@ -1038,9 +1023,7 @@ bool SkGpuDevice::android_utils_clipWithStencil() {
|
||||
GrUserStencilOp::kReplace,
|
||||
0x1>()
|
||||
);
|
||||
// Regions don't actually need AA, but in DMSAA mode everything is antialiased.
|
||||
GrAA aa = GrAA(fContext->priv().alwaysAntialias());
|
||||
sdc->drawRegion(nullptr, std::move(grPaint), aa, SkMatrix::I(), clipRegion,
|
||||
sdc->drawRegion(nullptr, std::move(grPaint), GrAA::kNo, SkMatrix::I(), clipRegion,
|
||||
GrStyle::SimpleFill(), &kDrawToStencil);
|
||||
return true;
|
||||
}
|
||||
|
@ -673,8 +673,8 @@ void SkGpuDevice::drawSpecial(SkSpecialImage* special, const SkMatrix& localToDe
|
||||
SkMatrix srcToDst = SkMatrix::RectToRect(src, dst);
|
||||
|
||||
GrSamplerState sampler(GrSamplerState::WrapMode::kClamp, downgrade_to_filter(sampling));
|
||||
GrAA aa = fContext->priv().chooseAA(paint);
|
||||
GrQuadAAFlags aaFlags = (aa == GrAA::kYes) ? GrQuadAAFlags::kAll : GrQuadAAFlags::kNone;
|
||||
GrAA aa = paint.isAntiAlias() ? GrAA::kYes : GrAA::kNo;
|
||||
GrQuadAAFlags aaFlags = paint.isAntiAlias() ? GrQuadAAFlags::kAll : GrQuadAAFlags::kNone;
|
||||
|
||||
GrColorInfo colorInfo(SkColorTypeToGrColorType(special->colorType()),
|
||||
special->alphaType(), sk_ref_sp(special->getColorSpace()));
|
||||
|
@ -39,8 +39,8 @@ float4x3 unpack_rational_cubic(float2 p0, float2 p1, float2 p2, float2 p3) {
|
||||
if (isinf(P[3].y)) {
|
||||
// This patch is actually a conic. Convert to a rational cubic.
|
||||
float w = P[3].x;
|
||||
float3 c = P[1] * ((2.0/3.0) * w);
|
||||
P = float4x3(P[0], fma(P[0], float3(1.0/3.0), c), fma(P[2], float3(1.0/3.0), c), P[2]);
|
||||
float3 c = P[1] * (2/3.0 * w);
|
||||
P = float4x3(P[0], fma(P[0], float3(1/3.0), c), fma(P[2], float3(1/3.0), c), P[2]);
|
||||
}
|
||||
return P;
|
||||
})";
|
||||
@ -53,7 +53,7 @@ float3 safe_mix(float3 a, float3 b, float T, float one_minus_T) {
|
||||
return a*one_minus_T + b*T;
|
||||
}
|
||||
float2 eval_rational_cubic(float4x3 P, float T) {
|
||||
float one_minus_T = 1.0 - T;
|
||||
float one_minus_T = 1 - T;
|
||||
float3 ab = safe_mix(P[0], P[1], T, one_minus_T);
|
||||
float3 bc = safe_mix(P[1], P[2], T, one_minus_T);
|
||||
float3 cd = safe_mix(P[2], P[3], T, one_minus_T);
|
||||
|
@ -29,7 +29,7 @@ static const char* kCosineBetweenVectorsFn = R"(
|
||||
float cosine_between_vectors(float2 a, float2 b) {
|
||||
float ab_cosTheta = dot(a,b);
|
||||
float ab_pow2 = dot(a,a) * dot(b,b);
|
||||
return (ab_pow2 == 0.0) ? 1.0 : clamp(ab_cosTheta * inversesqrt(ab_pow2), -1.0, 1.0);
|
||||
return (ab_pow2 == 0) ? 1 : clamp(ab_cosTheta * inversesqrt(ab_pow2), -1, 1);
|
||||
})";
|
||||
|
||||
// Extends the middle radius to either the miter point, or the bevel edge if we surpassed the miter
|
||||
@ -77,7 +77,7 @@ static void append_wangs_formula_fn(SkString* code, bool hasConics) {
|
||||
if (hasConics) {
|
||||
code->appendf(R"(
|
||||
const float QUAD_TERM_POW2 = %f;
|
||||
m = (w > 0.0) ? QUAD_TERM_POW2 * l0 : m;)", GrWangsFormula::length_term_pow2<2>(1));
|
||||
m = (w > 0) ? QUAD_TERM_POW2 * l0 : m;)", GrWangsFormula::length_term_pow2<2>(1));
|
||||
}
|
||||
code->append(R"(
|
||||
return max(ceil(sqrt(parametricIntolerance * sqrt(m))), 1.0);
|
||||
@ -688,7 +688,7 @@ static void append_eval_stroke_edge_fn(SkString* code, bool hasConics) {
|
||||
// that we use to find a tangent.
|
||||
C *= w;
|
||||
B = .5*D - C;
|
||||
A = (w - 1.0) * D;
|
||||
A = (w - 1) * D;
|
||||
P[1] *= w;
|
||||
} else {)");
|
||||
} else {
|
||||
|
@ -38,8 +38,6 @@ static const struct {
|
||||
{ "gl", "gpu", "api=gl" },
|
||||
{ "gles", "gpu", "api=gles" },
|
||||
{ "glesfakev2", "gpu", "api=glesfakev2" },
|
||||
{ "gldmsaa", "gpu", "api=gl,dmsaa=true" },
|
||||
{ "glesdmsaa", "gpu", "api=gles,dmsaa=true" },
|
||||
{ "glmsaa4", "gpu", "api=gl,samples=4" },
|
||||
{ "glmsaa8" , "gpu", "api=gl,samples=8" },
|
||||
{ "glesmsaa4", "gpu", "api=gles,samples=4" },
|
||||
@ -145,7 +143,7 @@ static const char configExtendedHelp[] =
|
||||
"Extended form: 'backend(option=value,...)'\n\n"
|
||||
"Possible backends and options:\n"
|
||||
"\n"
|
||||
"gpu[api=string,color=string,dit=bool,dmsaa=bool,samples=int]\n"
|
||||
"gpu[api=string,color=string,dit=bool,samples=int]\n"
|
||||
"\tapi\ttype: string\trequired\n"
|
||||
"\t Select graphics API to use with gpu backend.\n"
|
||||
"\t Options:\n"
|
||||
@ -181,8 +179,6 @@ static const char configExtendedHelp[] =
|
||||
"\t\tf16\t\t\tLinearly blended 16-bit floating point.\n"
|
||||
"\tdit\ttype: bool\tdefault: false.\n"
|
||||
"\t Use device independent text.\n"
|
||||
"\tdmsaa\ttype: bool\tdefault: false.\n"
|
||||
"\t Use internal MSAA to render to non-MSAA surfaces.\n"
|
||||
"\tsamples\ttype: int\tdefault: 0.\n"
|
||||
"\t Use multisampling with N samples.\n"
|
||||
"\tstencils\ttype: bool\tdefault: true.\n"
|
||||
@ -474,7 +470,6 @@ SkCommandLineConfigGpu::SkCommandLineConfigGpu(const SkString& tag,
|
||||
bool fakeGLESVersion2,
|
||||
uint32_t surfaceFlags,
|
||||
int samples,
|
||||
bool useDMSAA,
|
||||
SkColorType colorType,
|
||||
SkAlphaType alphaType,
|
||||
sk_sp<SkColorSpace> colorSpace,
|
||||
@ -490,7 +485,6 @@ SkCommandLineConfigGpu::SkCommandLineConfigGpu(const SkString& tag,
|
||||
, fContextOverrides(ContextOverrides::kNone)
|
||||
, fSurfaceFlags(surfaceFlags)
|
||||
, fSamples(samples)
|
||||
, fUseDMSAA(samples)
|
||||
, fColorType(colorType)
|
||||
, fAlphaType(alphaType)
|
||||
, fColorSpace(std::move(colorSpace))
|
||||
@ -514,7 +508,6 @@ SkCommandLineConfigGpu* parse_command_line_config_gpu(const SkString&
|
||||
// Defaults for GPU backend.
|
||||
SkCommandLineConfigGpu::ContextType contextType = GrContextFactory::kGL_ContextType;
|
||||
bool useDIText = false;
|
||||
bool useDMSAA = false;
|
||||
int samples = 1;
|
||||
SkColorType colorType = kRGBA_8888_SkColorType;
|
||||
SkAlphaType alphaType = kPremul_SkAlphaType;
|
||||
@ -538,7 +531,6 @@ SkCommandLineConfigGpu* parse_command_line_config_gpu(const SkString&
|
||||
extendedOptions.get_option_gpu_api("api", &contextType, &fakeGLESVersion2, false) &&
|
||||
extendedOptions.get_option_bool("dit", &useDIText) &&
|
||||
extendedOptions.get_option_int("samples", &samples) &&
|
||||
extendedOptions.get_option_bool("dmsaa", &useDMSAA) &&
|
||||
extendedOptions.get_option_gpu_color("color", &colorType, &alphaType, &colorSpace) &&
|
||||
extendedOptions.get_option_bool("stencils", &useStencils) &&
|
||||
extendedOptions.get_option_bool("testThreading", &testThreading) &&
|
||||
@ -564,7 +556,6 @@ SkCommandLineConfigGpu* parse_command_line_config_gpu(const SkString&
|
||||
fakeGLESVersion2,
|
||||
surfaceFlags,
|
||||
samples,
|
||||
useDMSAA,
|
||||
colorType,
|
||||
alphaType,
|
||||
colorSpace,
|
||||
|
@ -57,7 +57,6 @@ public:
|
||||
bool fakeGLESVer2,
|
||||
uint32_t surfaceFlags,
|
||||
int samples,
|
||||
bool useDMSAA,
|
||||
SkColorType colorType,
|
||||
SkAlphaType alphaType,
|
||||
sk_sp<SkColorSpace> colorSpace,
|
||||
@ -74,7 +73,6 @@ public:
|
||||
ContextOverrides getContextOverrides() const { return fContextOverrides; }
|
||||
uint32_t getSurfaceFlags() const { return fSurfaceFlags; }
|
||||
int getSamples() const { return fSamples; }
|
||||
bool getUseDMSAA() const { return fUseDMSAA; }
|
||||
SkColorType getColorType() const { return fColorType; }
|
||||
SkAlphaType getAlphaType() const { return fAlphaType; }
|
||||
SkColorSpace* getColorSpace() const { return fColorSpace.get(); }
|
||||
@ -90,7 +88,6 @@ private:
|
||||
ContextOverrides fContextOverrides;
|
||||
uint32_t fSurfaceFlags;
|
||||
int fSamples;
|
||||
bool fUseDMSAA;
|
||||
SkColorType fColorType;
|
||||
SkAlphaType fAlphaType;
|
||||
sk_sp<SkColorSpace> fColorSpace;
|
||||
|
@ -566,7 +566,6 @@ int main(int argc, char** argv) {
|
||||
// Create a context.
|
||||
GrContextOptions ctxOptions;
|
||||
SetCtxOptionsFromCommonFlags(&ctxOptions);
|
||||
ctxOptions.fAlwaysAntialias = config->getUseDMSAA();
|
||||
sk_gpu_test::GrContextFactory factory(ctxOptions);
|
||||
sk_gpu_test::ContextInfo ctxInfo =
|
||||
factory.getContextInfo(config->getContextType(), config->getContextOverrides());
|
||||
|
@ -133,7 +133,6 @@ static DEFINE_bool(list, false, "List samples?");
|
||||
static DEFINE_string2(backend, b, "sw", "Backend to use. Allowed values are " BACKENDS_STR ".");
|
||||
|
||||
static DEFINE_int(msaa, 1, "Number of subpixel samples. 0 for no HW antialiasing.");
|
||||
static DEFINE_bool(dmsaa, false, "Use internal MSAA to render to non-MSAA surfaces?");
|
||||
|
||||
static DEFINE_string(bisect, "", "Path to a .skp or .svg file to bisect.");
|
||||
|
||||
@ -379,7 +378,6 @@ Viewer::Viewer(int argc, char** argv, void* platformData)
|
||||
GrContextOptions::ShaderCacheStrategy::kBackendSource;
|
||||
displayParams.fGrContextOptions.fShaderErrorHandler = &gShaderErrorHandler;
|
||||
displayParams.fGrContextOptions.fSuppressPrints = true;
|
||||
displayParams.fGrContextOptions.fAlwaysAntialias = FLAGS_dmsaa;
|
||||
fWindow->setRequestedDisplayParams(displayParams);
|
||||
fDisplay = fWindow->getRequestedDisplayParams();
|
||||
fRefresh = FLAGS_redraw;
|
||||
|
Loading…
Reference in New Issue
Block a user