summaryrefslogtreecommitdiff
path: root/Runtime/GfxDevice/opengles20/DebugGLES20.cpp
blob: d087e07a867a49249ec3091ff307085c6d7c3113 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#include "UnityPrefix.h"
#include "IncludesGLES20.h"
#include "DebugGLES20.h"
#include "AssertGLES20.h"


void DumpVertexArrayStateGLES20()
{
#if GFX_SUPPORTS_OPENGLES20
	GLint maxVertexAttribs = 0;
	GLES_CHK(glGetIntegerv(GL_MAX_VERTEX_ATTRIBS, &maxVertexAttribs));
	
	GLint vbo = 0;
	GLint ibo = 0;
	GLES_CHK(glGetIntegerv(GL_ARRAY_BUFFER_BINDING, &vbo));
	GLES_CHK(glGetIntegerv(GL_ELEMENT_ARRAY_BUFFER_BINDING, &ibo));
	
	printf_console("---> VertexArray State: vbo:%d ibo:%d\n", vbo, ibo);
	
	for (int q = 0; q < maxVertexAttribs; ++q)
	{
		int enabled, size, stride, normalized, type, vbo;
		GLES_CHK(glGetVertexAttribiv(q, GL_VERTEX_ATTRIB_ARRAY_ENABLED, &enabled));
		GLES_CHK(glGetVertexAttribiv(q, GL_VERTEX_ATTRIB_ARRAY_SIZE, &size));
		GLES_CHK(glGetVertexAttribiv(q, GL_VERTEX_ATTRIB_ARRAY_STRIDE, &stride));
		GLES_CHK(glGetVertexAttribiv(q, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, &normalized));
		GLES_CHK(glGetVertexAttribiv(q, GL_VERTEX_ATTRIB_ARRAY_TYPE, &type));
		GLES_CHK(glGetVertexAttribiv(q, GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, &vbo));
		
		GLvoid* ptr;
		GLES_CHK(glGetVertexAttribPointerv(q, GL_VERTEX_ATTRIB_ARRAY_POINTER, &ptr));
		
		printf_console("       attr[%d] --- %s type:%d size:%d stride:%d norm:%d vbo:%d, %p\n",
					   q, enabled? "On ": "Off",
					   type, size, stride, normalized, vbo, ptr);
	}
#endif				  
}