Commit c14ab2a7 by Shahbaz Youssefi Committed by Commit Bot

Fix dEQP_GLES3.functional.negative_api.shader.program_binary

The frontend was not taking into account the fact that some drivers do not support program binaries. The fix is that now glGetProgramiv(GL_PROGRAM_BINARY_LENGTH) returns 0 under such circumstances. Bug: angleproject:2780 Change-Id: I4ea2cda6bb4612e69dbd7e00b3d43b97ee3b3c3d Reviewed-on: https://chromium-review.googlesource.com/1188768Reviewed-by: 's avatarGeoff Lang <geofflang@chromium.org> Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
parent 89664843
......@@ -1043,7 +1043,9 @@ void QueryProgramiv(const Context *context, const Program *program, GLenum pname
*params = program->getActiveUniformMaxLength();
return;
case GL_PROGRAM_BINARY_LENGTH_OES:
*params = program->getBinaryLength(context);
*params = context->getCaps().programBinaryFormats.empty()
? 0
: program->getBinaryLength(context);
return;
case GL_ACTIVE_UNIFORM_BLOCKS:
*params = program->getActiveUniformBlockCount();
......
......@@ -381,7 +381,7 @@ void GenerateCaps(const FunctionsGL *functions,
if (functions->isAtLeastGL(gl::Version(4, 1)) ||
functions->hasGLExtension("GL_ARB_get_program_binary") ||
functions->isAtLeastGLES(gl::Version(3, 0)) ||
functions->hasGLExtension("GL_OES_get_program_binary"))
functions->hasGLESExtension("GL_OES_get_program_binary"))
{
// Able to support the GL_PROGRAM_BINARY_ANGLE format as long as another program binary
// format is available.
......
......@@ -325,14 +325,12 @@
// Linux Intel specific
2349 LINUX INTEL : dEQP-GLES3.functional.fbo.blit.default_framebuffer* = FAIL
2349 LINUX INTEL : dEQP-GLES3.functional.negative_api.shader.program_binary = FAIL
// Mac failures (overbroad suppresions)
2137 MAC : dEQP-GLES3.functional.fbo.blit.default_framebuffer.* = FAIL
2137 MAC : dEQP-GLES3.functional.fbo.blit.rect.out_of_bounds_reverse_* = FAIL
2137 MAC : dEQP-GLES3.functional.implementation_limits.compressed_texture_formats = FAIL
2137 MAC : dEQP-GLES3.functional.implementation_limits.num_compressed_texture_formats = FAIL
2137 MAC : dEQP-GLES3.functional.negative_api.shader.program_binary = FAIL
2137 MAC : dEQP-GLES3.functional.primitive_restart.* = FAIL
2137 MAC : dEQP-GLES3.functional.shaders.linkage.varying.rules.vertex_declare_fragment_use = FAIL
2137 MAC : dEQP-GLES3.functional.shaders.scoping.valid.function_parameter_hides_struct_type_fragment = FAIL
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment