gltrace: Fixup vertex attrib pointers only for GLES2
Change-Id: Ibf280c2a4372ce6e598e164eef0d72b7c0a6d1c2
This commit is contained in:
parent
af1cb83516
commit
3ef9e9671c
|
@ -119,7 +119,7 @@ GLTraceContext *GLTraceState::createTraceContext(int version, EGLContext eglCont
|
|||
|
||||
const size_t DEFAULT_BUFFER_SIZE = 8192;
|
||||
BufferedOutputStream *stream = new BufferedOutputStream(mStream, DEFAULT_BUFFER_SIZE);
|
||||
GLTraceContext *traceContext = new GLTraceContext(id, this, stream);
|
||||
GLTraceContext *traceContext = new GLTraceContext(id, version, this, stream);
|
||||
mPerContextState[eglContext] = traceContext;
|
||||
|
||||
return traceContext;
|
||||
|
@ -129,8 +129,10 @@ GLTraceContext *GLTraceState::getTraceContext(EGLContext c) {
|
|||
return mPerContextState[c];
|
||||
}
|
||||
|
||||
GLTraceContext::GLTraceContext(int id, GLTraceState *state, BufferedOutputStream *stream) :
|
||||
GLTraceContext::GLTraceContext(int id, int version, GLTraceState *state,
|
||||
BufferedOutputStream *stream) :
|
||||
mId(id),
|
||||
mVersion(version),
|
||||
mState(state),
|
||||
mBufferedOutputStream(stream),
|
||||
mElementArrayBuffers(DefaultKeyedVector<GLuint, ElementArrayBuffer*>(NULL))
|
||||
|
@ -143,6 +145,10 @@ int GLTraceContext::getId() {
|
|||
return mId;
|
||||
}
|
||||
|
||||
int GLTraceContext::getVersion() {
|
||||
return mVersion;
|
||||
}
|
||||
|
||||
GLTraceState *GLTraceContext::getGlobalTraceState() {
|
||||
return mState;
|
||||
}
|
||||
|
|
|
@ -50,6 +50,7 @@ public:
|
|||
/** GL Trace Context info associated with each EGLContext */
|
||||
class GLTraceContext {
|
||||
int mId; /* unique context id */
|
||||
int mVersion; /* GL version, e.g: egl_connection_t::GLESv2_INDEX */
|
||||
GLTraceState *mState; /* parent GL Trace state (for per process GL Trace State Info) */
|
||||
|
||||
void *fbcontents; /* memory area to read framebuffer contents */
|
||||
|
@ -65,8 +66,9 @@ class GLTraceContext {
|
|||
public:
|
||||
gl_hooks_t *hooks;
|
||||
|
||||
GLTraceContext(int id, GLTraceState *state, BufferedOutputStream *stream);
|
||||
GLTraceContext(int id, int version, GLTraceState *state, BufferedOutputStream *stream);
|
||||
int getId();
|
||||
int getVersion();
|
||||
GLTraceState *getGlobalTraceState();
|
||||
void getCompressedFB(void **fb, unsigned *fbsize,
|
||||
unsigned *fbwidth, unsigned *fbheight,
|
||||
|
|
|
@ -15,6 +15,7 @@
|
|||
*/
|
||||
|
||||
#include <cutils/log.h>
|
||||
#include <EGL/egldefs.h>
|
||||
#include <GLES/gl.h>
|
||||
#include <GLES/glext.h>
|
||||
#include <GLES2/gl2.h>
|
||||
|
@ -592,6 +593,11 @@ void trace_VertexAttribPointerData(GLTraceContext *context,
|
|||
}
|
||||
|
||||
void trace_VertexAttribPointerDataForGlDrawArrays(GLTraceContext *context, GLMessage *glmsg) {
|
||||
if (context->getVersion() == egl_connection_t::GLESv1_INDEX) {
|
||||
// only supported for GLES2 and above
|
||||
return;
|
||||
}
|
||||
|
||||
/* void glDrawArrays(GLenum mode, GLint first, GLsizei count) */
|
||||
GLsizei count = glmsg->args(2).intvalue(0);
|
||||
|
||||
|
@ -604,6 +610,11 @@ void trace_VertexAttribPointerDataForGlDrawArrays(GLTraceContext *context, GLMes
|
|||
|
||||
void trace_VertexAttribPointerDataForGlDrawElements(GLTraceContext *context, GLMessage *glmsg,
|
||||
GLvoid *indices) {
|
||||
if (context->getVersion() == egl_connection_t::GLESv1_INDEX) {
|
||||
// only supported for GLES2 and above
|
||||
return;
|
||||
}
|
||||
|
||||
/* void glDrawElements(GLenum mode, GLsizei count, GLenum type, const GLvoid* indices) */
|
||||
GLsizei count = glmsg->args(1).intvalue(0);
|
||||
GLenum type = glmsg->args(2).intvalue(0);
|
||||
|
|
Loading…
Reference in New Issue