static struct pipe_texture *
-softpipe_texture_create_screen(struct pipe_screen *screen,
- const struct pipe_texture *templat)
+softpipe_texture_create(struct pipe_screen *screen,
+ const struct pipe_texture *templat)
{
struct pipe_winsys *ws = screen->winsys;
struct softpipe_texture *spt = CALLOC_STRUCT(softpipe_texture);
spt->base = *templat;
spt->base.refcount = 1;
- spt->base.pipe = NULL;
spt->base.screen = screen;
softpipe_texture_layout(spt);
static void
-softpipe_texture_release_screen(struct pipe_screen *screen,
- struct pipe_texture **pt)
+softpipe_texture_release(struct pipe_screen *screen,
+ struct pipe_texture **pt)
{
if (!*pt)
return;
static struct pipe_surface *
-softpipe_get_tex_surface_screen(struct pipe_screen *screen,
- struct pipe_texture *pt,
- unsigned face, unsigned level, unsigned zslice)
+softpipe_get_tex_surface(struct pipe_screen *screen,
+ struct pipe_texture *pt,
+ unsigned face, unsigned level, unsigned zslice)
{
struct pipe_winsys *ws = screen->winsys;
struct softpipe_texture *spt = softpipe_texture(pt);
static void
softpipe_texture_update(struct pipe_context *pipe,
- struct pipe_texture *texture)
+ struct pipe_texture *texture,
+ uint face, uint levelsMask)
{
struct softpipe_context *softpipe = softpipe_context(pipe);
uint unit;
- for (unit = 0; unit < PIPE_MAX_SAMPLERS; unit++) {
+ for (unit = 0; unit < softpipe->num_textures; unit++) {
if (softpipe->texture[unit] == texture) {
sp_flush_tile_cache(softpipe, softpipe->tex_cache[unit]);
}
void
softpipe_init_screen_texture_funcs(struct pipe_screen *screen)
{
- screen->texture_create = softpipe_texture_create_screen;
- screen->texture_release = softpipe_texture_release_screen;
- screen->get_tex_surface = softpipe_get_tex_surface_screen;
+ screen->texture_create = softpipe_texture_create;
+ screen->texture_release = softpipe_texture_release;
+ screen->get_tex_surface = softpipe_get_tex_surface;
}