[Mesa-dev] [PATCH] intel: Kill intel_mipmap_level::nr_images [v3]
Kenneth Graunke
kenneth at whitecape.org
Fri Nov 18 16:51:26 PST 2011
On 11/18/2011 04:19 PM, Chad Versace wrote:
> For all texture targets except GL_TEXTURE_CUBE_MAP, the 'nr_images' and
> 'depth' fields of intel_mipmap_level were identical. In the exceptional
> case, nr_images == 6 and depth == 1.
>
> It is simple to determine if a texture is a cube or not, so the presence
> of two fields here was not helpful. Worse, it was confusing. When we
> eventually implement GL_ARB_texture_cube_map_array, this mess would have
> become even more confusing.
>
> This patch removes 'nr_images' and assigns to 'depth' a consistent
> meaning: depth is the number of 2D slices at each miplevel. The exact
> semantics of depth varies according to the texture target:
> - For GL_TEXTURE_CUBE_MAP, depth is 6.
> - For GL_TEXTURE_2D_ARRAY, depth is the number of array slices. It is
> identical for all miplevels in the texture.
> - For GL_TEXTURE_3D, it is the texture's depth at each miplevel. Its
> value, like width and height, varies with miplevel.
> - For other texture types, depth is 1.
>
> As a consequence, parameters were removed from the following function
> signatures:
> intel_miptree_set_level_info
> Remove 'nr_images'.
>
> i945_miptree_layout
> brw_miptree_layout_texture
> brw_miptree_layout_texture_array
> Remove 'slices'.
>
> v2:
> - Replace "It's" with "Its".
> - Remove all hunks in intel_fbo.c. The hunks were spurious and sneaked
> in during a rebase.
> - Remove unneeded hunk in intel_tex_map_image_for_swrast(). It was
> a little refactor of the for-loop's upper bound.
>
> v3:
> - [kwg] In intel_miptree_get_image_offset(), replace bizarre `face > 0`
> condition with the more sensible `mt->target == GL_TEXTURE_CUBE_MAP`.
Great. Thanks Chad.
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
More information about the mesa-dev
mailing list