st: expose KHR_blend_equation_advanced if PIPE_CAP_BLEND_EQUATION_ADVANCED
[mesa.git] / src / mesa / state_tracker / st_pbo.h
index fb1b737854507bf047331d626fc0efffee3229cc..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,10 @@ 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);
@@ -80,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);