struct svga_hw_view_state *view = &svga->state.hw_draw.views[i];
svga_sampler_view_reference(&view->v, NULL);
- pipe_sampler_view_reference( &svga->curr.sampler_views[i], NULL );
+ pipe_sampler_view_release(&svga->pipe, &svga->curr.sampler_views[i]);
pipe_resource_reference( &view->texture, NULL );
view->dirty = 1;
struct pipe_sampler_view *sv = svga->curr.sampler_views[i];
/* get min max lod */
- if (sv) {
+ if (sv && s) {
min_lod = MAX2(0, (s->view_min_lod + sv->u.tex.first_level));
max_lod = MIN2(s->view_max_lod + sv->u.tex.first_level,
sv->texture->last_level);
}
svga->swc->surface_relocation(svga->swc,
&ts[i].value,
+ NULL,
handle,
SVGA_RELOC_READ);
svga->rebind.texture_samplers = FALSE;
- return 0;
+ return PIPE_OK;
fail:
return PIPE_ERROR_OUT_OF_MEMORY;
handle = queue.bind[i].view->v->handle;
svga->swc->surface_relocation(svga->swc,
&ts[i].value,
+ NULL,
handle,
SVGA_RELOC_READ);
}
} while (0)
-static INLINE void
+static inline void
svga_queue_tss( struct ts_queue *q,
unsigned unit,
unsigned tss,