Home | History | Annotate | Download | only in gl
      1 
      2 /*
      3  * Copyright 2011 Google Inc.
      4  *
      5  * Use of this source code is governed by a BSD-style license that can be
      6  * found in the LICENSE file.
      7  */
      8 #ifndef GrGLConfig_chrome_DEFINED
      9 #define GrGLConfig_chrome_DEFINED
     10 
     11 // glGetError() forces a sync with gpu process on chrome
     12 #define GR_GL_CHECK_ERROR_START                     0
     13 
     14 #if defined(SK_BUILD_FOR_WIN32)
     15 // ANGLE creates a temp VB for vertex attributes not specified per-vertex.
     16 #define GR_GL_NO_CONSTANT_ATTRIBUTES                1
     17 
     18 // For RGBA teximage/readpixels ANGLE will sw-convert to/from BGRA.
     19 #define GR_GL_RGBA_8888_PIXEL_OPS_SLOW              1
     20 
     21 // ANGLE can go faster if the entire fbo is read rather than a subrect
     22 #define GR_GL_FULL_READPIXELS_FASTER_THAN_PARTIAL   1
     23 #else
     24 #define GR_GL_NO_CONSTANT_ATTRIBUTES                0
     25 #define GR_GL_RGBA_8888_PIXEL_OPS_SLOW              0
     26 #define GR_GL_FULL_READPIXELS_FASTER_THAN_PARTIAL   0
     27 #endif
     28 
     29 // cmd buffer allocates memory and memsets it to zero when it sees glBufferData
     30 // with NULL.
     31 #define GR_GL_USE_BUFFER_DATA_NULL_HINT             0
     32 
     33 // chrome uses this to set the context on each GL call.
     34 #define GR_GL_PER_GL_FUNC_CALLBACK                  1
     35 
     36 // Check error is even more expensive in chrome (cmd buffer flush). The
     37 // compositor also doesn't check its allocations.
     38 #define GR_GL_CHECK_ALLOC_WITH_GET_ERROR            0
     39 
     40 // CheckFramebufferStatus in chrome synchronizes the gpu and renderer processes.
     41 #define GR_GL_CHECK_FBO_STATUS_ONCE_PER_FORMAT      1
     42 
     43 // Non-VBO vertices and indices are not allowed in Chromium.
     44 #define GR_GL_MUST_USE_VBO                          1
     45 
     46 // Use updated Khronos signature for glShaderSource
     47 // (const char* const instead of char**).
     48 #define GR_GL_USE_NEW_SHADER_SOURCE_SIGNATURE       1
     49 
     50 #if !defined(GR_GL_IGNORE_ES3_MSAA)
     51     #define GR_GL_IGNORE_ES3_MSAA 0
     52 #endif
     53 
     54 #endif
     55