i915: Initialize swrast_texture_image structure fields.
authorPaul Berry <stereotype441@gmail.com>
Fri, 17 Feb 2012 00:00:45 +0000 (16:00 -0800)
committerPaul Berry <stereotype441@gmail.com>
Wed, 22 Feb 2012 21:33:20 +0000 (13:33 -0800)
commit80513ec8b4c812b9c6249cc5824337a5f04ab34c
treeb746b0fc049cf906e27efcb1c6b786d1b5a42d0a
parent0beed7f072e2a8127c7c02dfc39fb37053d96b22
i915: Initialize swrast_texture_image structure fields.

Commit 980f6f1 (mesa: move gl_texture_image::Width/Height/DepthScale
fields to swrast) moved the initialization of the Width, Height, and
DepthScale fields to _swrast_alloc_texture_image_buffer().  However,
i915 doesn't call this function because it performs its own buffer
allocation.  As a result, the Width, Height, and DepthScale fields
weren't getting initialized properly, and some operations requiring
swrast would fail.

This patch ensures that Width, Height, and DepthScale are properly
initialized by separating the code that sets them into a new function,
_swrast_init_texture_image(), which is called by
intel_alloc_texture_image_buffer() as well as
_swrast_alloc_texture_image_buffer().  It also moves the
initialization of _IsPowerOfTwo into this function.

Fixes piglit test fbo/fbo-cubemap on i915.

Partially fixes https://bugs.freedesktop.org/show_bug.cgi?id=41216

This is a candidate for the 8.0 branch.

Reviewed-and-tested-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
src/mesa/drivers/dri/intel/intel_tex.c
src/mesa/swrast/s_texture.c
src/mesa/swrast/swrast.h