735c7ba320
FM's a bit like DM, and a bit like the old GM tool, maybe closer to GM. FM always does one serial run through of a list of GM, image, or .skp sources (-s/--sources) into one drawing configuration, set at a high level with -b/--backend, fine-tuned by flags like --ct, --at, --gamut, --samples, etc. FM prints all available GMs when run with no arguments, part of how it integrates well with external parallelization like xargs: out/fm | time xargs -n4 -P32 out/fm -b cpu ... -s out/fm | time xargs -n32 -P8 out/fm -b gl ... -s ls *.skp | xargs ... out/fm ... -s ... TODO later: vector backends: --backend pdf, svg, xps, skp --source *.svg, *.json (Skottie) Create/update a dm.json file Change-Id: Idacbd2785deaf6f1d33674c66c4d984fa91dbd85 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/203520 Commit-Queue: Mike Klein <mtklein@google.com> Reviewed-by: Brian Osman <brianosman@google.com>
26 lines
625 B
C++
26 lines
625 B
C++
// Copyright 2019 Google LLC.
|
|
// Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
|
|
|
|
#pragma once
|
|
|
|
#include "CommandLineFlags.h"
|
|
#include "SkBitmap.h"
|
|
#include "SkStream.h"
|
|
|
|
class HashAndEncode {
|
|
public:
|
|
explicit HashAndEncode(const SkBitmap&);
|
|
|
|
void write(SkWStream*) const;
|
|
|
|
bool writePngTo(const char* path,
|
|
const char* md5,
|
|
CommandLineFlags::StringArray key,
|
|
CommandLineFlags::StringArray properties) const;
|
|
|
|
private:
|
|
const SkISize fSize;
|
|
std::unique_ptr<uint64_t[]> fPixels;
|
|
};
|
|
|