1be19b9ef9a46df7d7308f273f6f7efa905cc7d72commit-bot@chromium.org/* 2be19b9ef9a46df7d7308f273f6f7efa905cc7d72commit-bot@chromium.org * Copyright 2013 Google Inc. 3be19b9ef9a46df7d7308f273f6f7efa905cc7d72commit-bot@chromium.org * 4be19b9ef9a46df7d7308f273f6f7efa905cc7d72commit-bot@chromium.org * Use of this source code is governed by a BSD-style license that can be 5be19b9ef9a46df7d7308f273f6f7efa905cc7d72commit-bot@chromium.org * found in the LICENSE file. 6be19b9ef9a46df7d7308f273f6f7efa905cc7d72commit-bot@chromium.org */ 7be19b9ef9a46df7d7308f273f6f7efa905cc7d72commit-bot@chromium.org 8be19b9ef9a46df7d7308f273f6f7efa905cc7d72commit-bot@chromium.org#ifndef skpdiff_util_DEFINED 9be19b9ef9a46df7d7308f273f6f7efa905cc7d72commit-bot@chromium.org#define skpdiff_util_DEFINED 10be19b9ef9a46df7d7308f273f6f7efa905cc7d72commit-bot@chromium.org 11be19b9ef9a46df7d7308f273f6f7efa905cc7d72commit-bot@chromium.org#include "SkString.h" 12be19b9ef9a46df7d7308f273f6f7efa905cc7d72commit-bot@chromium.org#include "SkTArray.h" 13be19b9ef9a46df7d7308f273f6f7efa905cc7d72commit-bot@chromium.org 14d658568a8260b858411e975b1a6011d2a496cc6fzachr@google.com#if SK_SUPPORT_OPENCL 1535f02fb9c9f548656e1cb2cc66d3ed20006384f8zachr@google.com#if SK_BUILD_FOR_MAC 1635f02fb9c9f548656e1cb2cc66d3ed20006384f8zachr@google.com# include <OpenCL/cl.h> 1735f02fb9c9f548656e1cb2cc66d3ed20006384f8zachr@google.com#else 1835f02fb9c9f548656e1cb2cc66d3ed20006384f8zachr@google.com# include <CL/cl.h> 1935f02fb9c9f548656e1cb2cc66d3ed20006384f8zachr@google.com#endif 2035f02fb9c9f548656e1cb2cc66d3ed20006384f8zachr@google.com 21be19b9ef9a46df7d7308f273f6f7efa905cc7d72commit-bot@chromium.org/** 22be19b9ef9a46df7d7308f273f6f7efa905cc7d72commit-bot@chromium.org * Converts an OpenCL error number into the string of its enumeration name. 23be19b9ef9a46df7d7308f273f6f7efa905cc7d72commit-bot@chromium.org * @param err The OpenCL error number 24be19b9ef9a46df7d7308f273f6f7efa905cc7d72commit-bot@chromium.org * @return The string of the name of the error; "UNKOWN" if the error number is invalid 25be19b9ef9a46df7d7308f273f6f7efa905cc7d72commit-bot@chromium.org */ 26be19b9ef9a46df7d7308f273f6f7efa905cc7d72commit-bot@chromium.orgconst char* cl_error_to_string(cl_int err); 27d658568a8260b858411e975b1a6011d2a496cc6fzachr@google.com#endif 28be19b9ef9a46df7d7308f273f6f7efa905cc7d72commit-bot@chromium.org 29be19b9ef9a46df7d7308f273f6f7efa905cc7d72commit-bot@chromium.org/** 30be19b9ef9a46df7d7308f273f6f7efa905cc7d72commit-bot@chromium.org * Get a positive monotonic real-time measure of the amount of seconds since some undefined epoch. 31be19b9ef9a46df7d7308f273f6f7efa905cc7d72commit-bot@chromium.org * Maximum precision is the goal of this routine. 32be19b9ef9a46df7d7308f273f6f7efa905cc7d72commit-bot@chromium.org * @return Amount of time in seconds since some epoch 33be19b9ef9a46df7d7308f273f6f7efa905cc7d72commit-bot@chromium.org */ 34be19b9ef9a46df7d7308f273f6f7efa905cc7d72commit-bot@chromium.orgdouble get_seconds(); 35be19b9ef9a46df7d7308f273f6f7efa905cc7d72commit-bot@chromium.org 36be19b9ef9a46df7d7308f273f6f7efa905cc7d72commit-bot@chromium.org/** 37be19b9ef9a46df7d7308f273f6f7efa905cc7d72commit-bot@chromium.org * Get file entries of the given directory. 38be19b9ef9a46df7d7308f273f6f7efa905cc7d72commit-bot@chromium.org * @param path A path to a directory to enumerate 39be19b9ef9a46df7d7308f273f6f7efa905cc7d72commit-bot@chromium.org * @param entries A vector to return the results into 40be19b9ef9a46df7d7308f273f6f7efa905cc7d72commit-bot@chromium.org * @return True on success, false otherwise 41be19b9ef9a46df7d7308f273f6f7efa905cc7d72commit-bot@chromium.org */ 42be19b9ef9a46df7d7308f273f6f7efa905cc7d72commit-bot@chromium.orgbool get_directory(const char path[], SkTArray<SkString>* entries); 43be19b9ef9a46df7d7308f273f6f7efa905cc7d72commit-bot@chromium.org 4418bbba9a9ae3c9c434ac2159bac0b4296ae7f213zachr@google.com/** 4518bbba9a9ae3c9c434ac2159bac0b4296ae7f213zachr@google.com * Gets the files that match the specified pattern in sorted order. 4618bbba9a9ae3c9c434ac2159bac0b4296ae7f213zachr@google.com * @param globPattern The pattern to use. Patterns must be valid paths, optionally with wildcards (*) 4718bbba9a9ae3c9c434ac2159bac0b4296ae7f213zachr@google.com * @param entries An array to return the results into 4818bbba9a9ae3c9c434ac2159bac0b4296ae7f213zachr@google.com * @return True on success, false otherwise 4918bbba9a9ae3c9c434ac2159bac0b4296ae7f213zachr@google.com */ 5018bbba9a9ae3c9c434ac2159bac0b4296ae7f213zachr@google.combool glob_files(const char globPattern[], SkTArray<SkString>* entries); 5118bbba9a9ae3c9c434ac2159bac0b4296ae7f213zachr@google.com 52a479aa1366734f80360a00e3020f5b148cb3c060zachr@google.com/** 53a479aa1366734f80360a00e3020f5b148cb3c060zachr@google.com * Gets the absolute version of the given path. 54a479aa1366734f80360a00e3020f5b148cb3c060zachr@google.com * @param path The absolute or relative path to expand 55a479aa1366734f80360a00e3020f5b148cb3c060zachr@google.com * @return The absolute path of the given path on success, or an empty string on failure. 56a479aa1366734f80360a00e3020f5b148cb3c060zachr@google.com */ 57a479aa1366734f80360a00e3020f5b148cb3c060zachr@google.comSkString get_absolute_path(const SkString& path); 58a479aa1366734f80360a00e3020f5b148cb3c060zachr@google.com 59be19b9ef9a46df7d7308f273f6f7efa905cc7d72commit-bot@chromium.org 60be19b9ef9a46df7d7308f273f6f7efa905cc7d72commit-bot@chromium.org#endif 61