mesa: Add QueryInternalFormat to device driver virtual table
authorEduardo Lima Mitev <elima@igalia.com>
Tue, 27 Oct 2015 14:18:45 +0000 (15:18 +0100)
committerEduardo Lima Mitev <elima@igalia.com>
Thu, 3 Mar 2016 14:14:05 +0000 (15:14 +0100)
This new function queries different driver parameters for a particular target
and texture format. It is basically a driver hook to support
ARB_internalformat_query2.

Since ARB_internalformat_query2 introduced several new query parameters
over ARB_internalformat_query, having one driver hook for each parameter
is no longer feasible. So this is the generic entry-point for calls
to glGetInternalFormativ and glGetInternalFormati64v.

Reviewed-by: Dave Airlie <airlied@redhat.com>
src/mesa/main/dd.h

index 3f5aa5db051c1d5c327e8c25d8bc0c4f0965db9d..2f151c2965492eff0381e6ff77587bc28acb7d70 100644 (file)
@@ -201,6 +201,26 @@ struct dd_function_table {
                                    GLenum internalFormat,
                                    int samples[16]);
 
+   /**
+    * Queries different driver parameters for a particular target and format.
+    * Since ARB_internalformat_query2 introduced several new query parameters
+    * over ARB_internalformat_query, having one driver hook for each parameter
+    * is no longer feasible. So this is the generic entry-point for calls
+    * to glGetInternalFormativ and glGetInternalFormati64v, after Mesa has
+    * checked errors and default values.
+    *
+    * \param ctx            GL context
+    * \param target         GL target enum
+    * \param internalFormat GL format enum
+    * \param pname          GL enum that specifies the info to query.
+    * \param params         Buffer to hold the result of the query.
+    */
+   void (*QueryInternalFormat)(struct gl_context *ctx,
+                               GLenum target,
+                               GLenum internalFormat,
+                               GLenum pname,
+                               GLint *params);
+
    /**
     * Called by glTexImage[123]D() and glCopyTexImage[12]D()
     * Allocate texture memory and copy the user's image to the buffer.