<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Feb 16, 2015 at 6:14 AM, Martin Peres <span dir="ltr"><<a href="mailto:martin.peres@linux.intel.com" target="_blank">martin.peres@linux.intel.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">v2: Review from Laura Ekstrand<br>
- use the transform feedback object lookup wrapper<br>
<br>
v3:<br>
- use the new name of _mesa_lookup_transform_feedback_object_err<br>
<br>
Signed-off-by: Martin Peres <<a href="mailto:martin.peres@linux.intel.com">martin.peres@linux.intel.com</a>><br>
---<br>
 src/mapi/glapi/gen/ARB_direct_state_access.xml |  7 ++++++<br>
 src/mesa/main/tests/dispatch_sanity.cpp        |  1 +<br>
 src/mesa/main/transformfeedback.c              | 32 ++++++++++++++++++++++++++<br>
 src/mesa/main/transformfeedback.h              |  4 ++++<br>
 4 files changed, 44 insertions(+)<br>
<br>
diff --git a/src/mapi/glapi/gen/ARB_direct_state_access.xml b/src/mapi/glapi/gen/ARB_direct_state_access.xml<br>
index 935e088..340dbba 100644<br>
--- a/src/mapi/glapi/gen/ARB_direct_state_access.xml<br>
+++ b/src/mapi/glapi/gen/ARB_direct_state_access.xml<br>
@@ -41,6 +41,13 @@<br>
       <param name="param" type="GLint *" /><br>
    </function><br>
<br>
+   <function name="GetTransformFeedbacki64_v" offset="assign"><br>
+      <param name="xfb" type="GLuint" /><br>
+      <param name="pname" type="GLenum" /><br>
+      <param name="index" type="GLuint" /><br>
+      <param name="param" type="GLint64 *" /><br>
+   </function><br>
+<br>
    <!-- Texture object functions --><br>
<br>
    <function name="CreateTextures" offset="assign"><br>
diff --git a/src/mesa/main/tests/dispatch_sanity.cpp b/src/mesa/main/tests/dispatch_sanity.cpp<br>
index d5535e9..ad5da83 100644<br>
--- a/src/mesa/main/tests/dispatch_sanity.cpp<br>
+++ b/src/mesa/main/tests/dispatch_sanity.cpp<br>
@@ -960,6 +960,7 @@ const struct function gl_core_functions_possible[] = {<br>
    { "glTransformFeedbackBufferRange", 45, -1 },<br>
    { "glGetTransformFeedbackiv", 45, -1 },<br>
    { "glGetTransformFeedbacki_v", 45, -1 },<br>
+   { "glGetTransformFeedbacki64_v", 45, -1 },<br>
    { "glCreateTextures", 45, -1 },<br>
    { "glTextureStorage1D", 45, -1 },<br>
    { "glTextureStorage2D", 45, -1 },<br>
diff --git a/src/mesa/main/transformfeedback.c b/src/mesa/main/transformfeedback.c<br>
index ce9a6d4..0b6d04b 100644<br>
--- a/src/mesa/main/transformfeedback.c<br>
+++ b/src/mesa/main/transformfeedback.c<br>
@@ -1257,3 +1257,35 @@ _mesa_GetTransformFeedbacki_v(GLuint xfb, GLenum pname, GLuint index,<br>
                   "glGetTransformFeedbacki_v(pname=%i)", pname);<br>
    }<br>
 }<br>
+<br>
+extern void GLAPIENTRY<br>
+_mesa_GetTransformFeedbacki64_v(GLuint xfb, GLenum pname, GLuint index,<br>
+                              GLint64 *param)<br></blockquote><div>There's an indentation problem here ^^^ <br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
+{<br>
+   struct gl_transform_feedback_object *obj;<br>
+   GET_CURRENT_CONTEXT(ctx);<br>
+<br>
+   obj = lookup_transform_feedback_object_err(ctx, xfb,<br>
+                                              "glGetTransformFeedbacki64_v");<br>
+   if(!obj) {<br>
+      return;<br>
+   }<br>
+<br>
+   if (index >= ctx->Const.MaxTransformFeedbackBuffers) {<br>
+      _mesa_error(ctx, GL_INVALID_VALUE,<br>
+                  "glGetTransformFeedbacki64_v(index=%i)", index);<br>
+      return;<br>
+   }<br>
+<br>
+   switch(pname) {<br>
+   case GL_TRANSFORM_FEEDBACK_BUFFER_START:<br>
+      *param = obj->Offset[index];<br>
+      break;<br>
+   case GL_TRANSFORM_FEEDBACK_BUFFER_SIZE:<br>
+      *param = obj->RequestedSize[index];<br>
+      break;<br>
+   default:<br>
+      _mesa_error(ctx, GL_INVALID_ENUM,<br>
+                  "glGetTransformFeedbacki64_v(pname=%i)", pname);<br>
+   }<br>
+}<br>
diff --git a/src/mesa/main/transformfeedback.h b/src/mesa/main/transformfeedback.h<br>
index 9936c68..3d21779 100644<br>
--- a/src/mesa/main/transformfeedback.h<br>
+++ b/src/mesa/main/transformfeedback.h<br>
@@ -162,4 +162,8 @@ extern void GLAPIENTRY<br>
 _mesa_GetTransformFeedbacki_v(GLuint xfb, GLenum pname, GLuint index,<br>
                               GLint *param);<br>
<br>
+extern void GLAPIENTRY<br>
+_mesa_GetTransformFeedbacki64_v(GLuint xfb, GLenum pname, GLuint index,<br>
+                              GLint64 *param);<br></blockquote><div>And the same problem here ^^^ <br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
+<br>
 #endif /* TRANSFORM_FEEDBACK_H */<br>
<span class="HOEnZb"><font color="#888888">--<br>
2.3.0<br>
<br>
_______________________________________________<br>
mesa-dev mailing list<br>
<a href="mailto:mesa-dev@lists.freedesktop.org">mesa-dev@lists.freedesktop.org</a><br>
<a href="http://lists.freedesktop.org/mailman/listinfo/mesa-dev" target="_blank">http://lists.freedesktop.org/mailman/listinfo/mesa-dev</a><br></font></span></blockquote><div><br></div><div>With that fixed,<br><br></div><div>Reviewed-by: Laura Ekstrand <<a href="mailto:laura@jlekstrand.net">laura@jlekstrand.net</a>> <br></div></div><br></div></div>