[Mesa-dev] [PATCH V2 8/8] i965: Rename intel_miptree_get_dimensions_for_image()

Anuj Phogat anuj.phogat at gmail.com
Tue Sep 22 13:48:35 PDT 2015


On Wed, Sep 16, 2015 at 4:30 PM, Chad Versace <chad.versace at intel.com> wrote:
> On Wed 19 Aug 2015, Anuj Phogat wrote:
>> This function isn't specific to miptrees. So, drop the "miptree"
>> from function name.
>>
>> Signed-off-by: Anuj Phogat <anuj.phogat at gmail.com>
>> ---
>>  src/mesa/drivers/dri/i965/intel_fbo.c          | 2 +-
>>  src/mesa/drivers/dri/i965/intel_mipmap_tree.c  | 6 +++---
>>  src/mesa/drivers/dri/i965/intel_mipmap_tree.h  | 4 ++--
>>  src/mesa/drivers/dri/i965/intel_tex_image.c    | 3 +--
>>  src/mesa/drivers/dri/i965/intel_tex_validate.c | 3 +--
>>  5 files changed, 8 insertions(+), 10 deletions(-)
>
>
>> @@ -928,8 +928,8 @@ intel_miptree_release(struct intel_mipmap_tree **mt)
>>  }
>>
>>  void
>> -intel_miptree_get_dimensions_for_image(struct gl_texture_image *image,
>> -                                       int *width, int *height, int *depth)
>> +intel_get_image_dims(struct gl_texture_image *image,
>> +                     int *width, int *height, int *depth)
>>  {
>>     switch (image->TexObject->Target) {
>>     case GL_TEXTURE_1D_ARRAY:
>
> True, the function isn't specific to miptrees. But it *is* specific to
> Intel's RENDER_SURFACE_STATE, as it translates the image's (width,
> height, depth), from the perspective of the OpenGL API, to the needs of
> Intel hardware.
>
> Now that 'miptree' is removed from the function name, the function name
> looks like a mere getter. In that case, it's not clear why the caller
> cannot just access image->width, image->height, and image->depth
> directly.
>
> So that we all don't forget why this function exists next year, please copy
> into the function the relevant portions of this comment from
> intel_miptree_create_layout():
>
>       /* For a 1D Array texture the OpenGL API will treat the height0
>        * parameter as the number of array slices. For Intel hardware, we treat
>        * the 1D array as a 2D Array with a height of 1.
>        *
>        * So, when we first come through this path to create a 1D Array
>        * texture, height0 stores the number of slices, and depth0 is 1. In
>        * this case, we want to swap height0 and depth0.
>        *
>        * Since some miptrees will be created based on the base miptree, we may
>        * come through this path and see height0 as 1 and depth0 being the
>        * number of slices. In this case we don't need to do the swap.
>        */
>
> With such a comment, I think this patch will be ok.
>
I'll send out V3 with added comment.

> By the way, the height<->depth adjustment that intel_miptree_create_layout()
> performs directly beneath that comment, that adjustment duplicates the
> height<-> adjustment done by intel_get_image_dims(). That means you may be able
> to eliminate intel_get_image_dims() completely, and rely on
> intel_miptree_create_layout() to do the adjustment for you. I say "may" because
> I haven't investigated it closely enough to be confident.
After looking at the usage of intel_get_image_dims() at multiple places, I
couldn't see an easy way to remove the function. So, I'll keep it unchanged
at the moment.


More information about the mesa-dev mailing list