cell_texture.h File Reference

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  cell_texture
 Subclass of pipe_texture. More...

Functions

static struct cell_texturecell_texture (struct pipe_texture *pt)
 cast wrapper
void cell_update_texture_mapping (struct cell_context *cell)
void cell_init_texture_functions (struct cell_context *cell)
void cell_init_screen_texture_funcs (struct pipe_screen *screen)


Function Documentation

void cell_init_screen_texture_funcs ( struct pipe_screen screen  ) 

Definition at line 377 of file cell_texture.c.

References cell_get_tex_surface(), cell_surface_map(), cell_surface_unmap(), cell_tex_surface_release(), cell_texture_create(), cell_texture_release(), pipe_screen::get_tex_surface, pipe_screen::surface_map, pipe_screen::surface_unmap, pipe_screen::tex_surface_release, pipe_screen::texture_create, and pipe_screen::texture_release.

00378 {
00379    screen->texture_create = cell_texture_create;
00380    screen->texture_release = cell_texture_release;
00381 
00382    screen->get_tex_surface = cell_get_tex_surface;
00383    screen->tex_surface_release = cell_tex_surface_release;
00384 
00385    screen->surface_map = cell_surface_map;
00386    screen->surface_unmap = cell_surface_unmap;
00387 }

void cell_init_texture_functions ( struct cell_context cell  ) 

Definition at line 370 of file cell_texture.c.

00371 {
00372    /*cell->pipe.texture_update = cell_texture_update;*/
00373 }

static struct cell_texture* cell_texture ( struct pipe_texture pt  )  [static, read]

cast wrapper

Definition at line 57 of file cell_texture.h.

00058 {
00059    return (struct cell_texture *) pt;
00060 }

void cell_update_texture_mapping ( struct cell_context cell  ) 

Definition at line 283 of file cell_texture.c.

References cell_texture::base, cell_get_tex_surface(), CELL_MAX_SAMPLERS, cell_tile_texture(), pipe_surface::face, pipe_surface::level, cell_context::pipe, pipe_surface_map(), pipe_surface_unmap(), cell_context::tex_map, cell_context::tex_surf, cell_context::texture, and pipe_surface::zslice.

00284 {
00285 #if 0
00286    uint face = 0, level = 0, zslice = 0;
00287 #endif
00288    uint i;
00289 
00290    for (i = 0; i < CELL_MAX_SAMPLERS; i++) {
00291       if (cell->texture[i])
00292          cell_tile_texture(cell, cell->texture[i]);
00293    }
00294 
00295 #if 0
00296    if (cell->tex_surf && cell->tex_map) {
00297       pipe_surface_unmap(cell->tex_surf);
00298       cell->tex_map = NULL;
00299    }
00300 
00301    /* XXX free old surface */
00302 
00303    cell->tex_surf = cell_get_tex_surface(&cell->pipe,
00304                                          &cell->texture[0]->base,
00305                                          face, level, zslice);
00306 
00307    cell->tex_map = pipe_surface_map(cell->tex_surf);
00308 #endif
00309 }


Generated on Tue Sep 29 06:25:31 2009 for Gallium3D by  doxygen 1.5.4