Recent versions of the GLES3 conformance test suite fail this test.
<TestCaseResult Version="0.3.2" CasePath="ES2-CTS.gtf.GL2ExtensionTests.egl_image.egl_image" CaseType="SelfValidate">
<Text>GTFExtensionTestEGLImageApply::Apply/error: GL error produced in checkpoint 1</Text>
<Text>0 passes, 1 failures, test case FAILED!</Text>
This test used to pass, but... I re-ran this test on Mesa 10.3 on BDW. This is the configuration that was used for the BDW conformance submission. The test failed. I reverted to an older version of the CTS, and re-ran 10.3 on BDW. The test passes, but the same "GL error produced in checkpoint 1" message is produced.
It seems this test may have always failed, but the test suite wasn't smart enough to notice. For that reason, I am not marking this as a regression.
Mark: Do any of the CI system fail this test? I didn't see an existing bug for it.
Partially trimmed backtrace.
#0 _mesa_error (ctx=0x7ffff7fa3040, error=1282,
fmtString=0x7ffff3b8b1e8 "glEGLImageTargetRenderbufferStorage(unsupported image format") at main/errors.c:1471
#1 0x00007ffff3a24bf3 in intel_image_target_renderbuffer_storage (
ctx=0x7ffff7fa3040, rb=0x13f5730, image_handle=0x13500b0)
#2 0x00007ffff35f0402 in _mesa_EGLImageTargetRenderbufferStorageOES (
target=36161, image=0x13500b0) at main/fbobject.c:2214
#3 0x0000000000b0b0c3 in RunRenderbufferTest (pTestEGLImage=0x138c7c0,
glEGLImageTargetRenderbufferStorageOES=0x7ffff4957980 <shared_dispatch_stub_1275>, image=0x13500b0, format=6408, type=5121)
#4 0x0000000000b0c915 in GTFExtensionTestEGLImageApply (
#5 0x00000000009f3a47 in GTFTestExtensionApply (pTestExtension=0x1355df0)
this passes on master for me:
This test also passes on 11.0 and 10.6 branches, eg:
Hmm... I wonder if non-GBM vs GBM is the difference. Weird.
Patch sent to mesa-dev for review:
Fixed by the following commit. This commit should be included in Mesa 11.0.5.
Author: Ian Romanick <firstname.lastname@example.org>
Date: Thu Oct 15 12:50:12 2015 -0700
i965: Fix is-renderable check in intel_image_target_renderbuffer_storage
Previously we could create a renderbuffer with format
MESA_FORMAT_R8G8B8A8_UNORM, convert that renderbuffer to an EGLImage,
then FAIL to convert the EGLImage back to a renderbuffer because
reasons. Just use the same check in
intel_image_target_renderbuffer_storage that brw_render_target_supported
There are more checks in brw_render_target_supported, but I don't think
they are necessary here. A different approach would be to refactor
brw_render_target_supported to take rb->Format and rb->NumSamples as
parameters (instead of a gl_renderbuffer) and use the new function here.
Signed-off-by: Ian Romanick <email@example.com>
Reviewed-by: Anuj Phogat <firstname.lastname@example.org>
Tested-by: Tapani Pälli <email@example.com>
Cc: "10.3 10.4 10.5 10.6 11.0" <firstname.lastname@example.org>