// This file is autogenerated by gn_to_bp.py.
#ifndef SkUserConfig_DEFINED
#define SkUserConfig_DEFINED
  #define GR_GL_CUSTOM_SETUP_HEADER "gl/GrGLConfig_chrome.h"
  #define SKIA_DLL
  #define SK_ALLOW_STATIC_GLOBAL_INITIALIZERS 0
  #define SK_BUILD_FOR_ANDROID_FRAMEWORK
  #define SK_CODEC_DECODES_RAW
  #define SK_DEFAULT_FONT_CACHE_LIMIT   (768 * 1024)
  #define SK_DEFAULT_GLOBAL_DISCARDABLE_MEMORY_POOL_SIZE (512 * 1024)
  #define SK_ENABLE_DISCRETE_GPU
  #define SK_GAMMA_APPLY_TO_A8
  #define SK_GAMMA_CONTRAST 0.0
  #define SK_GAMMA_EXPONENT 1.4
  #define SK_HAS_JPEG_LIBRARY
  #define SK_HAS_PNG_LIBRARY
  #define SK_HAS_WEBP_LIBRARY
  #define SK_IGNORE_ETC1_SUPPORT
  #define SK_IGNORE_GPU_DITHER
  #define SK_IGNORE_LINEONLY_AA_CONVEX_PATH_OPTS
  #define SK_INTERNAL
  #define SK_PDF_USE_SFNTLY
  #define SK_SUPPORT_EXOTIC_CLIPOPS
  #define SK_SUPPORT_LEGACY_BITMAP_SETPIXELREF
  #define SK_SUPPORT_LEGACY_CANVAS_GETCLIPSTACK
  #define SK_SUPPORT_LEGACY_CLIPTOLAYERFLAG
  #define SK_SUPPORT_LEGACY_DRAWFILTER
  #define SK_SUPPORT_LEGACY_EMBOSSMASKFILTER
  #define SK_SUPPORT_LEGACY_GRADIENT_DITHERING
  #define SK_SUPPORT_LEGACY_SHADER_ISABITMAP
  #define SK_SUPPORT_LEGACY_UNBALANCED_PIXELREF_LOCKCOUNT
  #define SK_SUPPORT_PDF
  #define SK_USE_FREETYPE_EMBOLDEN
  #define SK_VULKAN
  #define SK_XML
#endif//SkUserConfig_DEFINED
