2012-04-19 14:35:52 +08:00
|
|
|
/*
|
|
|
|
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
|
|
|
|
|
|
|
|
|