LCOV - code coverage report
Current view: top level - gfx/skia/skia/include/gpu - GrContextOptions.h (source / functions) Hit Total Coverage
Test: output.info Lines: 0 2 0.0 %
Date: 2017-07-14 16:53:18 Functions: 0 2 0.0 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : /*
       2             :  * Copyright 2015 Google Inc.
       3             :  *
       4             :  * Use of this source code is governed by a BSD-style license that can be
       5             :  * found in the LICENSE file.
       6             :  */
       7             : 
       8             : #ifndef GrContextOptions_DEFINED
       9             : #define GrContextOptions_DEFINED
      10             : 
      11             : #include "SkTypes.h"
      12             : #include "GrTypes.h"
      13             : 
      14             : struct GrContextOptions {
      15           0 :     GrContextOptions() {}
      16             : 
      17             :     // Suppress prints for the GrContext.
      18             :     bool fSuppressPrints = false;
      19             : 
      20             :     /** Overrides: These options override feature detection using backend API queries. These
      21             :         overrides can only reduce the feature set or limits, never increase them beyond the
      22             :         detected values. */
      23             : 
      24             :     int  fMaxTextureSizeOverride = SK_MaxS32;
      25             : 
      26             :     /** If non-zero, overrides the maximum size of a tile for sw-backed images and bitmaps rendered
      27             :         by SkGpuDevice. */
      28             :     int  fMaxTileSizeOverride = 0;
      29             :     bool fSuppressDualSourceBlending = false;
      30             : 
      31             :     /** the threshold in bytes above which we will use a buffer mapping API to map vertex and index
      32             :         buffers to CPU memory in order to update them.  A value of -1 means the GrContext should
      33             :         deduce the optimal value for this platform. */
      34             :     int  fBufferMapThreshold = -1;
      35             : 
      36             :     /** some gpus have problems with partial writes of the rendertarget */
      37             :     bool fUseDrawInsteadOfPartialRenderTargetWrite = false;
      38             : 
      39             :     /** The GrContext operates in immediate mode. It will issue all draws to the backend API
      40             :         immediately. Intended to ease debugging. */
      41             :     bool fImmediateMode = false;
      42             : 
      43             :     /** For debugging, override the default maximum look-back or look-ahead window for GrOp
      44             :         combining. */
      45             :     int fMaxOpCombineLookback = -1;
      46             :     int fMaxOpCombineLookahead = -1;
      47             : 
      48             :     /** Force us to do all swizzling manually in the shader and don't rely on extensions to do
      49             :         swizzling. */
      50             :     bool fUseShaderSwizzling = false;
      51             : 
      52             :     /** Construct mipmaps manually, via repeated downsampling draw-calls. This is used when
      53             :         the driver's implementation (glGenerateMipmap) contains bugs. This requires mipmap
      54             :         level and LOD control (ie desktop or ES3). */
      55             :     bool fDoManualMipmapping = false;
      56             : 
      57             :     /** Enable instanced rendering as long as all required functionality is supported by the HW.
      58             :         Instanced rendering is still experimental at this point and disabled by default. */
      59             :     bool fEnableInstancedRendering = false;
      60             : 
      61             :     /**
      62             :      * If true this allows path mask textures to be cached. This is only really useful if paths
      63             :      * are commonly rendered at the same scale and fractional translation.
      64             :      */
      65             :     bool fAllowPathMaskCaching = false;
      66             : 
      67             :     /**
      68             :      * If true, sRGB support will not be enabled unless sRGB decoding can be disabled (via an
      69             :      * extension). If mixed use of "legacy" mode and sRGB/color-correct mode is not required, this
      70             :      * can be set to false, which will significantly expand the number of devices that qualify for
      71             :      * sRGB support.
      72             :      */
      73             :     bool fRequireDecodeDisableForSRGB = true;
      74             : 
      75             :     /**
      76             :      * If true, the GPU will not be used to perform YUV -> RGB conversion when generating
      77             :      * textures from codec-backed images.
      78             :      */
      79             :     bool fDisableGpuYUVConversion = false;
      80             : 
      81             :     /**
      82             :      * If true, the caps will never report driver support for path rendering.
      83             :      */
      84             :     bool fSuppressPathRendering = false;
      85             : 
      86             :     /**
      87             :      * Allows the client to include or exclude specific GPU path renderers.
      88             :      */
      89             :     enum class GpuPathRenderers {
      90             :         kNone              = 0, // Always use sofware masks.
      91             :         kDashLine          = 1 << 0,
      92             :         kStencilAndCover   = 1 << 1,
      93             :         kMSAA              = 1 << 2,
      94             :         kAAHairline        = 1 << 3,
      95             :         kAAConvex          = 1 << 4,
      96             :         kAALinearizing     = 1 << 5,
      97             :         kSmall             = 1 << 6,
      98             :         kTessellating      = 1 << 7,
      99             :         kDefault           = 1 << 8,
     100             : 
     101             :         kAll               = kDefault | (kDefault - 1),
     102             : 
     103             :         // For legacy. To be removed when updated in Android.
     104             :         kDistanceField     = kSmall
     105             :     };
     106             : 
     107             :     GpuPathRenderers fGpuPathRenderers = GpuPathRenderers::kAll;
     108             : };
     109             : 
     110           0 : GR_MAKE_BITFIELD_CLASS_OPS(GrContextOptions::GpuPathRenderers)
     111             : 
     112             : #endif

Generated by: LCOV version 1.13