<div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Jul 30, 2014 at 8:51 PM, Anuj Phogat <span dir="ltr"><<a href="mailto:anuj.phogat@gmail.com" target="_blank">anuj.phogat@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb"><div class="h5">On Tue, Jul 29, 2014 at 5:04 PM, Jason Ekstrand <<a href="mailto:jason@jlekstrand.net">jason@jlekstrand.net</a>> wrote:<br>

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