st/mesa: fix texture array dimensions
authorBrian Paul <brianp@vmware.com>
Sat, 29 Jan 2011 03:25:27 +0000 (20:25 -0700)
committerBrian Paul <brianp@vmware.com>
Sat, 29 Jan 2011 03:25:27 +0000 (20:25 -0700)
commit1dd8e2757852682af44b63193c89dff3c09c7703
treead28b37ea23d575482f8d915d717135ed58f0709
parent80777743b7b6238f034b8cb81d8d907d74929334
st/mesa: fix texture array dimensions

For 1D/2D texture arrays use the pipe_resource::array_size field.
In OpenGL 1D arrays texture use the height dimension as the array
size and 2D array textures use the depth dimension as the array size.
Gallium uses a special array_size field instead.  When setting up
gallium textures or comparing Mesa textures to gallium textures we
need to be extra careful that we're comparing the right fields.

The new st_gl_texture_dims_to_pipe_dims() function maps OpenGL
texture dimensions to gallium texture dimensions and simplifies
this quite a bit.
src/mesa/state_tracker/st_cb_texture.c
src/mesa/state_tracker/st_texture.c
src/mesa/state_tracker/st_texture.h