[Piglit] [PATCH 3/6] fbo: Require ARB_texture_non_power_of_two in a test that doesn't strictly need it

Ian Romanick idr at freedesktop.org
Tue Oct 11 01:41:35 UTC 2016


On 10/10/2016 06:20 PM, Ian Romanick wrote:
> On 10/10/2016 04:02 PM, Ilia Mirkin wrote:
>> FWIW this already skips for nv3x:
>>
>> $ DISPLAY=:1 bin/fbo-depthtex -auto
>> FBO incomplete (status = 0x8cd6)
> 
> Which is GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT... because the textures
> that are attached to the FBO are invalid due to being created with
> non-power-of-two size.  It seems like this test should fail if there's a
> GL error after creating the textures.

Hmm... I also think we're being too lax most places with framebuffer
status.  There are tons of tests that skip of status !=
GL_FRAMEBUFFER_COMPLETE.  However, I think almost all of those should be
more like

    const GLenum status = glCheckFramebufferStatus(...);
    if (status == GL_FRAMEBUFFER_UNSUPPORTED)
        skip

    if (status != GL_FRAMEBUFFER_COMPLETE)
        error

The annoying thing about that is we also test a lot of things on EXT_fbo
that are only possible with ARB_fbo (e.g., all the tests that try
GL_LUMINANCE_ALPHA attachments).

Unless someone beats me to it, I might fix this up on my next
international flight... end of January.

>> PIGLIT: {"result": "skip" }
>>
>> On Mon, Oct 10, 2016 at 6:51 PM, Ian Romanick <idr at freedesktop.org> wrote:
>>> From: Ian Romanick <ian.d.romanick at intel.com>
>>>
>>> This test could be made to work without ARB_texture_non_power_of_two.
>>> However, it has a bunch of hardcoded pixel locations that would need to
>>> be updated for a new size.  I was lazy.  The only driver that I could
>>> find that supports the other requirements of this test (i.e.,
>>> ARB_fragment_program) and not ARB_texture_non_power_of_two is NV30.
>>>
>>> This /should/ make this test go from FAIL to SKIP on NV30, but I have
>>> not tested.  It should not affect any other driver.
>>>
>>> Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
>>> Cc: Ilia Mirkin <imirkin at alum.mit.edu>
>>> ---
>>>  tests/fbo/fbo-depthtex.c | 1 +
>>>  1 file changed, 1 insertion(+)
>>>
>>> diff --git a/tests/fbo/fbo-depthtex.c b/tests/fbo/fbo-depthtex.c
>>> index e60a532..e70c227 100644
>>> --- a/tests/fbo/fbo-depthtex.c
>>> +++ b/tests/fbo/fbo-depthtex.c
>>> @@ -160,4 +160,5 @@ void piglit_init(int argc, char **argv)
>>>  {
>>>         piglit_require_extension("GL_EXT_framebuffer_object");
>>>         piglit_require_extension("GL_ARB_fragment_program");
>>> +       piglit_require_extension("GL_ARB_texture_non_power_of_two");
>>>  }
>>> --
>>> 2.5.5
>>>
> 



More information about the Piglit mailing list