gallium: add get_disk_shader_cache() callback
authorTimothy Arceri <tarceri@itsqueeze.com>
Sun, 19 Feb 2017 22:29:01 +0000 (09:29 +1100)
committerTimothy Arceri <tarceri@itsqueeze.com>
Wed, 22 Feb 2017 22:20:22 +0000 (09:20 +1100)
V2: Provide more detail in callback description and add description to
    screen.rst

Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
src/gallium/docs/source/screen.rst
src/gallium/include/pipe/p_screen.h

index 74c8ceca20fddb18d5ef39807d435ce4169d0345..858eb9f9100d31f6d0c30cac91a1d7dcebcb69a7 100644 (file)
@@ -763,6 +763,16 @@ The driver-specific query group is described with the
 pipe_driver_query_group_info structure.
 
 
+
+get_disk_shader_cache
+^^^^^^^^^^^^^^^^^^^^^
+
+Returns a pointer to a driver-specific on-disk shader cache. If the driver
+failed to create the cache or does not support an on-disk shader cache NULL is
+returned. The callback itself may also be NULL if the driver doesn't support
+an on-disk shader cache.
+
+
 Thread safety
 -------------
 
index b6203f1da0c2eac5ed61b1d3d47f71696bac889e..eb2ac65ea4a2b3a2d55ec01676a8f082579a8583 100644 (file)
@@ -58,6 +58,7 @@ struct pipe_surface;
 struct pipe_transfer;
 struct pipe_box;
 struct pipe_memory_info;
+struct disk_cache;
 
 
 /**
@@ -318,6 +319,14 @@ struct pipe_screen {
    const void *(*get_compiler_options)(struct pipe_screen *screen,
                                       enum pipe_shader_ir ir,
                                       unsigned shader);
+
+   /**
+    * Returns a pointer to a driver-specific on-disk shader cache. If the
+    * driver failed to create the cache or does not support an on-disk shader
+    * cache NULL is returned. The callback itself may also be NULL if the
+    * driver doesn't support an on-disk shader cache.
+    */
+   struct disk_cache *(*get_disk_shader_cache)(struct pipe_screen *screen);
 };