[Piglit] [PATCH] Allow testing of generic compressed texture formats with 1D/3D textures
Brian Paul
brianp at vmware.com
Tue Aug 21 15:15:56 PDT 2012
On 08/21/2012 04:11 PM, Anuj Phogat wrote:
> On Tue, Aug 21, 2012 at 12:26 PM, Brian Paul<brianp at vmware.com> wrote:
>>
>> On 08/21/2012 01:12 PM, Anuj Phogat wrote:
>>>
>>> The generic texture formats are allowed in the<internalformat>
>>> parameter of TexImage1D, TexImage2D, TexImage3D, CopyTexImage1D,
>>> and CopyTexImage2D functions.
>>>
>>> Signed-off-by: Anuj Phogat<anuj.phogat at gmail.com>
>>> ---
>>> tests/texturing/copyteximage.c | 8 --------
>>> 1 files changed, 0 insertions(+), 8 deletions(-)
>>>
>>> diff --git a/tests/texturing/copyteximage.c b/tests/texturing/copyteximage.c
>>> index a0bf228..c8a8492 100644
>>> --- a/tests/texturing/copyteximage.c
>>> +++ b/tests/texturing/copyteximage.c
>>> @@ -328,14 +328,6 @@ supported_format(GLenum format)
>>> static bool
>>> supported_target_format(GLenum target, GLenum format)
>>> {
>>> - /* all the compressed formats we test (so far) are 2D only */
>>> - if (is_compressed_format(format)&&
>>> - (target == GL_TEXTURE_1D ||
>>> - target == GL_TEXTURE_1D_ARRAY ||
>>> - target == GL_TEXTURE_3D ||
>>> - target == GL_TEXTURE_RECTANGLE)) {
>>> - return false;
>>> - }
>>> if (is_depth_format(format)&& target == GL_TEXTURE_3D) {
>>> return false;
>>> }
>>
>>
>> I guess this is what we want to do, but with NVIDIA's driver I'm seeing
>> a ton of failures both with and without this patch. I don't have time right
>> now to dig into it but it looks like some combinations of texture targets
>> and internal formats are generating errors.
>>
>> Is that something you can investigate?
> Following cases are failing on NVIDIA proprietary drivers (OpenGL
> 3.3.0 NVIDIA 295.53 ):
> - GL_TEXTURE_1D with all internal formats. No GL error is generated.
> All these cases pass on i965 drivers. Output color is:
> 0.000000 0.000000 0.000000 1.000000 with all formats.
> Seems like 1D textures are completely broken on NVIDIA in
> glCopyTexImage1D().
It looks like a line is being drawn to test the texture. Maybe the
glReadPixels is missing the line? Maybe try drawing a quad instead.
> - GL_TEXTURE_{1D, 2D}_ARRAY with all internal formats.
> GL_INVALID_ENUM is generated in glCopyTexSubImage{2D, 3D}
> respectively. As per OpenGL spec, this error is generated only in
> case of invalid texture target in glCopyTexSubImage{2D, 3D}.
> But, GL_TEXTURE_{1D, 2D}_ARRAY are allowed texture
> targets. So, it seems like array textures are not handled correctly
> by NVIDIA in glCopyTexSubImage{2D, 3D}.
Yeah, that sounds like a real bug.
-Brian
More information about the Piglit
mailing list