On Wednesday, December 21, 2016 9:05:27 AM PST Randy Xu wrote: > From the OGLES 3.2 spec, Section 8.5 Texture Image Specification, page 158: > "An INVALID_OPERATION error is generated if a combination of > values for format, type, and internalformat is specified that is > not listed as a valid combination in tables 8.2 or 8.3." > It means that TexImage3D should return GL_INVALID_OPERATION if the internal > format is DEPTH_COMPONENT, DEPTH_-STENCIL or STENCIL_INDEX. > > The current code returns INVALID_ENUM as _mesa_error_check_format_and_type is > also used by glReadPixels and the GL specification defines > "INVALID_ENUM is generated if format is DEPTH_STENCIL and type is not > UNSIGNED_INT_24_8 or FLOAT_32_UNSIGNED_INT_24_8_- REV". > > This patch only impacts GLES, which can generate GL_INVALID_OPERATION because > glReadPixels cannot be used to read depth or stencil buffer. > Fixes dEQP-GLES3.functional.negative_api.texture.teximage3d. > > Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=99076 > Signed-off-by: Randy Xu <randy...@intel.com> > --- > src/mesa/main/glformats.c | 7 +++++++ > 1 file changed, 7 insertions(+) > > diff --git a/src/mesa/main/glformats.c b/src/mesa/main/glformats.c > index a95909c..3070db9 100644 > --- a/src/mesa/main/glformats.c > +++ b/src/mesa/main/glformats.c > @@ -2087,6 +2087,13 @@ _mesa_error_check_format_and_type(const struct > gl_context *ctx, > else if (ctx->Extensions.ARB_depth_buffer_float && > type == GL_FLOAT_32_UNSIGNED_INT_24_8_REV) > return GL_NO_ERROR; > + //From the OpenGL ES 3.2 spec, Section 8.5 Texture Image > + // Specification, page 158: > + // An INVALID_OPERATION error is generated if a combination of > + // values for format, type, and internalformat is specified that > + // is not listed as a valid combination in tables 8.2 or 8.3. > + else if (!_mesa_is_desktop_gl(ctx)) > + return GL_INVALID_OPERATION; > else > return GL_INVALID_ENUM; > >
There is a bug in dEQP related to this test: https://android-review.googlesource.com/#/c/316475/ We already landed the equivalent fix for dEQP-GLES31 version, but apparently the test exists in dEQP-GLES3 as well. After applying that patch, the test passes, with no change to Mesa. --Ken
signature.asc
Description: This is a digitally signed message part.
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev