On Tue, Jul 29, 2014 at 5:04 PM, Jason Ekstrand <ja...@jlekstrand.net> wrote: > > On Fri, Jun 6, 2014 at 4:57 PM, Anuj Phogat <anuj.pho...@gmail.com> wrote: >> >> Fixes few failures in gles3 Khronos CTS test: packed_pixels >> >> Cc: "10.2" <mesa-sta...@lists.freedesktop.org> >> Signed-off-by: Anuj Phogat <anuj.pho...@gmail.com> >> --- >> src/mesa/main/teximage.c | 11 +++++++++++ >> 1 file changed, 11 insertions(+) >> >> diff --git a/src/mesa/main/teximage.c b/src/mesa/main/teximage.c >> index 03ebbd8..6474dba 100644 >> --- a/src/mesa/main/teximage.c >> +++ b/src/mesa/main/teximage.c >> @@ -2667,6 +2667,17 @@ copytexture_error_check( struct gl_context *ctx, >> GLuint dimensions, >> "glCopyTexImage%dD(srgb usage mismatch)", >> dimensions); >> return GL_TRUE; >> } >> + >> + /* Page 139, Table 3.15 of OpenGL ES 3.0 spec does not define >> ReadPixels >> + * types for SNORM formats. Also, conversion to SNORM formats is >> not >> + * allowed by Table 3.2 on Page 110. >> + */ >> + if(_mesa_is_enum_format_snorm(internalFormat)) { >> + _mesa_error(ctx, GL_INVALID_OPERATION, >> + "glCopyTexImage%dD(internalFormat=%s)", dimensions, >> + _mesa_lookup_enum_by_nr(internalFormat)); >> + return GL_TRUE; >> + } > > > I think I'm missing something. How does this not completely prevent the > user from using CopyTexImage on SNORM formats? Shouldn't they still be able > to do CopyTexImage between two RG8_SNORM textures for instance? > Yes, this will prevent such operation. This is what I interpreted from spec's language in section 3.8.5 which describes the glCopyTexImage2D():
"The image is taken from the current color buffer exactly as if these arguments were passed to ReadPixels with arguments format and type set according to table 3.15, stopping after conversion of RGBA values." "Subsequent processing is identical to that described for TexImage2D, begin- ning with clamping of the R, G, B, and A values from the resulting pixel groups. Parameters level, internalformat, and border are specified using the same values, with the same meanings, as the equivalent arguments of TexImage2D." Table 3.15 doesn't list ReadPixels types for SNORM formats which can be used during CopyTex*. Do you interpret the spec differently? >> >> } >> >> if (!_mesa_source_buffer_exists(ctx, baseFormat)) { >> -- >> 1.8.3.1 >> >> _______________________________________________ >> mesa-dev mailing list >> mesa-dev@lists.freedesktop.org >> http://lists.freedesktop.org/mailman/listinfo/mesa-dev > > _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev