X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fmesa%2Fstate_tracker%2Fst_public.h;h=a5fdac32d1fd48bcefaff562b91c9f7ede580a25;hb=521dea21d46b4012653a4998d92ac0f6c0d1a8d4;hp=88995aa87475ba2b240080964e1512d777fb0368;hpb=0c31661e73dd2979df22a275452efc71c7064f81;p=mesa.git diff --git a/src/mesa/state_tracker/st_public.h b/src/mesa/state_tracker/st_public.h index 88995aa8747..a5fdac32d1f 100644 --- a/src/mesa/state_tracker/st_public.h +++ b/src/mesa/state_tracker/st_public.h @@ -53,6 +53,7 @@ struct st_framebuffer; struct pipe_context; struct pipe_fence_handle; struct pipe_surface; +struct pipe_texture; struct st_context *st_create_context(struct pipe_context *pipe, @@ -80,28 +81,35 @@ void st_set_framebuffer_surface(struct st_framebuffer *stfb, void st_get_framebuffer_dimensions( struct st_framebuffer *stfb, uint *width, uint *height); -struct pipe_surface *st_get_framebuffer_surface(struct st_framebuffer *stfb, - uint surfIndex); +int st_get_framebuffer_surface(struct st_framebuffer *stfb, + uint surfIndex, struct pipe_surface **surface); -struct pipe_texture *st_get_framebuffer_texture(struct st_framebuffer *stfb, - uint surfIndex); +int st_get_framebuffer_texture(struct st_framebuffer *stfb, + uint surfIndex, struct pipe_texture **texture); void *st_framebuffer_private( struct st_framebuffer *stfb ); void st_unreference_framebuffer( struct st_framebuffer *stfb ); -void st_make_current(struct st_context *st, - struct st_framebuffer *draw, - struct st_framebuffer *read); +GLboolean st_make_current(struct st_context *st, + struct st_framebuffer *draw, + struct st_framebuffer *read); + +struct st_context *st_get_current(void); void st_flush( struct st_context *st, uint pipeFlushFlags, struct pipe_fence_handle **fence ); void st_finish( struct st_context *st ); void st_notify_swapbuffers(struct st_framebuffer *stfb); -void st_notify_swapbuffers_complete(struct st_framebuffer *stfb); -int st_set_teximage(struct pipe_texture *pt, int target); +void st_swapbuffers(struct st_framebuffer *stfb, + struct pipe_surface **front_left, + struct pipe_surface **front_right); + +int st_bind_texture_surface(struct pipe_surface *ps, int target, int level, + enum pipe_format format); +int st_unbind_texture_surface(struct pipe_surface *ps, int target, int level); /** Redirect rendering into stfb's surface to a texture image */ int st_bind_teximage(struct st_framebuffer *stfb, uint surfIndex,