mesa/main: do not allow EXT_packed_float enums before gles3
[mesa.git] / src / mesa / main / dd.h
index 1b048d3ff8e8b19afa2f230b9934925de8bf3822..f14c3e04e91a89ad772533362ab7a5b329f537a0 100644 (file)
@@ -429,7 +429,8 @@ struct dd_function_table {
                           struct gl_renderbuffer *rb,
                           GLuint x, GLuint y, GLuint w, GLuint h,
                           GLbitfield mode,
-                          GLubyte **mapOut, GLint *rowStrideOut);
+                          GLubyte **mapOut, GLint *rowStrideOut,
+                          bool flip_y);
 
    void (*UnmapRenderbuffer)(struct gl_context *ctx,
                             struct gl_renderbuffer *rb);
@@ -1218,6 +1219,7 @@ struct dd_function_table {
    void (*GetProgramBinaryDriverSHA1)(struct gl_context *ctx, uint8_t *sha1);
 
    void (*ProgramBinarySerializeDriverBlob)(struct gl_context *ctx,
+                                            struct gl_shader_program *shProg,
                                             struct gl_program *prog);
 
    void (*ProgramBinaryDeserializeDriverBlob)(struct gl_context *ctx,
@@ -1282,6 +1284,21 @@ struct dd_function_table {
                                 struct gl_semaphore_object *semObj,
                                 int fd);
    /*@}*/
+
+   /**
+    * \name Disk shader cache functions
+    */
+   /*@{*/
+   /**
+    * Called to initialize gl_program::driver_cache_blob (and size) with a
+    * ralloc allocated buffer.
+    *
+    * This buffer will be saved and restored as part of the gl_program
+    * serialization and deserialization.
+    */
+   void (*ShaderCacheSerializeDriverBlob)(struct gl_context *ctx,
+                                          struct gl_program *prog);
+   /*@}*/
 };