glthread: add support for glMemoryObjectParameteriv, glSemaphoreParameterui64v
[mesa.git] / src / mesa / main / marshal.h
index fc69f2704b8ae1f149e3235622d239a7e41eecdc..5754d66f6e608e3c21c787437ec4cbe71d4e95ff 100644 (file)
@@ -404,4 +404,97 @@ _mesa_texgen_enum_to_count(GLenum pname)
    }
 }
 
+static inline unsigned
+_mesa_material_enum_to_count(GLenum pname)
+{
+   switch (pname) {
+   case GL_EMISSION:
+   case GL_AMBIENT:
+   case GL_DIFFUSE:
+   case GL_SPECULAR:
+   case GL_AMBIENT_AND_DIFFUSE:
+      return 4;
+   case GL_COLOR_INDEXES:
+      return 3;
+   case GL_SHININESS:
+      return 1;
+   default:
+      return 0;
+   }
+}
+
+static inline unsigned
+_mesa_point_param_enum_to_count(GLenum pname)
+{
+   switch (pname) {
+   case GL_DISTANCE_ATTENUATION_EXT:
+      return 3;
+   case GL_POINT_SIZE_MIN_EXT:
+   case GL_POINT_SIZE_MAX_EXT:
+   case GL_POINT_FADE_THRESHOLD_SIZE_EXT:
+   case GL_POINT_SPRITE_R_MODE_NV:
+   case GL_POINT_SPRITE_COORD_ORIGIN:
+      return 1;
+   default:
+      return 0;
+   }
+}
+
+static inline unsigned
+_mesa_calllists_enum_to_count(GLenum type)
+{
+   switch (type) {
+   case GL_BYTE:
+   case GL_UNSIGNED_BYTE:
+      return 1;
+   case GL_SHORT:
+   case GL_UNSIGNED_SHORT:
+   case GL_2_BYTES:
+      return 2;
+   case GL_3_BYTES:
+      return 3;
+   case GL_INT:
+   case GL_UNSIGNED_INT:
+   case GL_FLOAT:
+   case GL_4_BYTES:
+      return 4;
+   default:
+      return 0;
+   }
+}
+
+static inline unsigned
+_mesa_patch_param_enum_to_count(GLenum pname)
+{
+   switch (pname) {
+   case GL_PATCH_DEFAULT_OUTER_LEVEL:
+      return 4;
+   case GL_PATCH_DEFAULT_INNER_LEVEL:
+      return 2;
+   default:
+      return 0;
+   }
+}
+
+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 */