gallium: use pipe_texture_reference() in sp_tile_cache_set_texture()

This commit is contained in:
Brian
2008-02-20 11:15:59 -07:00
parent 49c3f3b537
commit 22a0b85eae
3 changed files with 6 additions and 4 deletions

View File

@@ -84,7 +84,7 @@ softpipe_set_sampler_texture(struct pipe_context *pipe,
assert(unit < PIPE_MAX_SAMPLERS); assert(unit < PIPE_MAX_SAMPLERS);
softpipe->texture[unit] = softpipe_texture(texture); /* ptr, not struct */ softpipe->texture[unit] = softpipe_texture(texture); /* ptr, not struct */
sp_tile_cache_set_texture(softpipe->tex_cache[unit], texture); sp_tile_cache_set_texture(pipe, softpipe->tex_cache[unit], texture);
softpipe->dirty |= SP_NEW_TEXTURE; softpipe->dirty |= SP_NEW_TEXTURE;
} }

View File

@@ -212,14 +212,15 @@ sp_tile_cache_unmap_surfaces(struct softpipe_tile_cache *tc)
* Specify the texture to cache. * Specify the texture to cache.
*/ */
void void
sp_tile_cache_set_texture(struct softpipe_tile_cache *tc, sp_tile_cache_set_texture(struct pipe_context *pipe,
struct softpipe_tile_cache *tc,
struct pipe_texture *texture) struct pipe_texture *texture)
{ {
uint i; uint i;
assert(!tc->surface); assert(!tc->surface);
tc->texture = texture; pipe_texture_reference(pipe, &tc->texture, texture);
if (tc->tex_surf_map) { if (tc->tex_surf_map) {
pipe_surface_unmap(tc->tex_surf); pipe_surface_unmap(tc->tex_surf);

View File

@@ -80,7 +80,8 @@ extern void
sp_tile_cache_unmap_surfaces(struct softpipe_tile_cache *tc); sp_tile_cache_unmap_surfaces(struct softpipe_tile_cache *tc);
extern void extern void
sp_tile_cache_set_texture(struct softpipe_tile_cache *tc, sp_tile_cache_set_texture(struct pipe_context *pipe,
struct softpipe_tile_cache *tc,
struct pipe_texture *texture); struct pipe_texture *texture);
extern void extern void