Merge remote branch 'origin/master' into lp-binning
[mesa.git] / src / gallium / auxiliary / util / u_timed_winsys.c
index c5797f5d63402d863f91e6f438ef5e15c1344e2b..178acdca4dff0664181f64b8978c7b9896dd392a 100644 (file)
@@ -29,7 +29,8 @@
  * Authors: Keith Whitwell <keithw-at-tungstengraphics-dot-com>
  */
 
-#include "pipe/p_winsys.h"
+#include "pipe/p_state.h"
+#include "pipe/internal/p_winsys_screen.h"
 #include "u_timed_winsys.h"
 #include "util/u_memory.h"
 #include "util/u_time.h"
@@ -122,7 +123,7 @@ timed_buffer_create(struct pipe_winsys *winsys,
    uint64_t start = time_start();
 
    struct pipe_buffer *buf =
-      backend->_buffer_create( backend, alignment, usage, size );
+      backend->buffer_create( backend, alignment, usage, size );
 
    time_finish(winsys, start, 0, __FUNCTION__);
    
@@ -140,7 +141,7 @@ timed_user_buffer_create(struct pipe_winsys *winsys,
    struct pipe_winsys *backend = timed_winsys(winsys)->backend;
    uint64_t start = time_start();
 
-   struct pipe_buffer *buf = backend->_user_buffer_create( backend, data, bytes );
+   struct pipe_buffer *buf = backend->user_buffer_create( backend, data, bytes );
 
    time_finish(winsys, start, 1, __FUNCTION__);
    
@@ -156,7 +157,7 @@ timed_buffer_map(struct pipe_winsys *winsys,
    struct pipe_winsys *backend = timed_winsys(winsys)->backend;
    uint64_t start = time_start();
 
-   void *map = backend->_buffer_map( backend, buf, flags );
+   void *map = backend->buffer_map( backend, buf, flags );
 
    time_finish(winsys, start, 2, __FUNCTION__);
    
@@ -171,20 +172,20 @@ timed_buffer_unmap(struct pipe_winsys *winsys,
    struct pipe_winsys *backend = timed_winsys(winsys)->backend;
    uint64_t start = time_start();
 
-   backend->_buffer_unmap( backend, buf );
+   backend->buffer_unmap( backend, buf );
 
    time_finish(winsys, start, 3, __FUNCTION__);
 }
 
 
 static void
-timed_buffer_destroy(struct pipe_winsys *winsys,
-                         struct pipe_buffer *buf)
+timed_buffer_destroy(struct pipe_buffer *buf)
 {
+   struct pipe_winsys *winsys = buf->screen->winsys;
    struct pipe_winsys *backend = timed_winsys(winsys)->backend;
    uint64_t start = time_start();
 
-   backend->_buffer_destroy( backend, buf );
+   backend->buffer_destroy( buf );
 
    time_finish(winsys, start, 4, __FUNCTION__);
 }
@@ -211,13 +212,14 @@ timed_surface_buffer_create(struct pipe_winsys *winsys,
                               unsigned width, unsigned height,
                               enum pipe_format format, 
                               unsigned usage,
+                              unsigned tex_usage,
                               unsigned *stride)
 {
    struct pipe_winsys *backend = timed_winsys(winsys)->backend;
    uint64_t start = time_start();
 
-   struct pipe_buffer *ret = backend->_surface_buffer_create( backend, width, height, 
-                                                             format, usage, stride );
+   struct pipe_buffer *ret = backend->surface_buffer_create( backend, width, height, 
+                                                             format, usage, tex_usage, stride );
 
    time_finish(winsys, start, 7, __FUNCTION__);
    
@@ -296,12 +298,12 @@ struct pipe_winsys *u_timed_winsys_create( struct pipe_winsys *backend )
 {
    struct timed_winsys *ws = CALLOC_STRUCT(timed_winsys);
    
-   ws->base._user_buffer_create = timed_user_buffer_create;
-   ws->base._buffer_map = timed_buffer_map;
-   ws->base._buffer_unmap = timed_buffer_unmap;
-   ws->base._buffer_destroy = timed_buffer_destroy;
-   ws->base._buffer_create = timed_buffer_create;
-   ws->base._surface_buffer_create = timed_surface_buffer_create;
+   ws->base.user_buffer_create = timed_user_buffer_create;
+   ws->base.buffer_map = timed_buffer_map;
+   ws->base.buffer_unmap = timed_buffer_unmap;
+   ws->base.buffer_destroy = timed_buffer_destroy;
+   ws->base.buffer_create = timed_buffer_create;
+   ws->base.surface_buffer_create = timed_surface_buffer_create;
    ws->base.flush_frontbuffer = timed_flush_frontbuffer;
    ws->base.get_name = timed_get_name;
    ws->base.fence_reference = timed_fence_reference;