diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/mesa/pipe/p_winsys.h | 34 | 
1 files changed, 23 insertions, 11 deletions
| diff --git a/src/mesa/pipe/p_winsys.h b/src/mesa/pipe/p_winsys.h index 2aac403c20..f2be7655f4 100644 --- a/src/mesa/pipe/p_winsys.h +++ b/src/mesa/pipe/p_winsys.h @@ -42,6 +42,13 @@  /** Opaque type for a buffer */  struct pipe_buffer_handle; +/** Opaque type */ +struct pipe_fence_handle; + +struct pipe_region; +struct pipe_surface; + +  /**   * Gallium3D drivers are (meant to be!) independent of both GL and the   * window system.  The window system provides a buffer manager and a @@ -52,15 +59,6 @@ struct pipe_buffer_handle;   * driver and the hardware driver about the format of command buffers,   * etc.   */ - - -struct pipe_region; -struct pipe_surface; - -/** Opaque type */ -struct pipe_buffer_handle; -struct pipe_fence_handle; -  struct pipe_winsys  {     /** Returns name of this winsys interface */ @@ -97,6 +95,7 @@ struct pipe_winsys     void (*surface_release)(struct pipe_winsys *ws, struct pipe_surface **s); +        /**      * The buffer manager is modeled after the dri_bufmgr interface, which       * in turn is modeled after the ARB_vertex_buffer_object extension,   @@ -115,7 +114,6 @@ struct pipe_winsys                                                      void *ptr,                                                      unsigned bytes); -     /**       * Map the entire data store of a buffer object into the client's address.      * flags is bitmask of PIPE_BUFFER_FLAG_READ/WRITE.  @@ -169,15 +167,29 @@ struct pipe_winsys                               void *data); +   /** Set ptr = buf, with reference counting */     void (*fence_reference)( struct pipe_winsys *sws,                              struct pipe_fence_handle **ptr,                              struct pipe_fence_handle *fence ); +   /** +    * Checks whether the fence has been signalled. +    *   +    * The meaning of flag is pipe-driver specific. +    * +    * Returns zero if it has. +    */     int (*fence_signalled)( struct pipe_winsys *sws,                             struct pipe_fence_handle *fence,                             unsigned flag ); - +   /** +    * Wait for the fence to finish. +    *  +    * The meaning of flag is pipe-driver specific. +    *  +    * Returns zero on success. +    */     int (*fence_finish)( struct pipe_winsys *sws,                          struct pipe_fence_handle *fence,                          unsigned flag ); | 
