<div class="gmail_extra"><br><br><div class="gmail_quote">On Mon, Apr 23, 2012 at 12:56 PM, Benoit Jacob <span dir="ltr"><<a href="mailto:bjacob@mozilla.com" target="_blank">bjacob@mozilla.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div><div style="font-size:12pt;font-family:times new roman,new york,times,serif"><br><br><hr><div><div class="h5"><blockquote style="padding-left:5px;font-size:12pt;font-style:normal;margin-left:5px;font-family:Helvetica,Arial,sans-serif;text-decoration:none;font-weight:normal;border-left:2px solid rgb(16,16,255)">
<div class="gmail_extra"><br><br><div class="gmail_quote">On Mon, Apr 23, 2012 at 12:06 PM, Boris Zbarsky <span dir="ltr"><<a href="mailto:bzbarsky@mit.edu" target="_blank">bzbarsky@mit.edu</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<div>On 4/23/12 2:43 PM, Gregg Tavares (勤) wrote:<br>
</div><div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
There's at least one negative offset test in<br>
<a href="https://cvs.khronos.org/svn/repos/registry/trunk/public/webgl/sdk/tests/conformance/more/functions/vertexAttribPointerBadArgs.html" target="_blank">https://cvs.khronos.org/svn/<u></u>repos/registry/trunk/public/<u></u>webgl/sdk/tests/conformance/<u></u>more/functions/<u></u>vertexAttribPointerBadArgs.<u></u>html</a><br>


</blockquote>
<br></div>
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:<br>


<br>
  VertexAttribPointer: byteOffset doesn't satisfy the alignment requirement of given type @ <a href="https://cvs.khronos.org/svn/repos/registry/trunk/public/webgl/sdk/tests/conformance/more/util.js:965" target="_blank">https://cvs.khronos.org/svn/<u></u>repos/registry/trunk/public/<u></u>webgl/sdk/tests/conformance/<u></u>more/util.js:965</a><span><font color="#888888"><br>


<br>
-Boris<br>
</font></span></blockquote></div><br></div><div class="gmail_extra">To be clear</div><div class="gmail_extra"><br></div><div class="gmail_extra">1) AFAICT OpenGL does not allow negative offsets</div><div class="gmail_extra">

<br></div><div class="gmail_extra">2) WebGL should not allow them either.</div><div class="gmail_extra"><br></div><div class="gmail_extra">So,</div><div class="gmail_extra"><br></div><div class="gmail_extra">a) we should update the WebGL spec to make it clear negative offsets generate INVALID_VALUE</div>

<div class="gmail_extra"><br></div><div class="gmail_extra">and </div><div class="gmail_extra"><br></div><div class="gmail_extra">b) we should update the conformance tests to test that case.</div><div class="gmail_extra">

<br></div><div class="gmail_extra">Agree?</div></blockquote><br></div></div>I agree, except for 1): I don't see where the OpenGL spec forbids negative offsets. </div></div></blockquote><div><br></div><div>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.</div>
<div><br></div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div style="font-size:12pt;font-family:times new roman,new york,times,serif">
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.<span class="HOEnZb"><font color="#888888"><br>
<br>Benoit<br><br><blockquote style="padding-left:5px;font-size:12pt;font-style:normal;margin-left:5px;font-family:Helvetica,Arial,sans-serif;text-decoration:none;font-weight:normal;border-left:2px solid rgb(16,16,255)"><div class="gmail_extra">
</div>
</blockquote><br></font></span></div></div></blockquote></div><br></div>