info->last_level = util_logbase2(EdgeLength);
info->array_size = 6;
info->nr_samples = 0;
+ info->nr_storage_samples = 0;
info->bind = PIPE_BIND_SAMPLER_VIEW;
info->usage = PIPE_USAGE_DEFAULT;
info->flags = 0;
face_size = nine_format_get_size_and_offsets(pf, level_offsets,
EdgeLength, EdgeLength,
info->last_level);
- This->managed_buffer = align_malloc(6 * face_size, 32);
+ This->managed_buffer = align_calloc(6 * face_size, 32);
if (!This->managed_buffer)
return E_OUTOFMEMORY;
}
DBG("This=%p\n", This);
if (This->surfaces) {
- for (i = 0; i < This->base.base.info.last_level * 6; ++i)
+ for (i = 0; i < (This->base.base.info.last_level + 1) * 6; ++i)
NineUnknown_Destroy(&This->surfaces[i]->base.base);
FREE(This->surfaces);
}
This->base.base.info.height0,
&This->dirty_rect[FaceType]);
} else {
- struct pipe_box box;
- rect_to_pipe_box_clamp(&box, pDirtyRect);
- u_box_union_2d(&This->dirty_rect[FaceType], &This->dirty_rect[FaceType],
- &box);
+ if (This->dirty_rect[FaceType].width == 0) {
+ rect_to_pipe_box_clamp(&This->dirty_rect[FaceType], pDirtyRect);
+ } else {
+ struct pipe_box box;
+ rect_to_pipe_box_clamp(&box, pDirtyRect);
+ u_box_union_2d(&This->dirty_rect[FaceType], &This->dirty_rect[FaceType],
+ &box);
+ }
(void) u_box_clip_2d(&This->dirty_rect[FaceType],
&This->dirty_rect[FaceType],
This->base.base.info.width0,