From 0ce0d91f992aec0076f88ae02a79ebbadebb36b3 Mon Sep 17 00:00:00 2001 From: Alon Zakai Date: Sat, 2 Jun 2012 12:41:50 -0700 Subject: return correct values for GL_SHADER_COMPILER and GL_NUM_SHADER_BINARY_FORMATS --- tests/glshaderinfo.cpp | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 tests/glshaderinfo.cpp (limited to 'tests/glshaderinfo.cpp') diff --git a/tests/glshaderinfo.cpp b/tests/glshaderinfo.cpp new file mode 100644 index 00000000..8ec393a8 --- /dev/null +++ b/tests/glshaderinfo.cpp @@ -0,0 +1,52 @@ +#define GL_GLEXT_PROTOTYPES +#define EGL_EGLEXT_PROTOTYPES + +#define _GNU_SOURCE + +#include +#include +#include +#include +#include +#include +#ifdef __APPLE__ +#include +#include +#else +#include +#include +#endif + +#include +#include + +int main(int argc, char *argv[]) +{ + /* Initialize the window */ + glutInit(&argc, argv); + glutInitWindowSize(300, 300); + glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH); + + glutCreateWindow("es2gears"); + + GLint shaderCompiler; + glGetIntegerv(GL_SHADER_COMPILER, &shaderCompiler); + + GLint numShaderBinaryFormats; + glGetIntegerv(GL_NUM_SHADER_BINARY_FORMATS, &numShaderBinaryFormats); + + printf("%d,%d\n", shaderCompiler, numShaderBinaryFormats); + + if (!shaderCompiler && numShaderBinaryFormats == 0) { + printf("In current environment, the GLES2 implementation IS NOT standard conforming! " + "GL_SHADER_COMPILER == GL_FALSE and GL_NUM_SHADER_BINARY_FORMATS == 0! " + "In GLES2 spec, either compiling shaders or binary shaders must be supported! (Section 2.10 - Vertex Shaders)\n"); + int result = 0; + REPORT_RESULT(); + } else { + assert(numShaderBinaryFormats == 0); + int result = 1; + REPORT_RESULT(); + } + return 0; +} -- cgit v1.2.3-18-g5258