svga: use new svga_define_texture_level() helper

To get array bounds checking.

Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
This commit is contained in:
Brian Paul 2013-06-24 14:59:53 -06:00
parent 2cc27c3faa
commit 808da7d8ca
2 changed files with 15 additions and 2 deletions

View File

@ -364,9 +364,9 @@ svga_texture_transfer_unmap(struct pipe_context *pipe,
ss->texture_timestamp++;
svga_age_texture_view(tex, transfer->level);
if (transfer->resource->target == PIPE_TEXTURE_CUBE)
tex->defined[transfer->box.z][transfer->level] = TRUE;
svga_define_texture_level(tex, transfer->box.z, transfer->level);
else
tex->defined[0][transfer->level] = TRUE;
svga_define_texture_level(tex, 0, transfer->level);
}
FREE(st->swbuf);

View File

@ -130,6 +130,19 @@ svga_age_texture_view(struct svga_texture *tex, unsigned level)
}
/**
* Mark the given texture face/level as being defined.
*/
static INLINE void
svga_define_texture_level(struct svga_texture *tex,
unsigned face,unsigned level)
{
assert(face < Elements(tex->defined));
assert(level < Elements(tex->defined[0]));
tex->defined[face][level] = TRUE;
}
struct pipe_resource *
svga_texture_create(struct pipe_screen *screen,
const struct pipe_resource *template);