ilo: simplify ilo_texture_set_slice_flags()
authorChia-I Wu <olvaffe@gmail.com>
Fri, 10 Jan 2014 05:50:52 +0000 (13:50 +0800)
committerChia-I Wu <olvaffe@gmail.com>
Tue, 14 Jan 2014 07:19:41 +0000 (15:19 +0800)
Call ilo_texture_get_slice() for the last slice so that we can get rid of the
duplicated assert().

src/gallium/drivers/ilo/ilo_resource.h

index 124581ab665fa92090182e775f9adec6837c46f6..afb49ff48b4cba8be7c7290c9e2176beb4b38c3f 100644 (file)
@@ -146,14 +146,12 @@ ilo_texture_set_slice_flags(struct ilo_texture *tex, unsigned level,
                             unsigned first_slice, unsigned num_slices,
                             unsigned mask, unsigned value)
 {
+   const struct ilo_texture_slice *last =
+      ilo_texture_get_slice(tex, level, first_slice + num_slices - 1);
    struct ilo_texture_slice *slice =
       ilo_texture_get_slice(tex, level, first_slice);
 
-   assert(first_slice + num_slices - 1 <
-         ((tex->base.target == PIPE_TEXTURE_3D) ?
-          u_minify(tex->base.depth0, level) : tex->base.array_size));
-
-   while (num_slices--) {
+   while (slice <= last) {
       slice->flags = (slice->flags & ~mask) | (value & mask);
       slice++;
    }