diff options
author | Alon Zakai <alonzakai@gmail.com> | 2012-06-02 12:41:50 -0700 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2012-06-02 12:41:50 -0700 |
commit | 0ce0d91f992aec0076f88ae02a79ebbadebb36b3 (patch) | |
tree | cce915a04b460d36ec788a15f1f284a7da63b6e8 /tests/glshaderinfo.cpp | |
parent | 25ececc61907bc8a80be095a3be1c204c2390c1d (diff) |
return correct values for GL_SHADER_COMPILER and GL_NUM_SHADER_BINARY_FORMATS
Diffstat (limited to 'tests/glshaderinfo.cpp')
-rw-r--r-- | tests/glshaderinfo.cpp | 52 |
1 files changed, 52 insertions, 0 deletions
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 <math.h> +#include <stdlib.h> +#include <stdio.h> +#include <string.h> +#include <sys/time.h> +#include <unistd.h> +#ifdef __APPLE__ +#include <OpenGL/gl.h> +#include <Glut/glut.h> +#else +#include <GL/gl.h> +#include <GL/glut.h> +#endif + +#include <assert.h> +#include <emscripten.h> + +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; +} |