[Mesa-dev] [PATCH 5/5] i965 gen7: use SURFACE_STATE fields to select render level/layer

Jordan Justen jljusten at gmail.com
Wed May 22 20:00:33 PDT 2013


On Wed, May 22, 2013 at 3:56 PM, Eric Anholt <eric at anholt.net> wrote:
> Jordan Justen <jordan.l.justen at intel.com> writes:
>> -   surf[0] = BRW_SURFACE_2D << BRW_SURFACE_TYPE_SHIFT |
>> +   switch (gl_target) {
>> +   case GL_TEXTURE_CUBE_MAP_ARRAY:
>> +   case GL_TEXTURE_CUBE_MAP:
>> +      surftype = BRW_SURFACE_2D;
>> +      is_array = true;
>> +      depth *= 6;
>> +      break;
>> +   default:
>> +      surftype = translate_tex_target(gl_target);
>> +      is_array = _mesa_tex_target_is_array(gl_target);
>> +      break;
>> +   }
>
> Why the conversion of cubes to arrays?  It looks from mentions in the
> "render target write" message section's mention of RTAI that cubes are
> supported.

Hmm. Good catch.

I think I started implementing this in brw_wm_surface_state.c, so I
was looking at what would be needed for the older gens. It looks like
pre-gen6, that cube-arrays were not supported in the surface_state.
I'm not sure right now why I extended that to include converting
non-array cubes to 2d-arrays as well.

Anyway, I'll investigate cleaning this up for gen7, since that is what
we are starting with.

Thanks,

-Jordan


More information about the mesa-dev mailing list