Go to the source code of this file.
Functions | |
struct pipe_winsys * | create_sw_winsys (void) |
Create/return a new pipe_winsys object. |
struct pipe_winsys* create_sw_winsys | ( | void | ) | [read] |
Create/return a new pipe_winsys object.
Definition at line 256 of file sw_winsys.c.
References sw_pipe_winsys::Base, buffer_create(), pipe_winsys::buffer_create, buffer_destroy(), pipe_winsys::buffer_destroy, buffer_map(), pipe_winsys::buffer_map, buffer_unmap(), pipe_winsys::buffer_unmap, CALLOC_STRUCT, fence_finish(), pipe_winsys::fence_finish, fence_reference(), pipe_winsys::fence_reference, fence_signalled(), pipe_winsys::fence_signalled, pipe_winsys::flush_frontbuffer, get_name(), pipe_winsys::get_name, surface_alloc(), pipe_winsys::surface_alloc, surface_alloc_storage(), pipe_winsys::surface_alloc_storage, surface_release(), pipe_winsys::surface_release, user_buffer_create(), and pipe_winsys::user_buffer_create.
00257 { 00258 struct sw_pipe_winsys *ws = CALLOC_STRUCT(sw_pipe_winsys); 00259 if (!ws) 00260 return NULL; 00261 00262 /* Fill in this struct with callbacks that pipe will need to 00263 * communicate with the window system, buffer manager, etc. 00264 */ 00265 ws->Base.buffer_create = buffer_create; 00266 ws->Base.user_buffer_create = user_buffer_create; 00267 ws->Base.buffer_map = buffer_map; 00268 ws->Base.buffer_unmap = buffer_unmap; 00269 ws->Base.buffer_destroy = buffer_destroy; 00270 00271 ws->Base.surface_alloc = surface_alloc; 00272 ws->Base.surface_alloc_storage = surface_alloc_storage; 00273 ws->Base.surface_release = surface_release; 00274 00275 ws->Base.fence_reference = fence_reference; 00276 ws->Base.fence_signalled = fence_signalled; 00277 ws->Base.fence_finish = fence_finish; 00278 00279 ws->Base.flush_frontbuffer = NULL; /* not implemented here! */ 00280 00281 ws->Base.get_name = get_name; 00282 00283 return &ws->Base; 00284 }