drirc: add allow_higher_compat_version for Crookz - The Big Heist
[mesa.git] / src / mesa / state_tracker / st_pbo.h
index 392278e8f9d61f3146885dd7db8c28a7cced76f9..54ae7768b4f233383d8e397743eb9191eb06aeee 100644 (file)
@@ -54,6 +54,7 @@ struct st_pbo_addresses {
       int32_t yoffset;
       int32_t stride;
       int32_t image_size;
+      int32_t layer_offset;
    } constants;
 };
 
@@ -69,6 +70,14 @@ st_pbo_addresses_pixelstore(struct st_context *st,
                             const void *pixels,
                             struct st_pbo_addresses *addr);
 
+void
+st_pbo_addresses_invert_y(struct st_pbo_addresses *addr,
+                          unsigned viewport_height);
+
+bool
+st_pbo_draw(struct st_context *st, const struct st_pbo_addresses *addr,
+            unsigned surface_width, unsigned surface_height);
+
 void *
 st_pbo_create_vs(struct st_context *st);
 
@@ -76,7 +85,14 @@ void *
 st_pbo_create_gs(struct st_context *st);
 
 void *
-st_pbo_create_upload_fs(struct st_context *st);
+st_pbo_get_upload_fs(struct st_context *st,
+                     enum pipe_format src_format,
+                     enum pipe_format dst_format);
+
+void *
+st_pbo_get_download_fs(struct st_context *st, enum pipe_texture_target target,
+                       enum pipe_format src_format,
+                       enum pipe_format dst_format);
 
 extern void
 st_init_pbo_helpers(struct st_context *st);