mesa: separate shader program object from shader object.
authorXiang, Haihao <haihao.xiang@intel.com>
Thu, 28 Feb 2008 13:27:16 +0000 (21:27 +0800)
committerXiang, Haihao <haihao.xiang@intel.com>
Thu, 28 Feb 2008 13:32:36 +0000 (21:32 +0800)
commit3ffd11f71d021f672b9bc15b3c39c155a0e2fecb
tree38ad2acfd3cb10ff5fa0b7b81de18a76ab6ec3af
parent0da03c0aa9ed120fe5ff781a365b503b8ed70e0c
mesa: separate shader program object from shader object.

Currently a callback delete_shader_cb is used for deleting shader
and shader program objects. Mesa detaches all attached shaders in
_mesa_free_shader_program_data when deleting shader program objects. However
it is likely that these shaders have been freed in _mesa_free_shader,
which will result in unexpected behaviour. This fix uses a single callback for
shader program objects and deletes shader program objects before shader objects.
src/mesa/main/context.c
src/mesa/main/mtypes.h
src/mesa/shader/shader_api.c