int32_t yoffset;
int32_t stride;
int32_t image_size;
+ int32_t layer_offset;
} constants;
};
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);
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);
+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);