gltrace_context.h revision 0469dd6d55fa331bfd7de9431da98b6340d82271
1/* 2 * Copyright 2011, The Android Open Source Project 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 __GLTRACE_CONTEXT_H_ 18#define __GLTRACE_CONTEXT_H_ 19 20#include "hooks.h" 21 22namespace android { 23namespace gltrace { 24 25using ::android::gl_hooks_t; 26 27class GLTraceContext { 28 void *fbcontents; /* memory area to read framebuffer contents */ 29 void *fbcompressed; /* destination for lzf compressed framebuffer */ 30 unsigned fbcontentsSize; /* size of fbcontents & fbcompressed buffers */ 31 32 void resizeFBMemory(unsigned minSize); 33public: 34 gl_hooks_t *hooks; 35 36 GLTraceContext(); 37 void getCompressedFB(void **fb, unsigned *fbsize, unsigned *fbwidth, unsigned *fbheight); 38}; 39 40GLTraceContext *getGLTraceContext(); 41void setGLTraceContext(GLTraceContext *c); 42void initContext(unsigned version, gl_hooks_t *hooks); 43void releaseContext(); 44 45}; 46}; 47 48#endif 49