glthread: add support for glMemoryObjectParameteriv, glSemaphoreParameterui64v
authorMarek Olšák <marek.olsak@amd.com>
Thu, 20 Feb 2020 03:15:51 +0000 (22:15 -0500)
committerMarge Bot <eric+marge@anholt.net>
Fri, 6 Mar 2020 01:06:14 +0000 (01:06 +0000)
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3948>

src/mapi/glapi/gen/EXT_external_objects.xml
src/mesa/main/marshal.h

index ebcf6d7..d8e4f9a 100644 (file)
@@ -55,7 +55,7 @@
     <function name="MemoryObjectParameterivEXT" es2="3.2">
         <param name="memoryObject" type="GLuint"/>
         <param name="pname" type="GLenum"/>
-        <param name="params" type="const GLint *"/>
+        <param name="params" type="const GLint *" count="_mesa_memobj_enum_to_count(pname)"/>
     </function>
 
     <function name="GetMemoryObjectParameterivEXT" es2="3.2">
     <function name="SemaphoreParameterui64vEXT" es2="3.2">
         <param name="semaphore" type="GLuint"/>
         <param name="pname" type="GLenum"/>
-        <param name="params" type="const GLuint64 *"/>
+        <param name="params" type="const GLuint64 *" count="_mesa_semaphore_enum_to_count(pname)"/>
     </function>
 
     <function name="GetSemaphoreParameterui64vEXT" es2="3.2">
index 350e7c4..5754d66 100644 (file)
@@ -476,4 +476,25 @@ _mesa_patch_param_enum_to_count(GLenum pname)
    }
 }
 
+static inline unsigned
+_mesa_memobj_enum_to_count(GLenum pname)
+{
+   switch (pname) {
+   case GL_DEDICATED_MEMORY_OBJECT_EXT:
+      return 1;
+   default:
+      return 0;
+   }
+}
+
+static inline unsigned
+_mesa_semaphore_enum_to_count(GLenum pname)
+{
+   switch (pname) {
+   /* EXT_semaphore and EXT_semaphore_fd define no parameters */
+   default:
+      return 0;
+   }
+}
+
 #endif /* MARSHAL_H */