<div dir="ltr"><div dir="ltr">Hello,<div>thanks for looking on that.</div><div>Will update after any answer on <a href="https://github.com/KhronosGroup/OpenGL-API/issues/41">https://github.com/KhronosGroup/OpenGL-API/issues/41</a></div><div>Hope that is correct place for such things.</div></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Sep 13, 2018 at 4:57 AM, Timothy Arceri <span dir="ltr"><<a href="mailto:tarceri@itsqueeze.com" target="_blank">tarceri@itsqueeze.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb"><div class="h5">On 13/9/18 12:44 am, Brian Paul wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
On 09/12/2018 07:30 AM, Sergii Romantsov wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Specification doesn't define behaviour for rotation of 0-vector.<br>
But <a href="http://khronos.org" rel="noreferrer" target="_blank">khronos.org</a> says that vector has to be normalized.<br>
As workaround assumed that for 0-vector x-position will be<br>
defined as 1.0f.<br>
<br>
Bugzilla: <a href="https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fbugs.freedesktop.org%2Fshow_bug.cgi%3Fid%3D100960&amp;data=02%7C01%7Cbrianp%40vmware.com%7Cfde139ec0f4448b8090d08d618b3f0ce%7Cb39138ca3cee4b4aa4d6cd83d9dd62f0%7C1%7C0%7C636723558454036605&amp;sdata=IAlt%2FkpHJyb5JHRYaOTfhf5v9V7Xl5iQBNBdqe2PHQs%3D&amp;reserved=0" rel="noreferrer" target="_blank">https://na01.safelinks.protect<wbr>ion.outlook.com/?url=https%3A%<wbr>2F%2Fbugs.freedesktop.org%<wbr>2Fshow_bug.cgi%3Fid%3D100960&<wbr>amp;data=02%7C01%7Cbrianp%<wbr>40vmware.com%7Cfde139ec0f4448b<wbr>8090d08d618b3f0ce%7Cb39138ca3c<wbr>ee4b4aa4d6cd83d9dd62f0%7C1%<wbr>7C0%7C636723558454036605&amp;s<wbr>data=IAlt%2FkpHJyb5JHRYaOTfhf5<wbr>v9V7Xl5iQBNBdqe2PHQs%3D&amp;<wbr>reserved=0</a> <br>
Signed-off-by: Sergii Romantsov <<a href="mailto:sergii.romantsov@globallogic.com" target="_blank">sergii.romantsov@globallogic.<wbr>com</a>><br>
---<br>
  src/mesa/main/matrix.c | 5 +++++<br>
  1 file changed, 5 insertions(+)<br>
<br>
diff --git a/src/mesa/main/matrix.c b/src/mesa/main/matrix.c<br>
index 8065a83..631b203 100644<br>
--- a/src/mesa/main/matrix.c<br>
+++ b/src/mesa/main/matrix.c<br>
@@ -415,6 +415,11 @@ _mesa_Rotatef( GLfloat angle, GLfloat x, GLfloat y, GLfloat z )<br>
     FLUSH_VERTICES(ctx, 0);<br>
     if (angle != 0.0F) {<br>
+      /* <a href="http://khronos.org" rel="noreferrer" target="_blank">khronos.org</a> says that ||( x,y,z )|| = 1 (if not, the GL will normalize this vector)<br>
+      * So that is kind of workaround for empty-vectors.<br>
+      * */<br>
</blockquote>
<br>
Comment style should be:<br>
<br>
/* <a href="http://khronos.org" rel="noreferrer" target="_blank">khronos.org</a> says ...<br>
  * So that ...<br>
  */<br>
</blockquote>
<br></div></div>
Thanks for looking into the bug. However the api docs shouldn't be quoted. They are unversioned, are at times wrong and should not be used as a definative source when making changes or implementing features. Please only quote and use the spec for such things.<span class=""><br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
You might also note the bug number in the code in case anyone wonders what app would hit this.<br>
<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
+      if (x == 0 && y == 0 && z == 0)<br>
+         x = 1.0f;<br>
</blockquote></blockquote>
<br></span>
If the spec doesn't define behavior we should probably file a bug against the compatibility spec rather than assuming things. Clearly recording the problem (including applications it appears in), specifying the current behaviors in other drivers and proposing updated wording to the spec is usually the fastest way to resolve this type of thing.<br>
<br>
Also if this were the correct change it should be made in _math_matrix_rotate() this change will make some of the existing code there unreachable.<br>
<br>
Finally it would be a good idea to have a piglit test for this once any spec clarification is done.<div class="HOEnZb"><div class="h5"><br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
You may as well use 0.0f in the test too, just to be sure no silly int/float/double conversion happens.<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
        _math_matrix_rotate( ctx->CurrentStack->Top, angle, x, y, z);<br>
        ctx->NewState |= ctx->CurrentStack->DirtyFlag;<br>
     }<br>
<br>
</blockquote>
<br>
-Brian<br>
<br>
______________________________<wbr>_________________<br>
mesa-dev mailing list<br>
<a href="mailto:mesa-dev@lists.freedesktop.org" target="_blank">mesa-dev@lists.freedesktop.org</a><br>
<a href="https://lists.freedesktop.org/mailman/listinfo/mesa-dev" rel="noreferrer" target="_blank">https://lists.freedesktop.org/<wbr>mailman/listinfo/mesa-dev</a><br>
</blockquote>
______________________________<wbr>_________________<br>
mesa-dev mailing list<br>
<a href="mailto:mesa-dev@lists.freedesktop.org" target="_blank">mesa-dev@lists.freedesktop.org</a><br>
<a href="https://lists.freedesktop.org/mailman/listinfo/mesa-dev" rel="noreferrer" target="_blank">https://lists.freedesktop.org/<wbr>mailman/listinfo/mesa-dev</a><br>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div dir="ltr">Sergii Romantsov<br></div><div dir="ltr"><div style="margin:0px;padding:0px;color:rgb(23,43,77);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,"Fira Sans","Droid Sans","Helvetica Neue",sans-serif;font-size:14px">GlobalLogic Inc.<br><a href="http://www.globallogic.com/" rel="nofollow" style="color:rgb(0,82,204)" target="_blank">www.globallogic.com</a><br></div></div></div></div></div></div>
</div>