On Wednesday 01 April 2015, Martin Peres wrote: > On 31/03/15 20:26, Fredrik Höglund wrote: > > This series adds piglit tests for the VAO portion of > > GL_ARB_direct_state_access. > > > > The tests are written so that they can be run against either the core > > or compatibility profiles. The exception is vao-core and vao-compatibility, > > which contain all the profile specific tests. > > > > Note that vao-attrib-format fails without this patch: > > http://patchwork.freedesktop.org/patch/44068 > > > > It would be interesting to know if the tests pass with NVIDIA's > > implementation, but I haven't been able to test that. > > I see the following warnings when compiling the patches:
I could have sworn I fixed those warnings before I sent the patches, but apparently I didn't. > Here is the result of the run on nvidia 346.35: http://pastebin.com/TGPzKpPG So here is my analysis of the failures: vao-attrib-binding probably fails because GetVertexArrayIndexediv does not accept VERTEX_ATTRIB_BINDING. The spec does indeed not list this as a valid parameter, but that's clearly an oversight. The vao-attrib-format failures are more complex. The specification specifies both INVALID_VALUE and INVALID_OPERATION for certain size errors: "An INVALID_VALUE error is generated if size is not one of the values shown in table 10.2 for the corresponding command." [...] An INVALID_OPERATION error is generated under any of the following conditions: • size is BGRA and type is not UNSIGNED_BYTE, INT_2_10_10_10_REV or UNSIGNED_INT_2_10_10_10_REV; • type is INT_2_10_10_10_REV or UNSIGNED_INT_2_10_10_10_- REV, and size is neither 4 nor BGRA; • type is UNSIGNED_INT_10F_11F_11F_REV and size is not 3; • size is BGRA and normalized is FALSE." So if <type> is INT_2_10_10_10_REV and <size> is 5, should the implementation generate INVALID_OPERATION? Or does INVALID_VALUE take precedence because 5 is not listed as a valid size in table 10.2? NVIDIA seems to have made the latter interpretation in this case. At the same time we see that VertexArrayAttribIFormat generates INVALID_OPERATION when <size> is BGRA and <type> is not one of the valid BGRA types. This even though BGRA is not a valid size for this command. vao-core fails because VertexArrayVertexBuffer only accepts existing buffer objects, while the spec says that "<buffer> is either zero or a name returned by GenBuffers or CreateBuffers." The GetVertexArrayiv test fails because it accepts VERTEX_BUFFER_BINDING. The spec says that "<pname> must be ELEMENT_ARRAY_BUFFER_BINDING". The GetVertexArrayIndexediv test fails for the same reason as the vao-attrib-binding test; There are a number of vertex attrib and binding parameters that are not listed as valid parameters in the specification. We need a file a bug report about this with Khronos. Fredrik _______________________________________________ Piglit mailing list Piglit@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/piglit