[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Public WebGL] questions about vertexAttribPointer / getVertexAttrib offsets

On Mon, Apr 23, 2012 at 12:56 PM, Benoit Jacob <bjacob@mozilla.com> wrote:

On Mon, Apr 23, 2012 at 12:06 PM, Boris Zbarsky <bzbarsky@mit.edu> wrote:
On 4/23/12 2:43 PM, Gregg Tavares (勤) wrote:
Doesn't that call fail per current spec because the offset (-1) is not a multiple of sizeof(float), independently of what negative offset handling looks like?  My Gecko build with the negative offset check in vertexAttribPointer removed passes this test, precisely for that reason:

 VertexAttribPointer: byteOffset doesn't satisfy the alignment requirement of given type @ https://cvs.khronos.org/svn/repos/registry/trunk/public/webgl/sdk/tests/conformance/more/util.js:965


To be clear

1) AFAICT OpenGL does not allow negative offsets

2) WebGL should not allow them either.


a) we should update the WebGL spec to make it clear negative offsets generate INVALID_VALUE


b) we should update the conformance tests to test that case.


I agree, except for 1): I don't see where the OpenGL spec forbids negative offsets.

How do you get a negative offset in OpenGL? The function takes a pointer, not an offset. To generate an offset the spec says "offset = pointer - NULL" which is always positive.
OK, I understand now. The OpenGL function takes an actual void*, not a GLintptr. That's where it differs from WebGL.


I agree that there doesn't seem to exist a valid use case for them. I would support forbidding negative offsets in WebGL for now, and having a conversation on that topic with the OpenGL WG.