blob: 201d8366eeaf6f5f5ec6b953184b295f064fe9e5 [file] [log] [blame]
/*
Copyright 2010 Google Inc.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
#ifndef GrUserConfig_DEFINED
#define GrUserConfig_DEFINED
#if defined(GR_USER_CONFIG_FILE)
#error "default user config pulled in but GR_USER_CONFIG_FILE is defined."
#endif
#if 0
#undef GR_RELEASE
#undef GR_DEBUG
#define GR_RELEASE 0
#define GR_DEBUG 1
#endif
/*
* The default 32bit pixel config for texture upload is GL_RGBA on all
* platforms except on Windows where it is GL_BGRA. If your bitmaps map to a
* different GL enum, specify that with this define. For portability use
* GR_BGRA rather than GL_BGRA for platforms where this format is an
* extension.
*/
//#define GR_GL_32BPP_COLOR_FORMAT GL_RGBA
/*
* To diagnose texture cache performance, define this to 1 if you want to see
* a log statement everytime we upload an image to create a texture.
*/
//#define GR_DUMP_TEXTURE_UPLOAD 1
/*
* To log all GL calls define this. Can be turned on and off at runtime by
* gPrintGL global variable.
*/
//#define GR_GL_LOG_CALLS 1
/*
* When drawing rects this causes Ganesh to use a vertex buffer containing
* a unit square that is positioned by a matrix. Enable on systems where
* emitting per-rect-draw verts is more expensive than constant/matrix
* updates. Defaults to 0.
*/
//#define GR_STATIC_RECT_VB 1
/*
* This causes more aggressive shader optimization. May hurt performance if
* switching shaders is expensive.
*/
//#define GR_AGGRESSIVE_SHADER_OPTS 1
/*
* This gives a threshold in bytes of when to lock a GrGeometryBuffer vs using
* updateData or updateSubData. (Note the depending on the underlying 3D API
* the update functions may always be implemented using a lock)
*/
//#define GR_GEOM_BUFFER_LOCK_THRESHOLD (1<<15)
///////////////////////////////////////////////////////////////////////////////
/*
* temporary flags (may go away soon)
*/
///////////////////////////////////////////////////////////////////////////////
// Decide Ganesh types
#define GR_SCALAR_IS_FIXED 0
#define GR_SCALAR_IS_FLOAT 1
#define GR_TEXT_SCALAR_IS_USHORT 0
#define GR_TEXT_SCALAR_IS_FIXED 0
#define GR_TEXT_SCALAR_IS_FLOAT 1
#endif