On 02/16/2012 04:48 PM, Eric Anholt wrote:
On Tue, 14 Feb 2012 10:57:17 -0800, "Ian Romanick"<i...@freedesktop.org>  wrote:
From: Ian Romanick<ian.d.roman...@intel.com>

Before calling _tnl_run_pipeline, the i915 driver maps all textures
used in vertex shaders (via intel_tex_map_images).  Later run_vp tries
to map the textures again (via _swrast_map_texture).  However, this
just replaces the actual mappings with NULL pointers.  When the
pointers are dereferened, a segfault occurs.

Setting swrast_texture_image::Buffer in intel_tex_map_images works
around the problem, but I have a hard time believing this is the right
fix.

Seems to me like the swrast map-things-for-texturing should be using
MapTextureImage.  Then we wouldn't need the intel
pre-_tnl_run_pipeline() mapping.

I may have been too hasty with commit 4bbab2275f792553f8ed6bcebfe6acc4cb4179c2 which removed some tex image mapping code from tnl.

The tnl module should probably call ctx->Driver.MapTextureImage() for the vertex textures that it needs, like Eric says.

-Brian
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to