[Bug 92363] [BSW/BDW] ogles1conform Gets test fails

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Fri Nov 6 10:59:20 PST 2015


https://bugs.freedesktop.org/show_bug.cgi?id=92363

--- Comment #7 from Ian Romanick <idr at freedesktop.org> ---
As this gets fixed, we'll need a set of piglit tests targeted at this problem. 
Each meta operation needs to be verified against each type of object that can
have user-defined names.  Each individual test should flow like:

    glSomeOperation();

    for (i = 1; i < 15; i++)
        create_and_fill_data_in_object(i);

    glSomeOperation();

    for (i = 1; i < 15; i++)
        verify_data_in_object(i);

Using a couple tables of function pointers should make a general test runner
failry straight forward.  It should also make it easy to extend to future meta
operations.

struct gl_operation operations[] = {
    { "glClear", do_glClear },
    { "glBitmap", do_glBitmap },
    // ...
};

struct gl_oject_types object_types[] = {
    { "buffer", create_buffer_object, verify_buffer_object },
    { "texture", create_texture, verify_texture },
    // ...
};

My preference would be to land the tests piece by piece.  Have one patch that
adds the framework, a single object type, and a single meta operation.  This
would be followed by patches for each object type, and those would be followed
by patches for each additional meta operation.  That should make the whole
thing easier to review.

The framework should allow individual tests to be run:

./meta_versus_Gen glClear texture

The following object types, in priority order) need to be tested:

 - buffer object
 - texture
 - sampler
 - framebuffer
 - renderbuffer
 - vertex program (from GL_ARB_vertex_program)
 - fragment program (from GL_ARB_fragment_program)
 - vertex array object (from GL_APPLE_vertex_array_object)
 - fragment shaders (from GL_ATI_fragment_shader)
 - queries (this will be tricky... leave until last)

Many object types (ARB vertex array objects, transform feedback objects,
program pipeline objects, GLSL shader / program objects, Intel performance
query objects, etc.) do not need to be tested because user-defined names cannot
be used with those object types.

Some object types (NVIDIA or APPLE fences, EXT vertex shaders, NVIDIA transform
feedback objects) do not need to be tested because Mesa does not support them.

GL_AMD_performance_monitor does not specify whether or not Gen'ed names must be
used.

All the possible meta operations must be tested:

 - glClear
 - glBitmap
 - glBlitFramebuffer
 - glCopyImageSubData
 - glCopyPixels
 - glDrawPixels
 - glGenerateMipmap
 - glCopyTexSubImage
 - glClearTexSubImage
 - glTexSubImage (from a PBO)
 - glGetTexSubImage (to a PBO)
 - glDrawTex (OpenGL ES 1.1)

There may be others.  This was the list I found by looking at
src/mesa/drivers/common/meta.h.  There are some additional meta ops in the i965
driver.

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/intel-3d-bugs/attachments/20151106/9a707bdb/attachment.html>


More information about the intel-3d-bugs mailing list