PVRVFrame - old bugs - ES2

The follwing two bugs are still present in PVRVFrame 2.09.29.0649 (also tested on 2.8.28.*).

1. After using the glGetBooleanv(GL_SHADER_COMPILER,… some gl calls involving shaders starts to generate errors.

Code:
GLboolean bShaderCompiler = GL_FALSE;
glGetBooleanv(GL_SHADER_COMPILER, &bShaderCompiler); // bShaderCompiler=GL_TRUE, err=GL_NO_ERROR
GLuint vsh = glCreateShader(GL_VERTEX_SHADER); // err=GL_NO_ERROR
GLuint fsh = glCreateShader(GL_FRAGMENT_SHADER); // err=GL_NO_ERROR
GLboolean b1 = glIsShader(vsh); // err=GL_INVALID_ENUM !!!
// PVRVFrame: "In glIsShader error: 500 (GL_INVALID_ENUM) : (null)"
GLboolean b2 = glIsShader(fsh); // err=GL_NO_ERROR
if (b1) glDeleteShader(vsh); // err=GL_NO_ERROR
if (b2) glDeleteShader(fsh); // err=GL_NO_ERROR
In the above example even a glIsShader generates an GL_INVALID_ENUM.
Note that glIsShader should not rise any error flags no matter of the
input param. Also, before that call glGetError returns GL_NO_ERRROR.

2.  glReleaseShaderCompiler should only generate GL_INVALID_OPERATION if a shader compiler is not supported. But, shader compiler is supported. glGetBooleanv(GL_SHADER_COMPILER, &mbShaderCompiler); returns mbShaderCompiler=GL_TRUE and other shader related gl calls works too.

Code:
glReleaseShaderCompiler(); // err=GL_INVALID_OPERATION !!!
// PVRVFrame: "In glReleaseShaderCompiler error: 502 (GL_INVALID_OPERATION) : this function is not yet supported by the emulator"



Hi diafera,









Thank you for your bug report! I’ve submitted a bug into our internal bug tracker for this and your other reports (BRN34824).







Thanks,









Tobias