1/* 2 Copyright 2010 Google Inc. 3 4 Licensed under the Apache License, Version 2.0 (the "License"); 5 you may not use this file except in compliance with the License. 6 You may obtain a copy of the License at 7 8 http://www.apache.org/licenses/LICENSE-2.0 9 10 Unless required by applicable law or agreed to in writing, software 11 distributed under the License is distributed on an "AS IS" BASIS, 12 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 See the License for the specific language governing permissions and 14 limitations under the License. 15 */ 16 17#ifndef GrUserConfig_DEFINED 18#define GrUserConfig_DEFINED 19 20#if defined(GR_USER_CONFIG_FILE) 21 #error "default user config pulled in but GR_USER_CONFIG_FILE is defined." 22#endif 23 24#if 0 25 #undef GR_RELEASE 26 #undef GR_DEBUG 27 #define GR_RELEASE 0 28 #define GR_DEBUG 1 29#endif 30 31/* 32 * The default 32bit pixel config for texture upload is GL_RGBA on all 33 * platforms except on Windows where it is GL_BGRA. If your bitmaps map to a 34 * different GL enum, specify that with this define. For portability use 35 * GR_BGRA rather than GL_BGRA for platforms where this format is an 36 * extension. 37 */ 38//#define GR_GL_32BPP_COLOR_FORMAT GL_RGBA 39 40/* 41 * To diagnose texture cache performance, define this to 1 if you want to see 42 * a log statement everytime we upload an image to create a texture. 43 */ 44//#define GR_DUMP_TEXTURE_UPLOAD 1 45 46/* 47 * To log all GL calls define this. Can be turned on and off at runtime by 48 * gPrintGL global variable. 49 */ 50//#define GR_GL_LOG_CALLS 1 51 52/* 53 * When drawing rects this causes Ganesh to use a vertex buffer containing 54 * a unit square that is positioned by a matrix. Enable on systems where 55 * emitting per-rect-draw verts is more expensive than constant/matrix 56 * updates. Defaults to 0. 57 */ 58//#define GR_STATIC_RECT_VB 1 59 60/* 61 * This causes more aggressive shader optimization. May hurt performance if 62 * switching shaders is expensive. 63 */ 64//#define GR_AGGRESSIVE_SHADER_OPTS 1 65 66/* 67 * This gives a threshold in bytes of when to lock a GrGeometryBuffer vs using 68 * updateData or updateSubData. (Note the depending on the underlying 3D API 69 * the update functions may always be implemented using a lock) 70 */ 71//#define GR_GEOM_BUFFER_LOCK_THRESHOLD (1<<15) 72 73/////////////////////////////////////////////////////////////////////////////// 74/* 75 * temporary flags (may go away soon) 76 */ 77 78/////////////////////////////////////////////////////////////////////////////// 79// Decide Ganesh types 80 81#define GR_SCALAR_IS_FIXED 0 82#define GR_SCALAR_IS_FLOAT 1 83 84#define GR_TEXT_SCALAR_IS_USHORT 0 85#define GR_TEXT_SCALAR_IS_FIXED 0 86#define GR_TEXT_SCALAR_IS_FLOAT 1 87 88#endif 89 90 91