st/dri: move TFP code to dri_drawable.c
authorGeorge Sapountzis <gsapountzis@gmail.com>
Wed, 11 Aug 2010 20:26:14 +0000 (23:26 +0300)
committerGeorge Sapountzis <gsapountzis@gmail.com>
Fri, 13 Aug 2010 19:58:11 +0000 (22:58 +0300)
commitc14b4371ed58859d264b7b2581cfedc9cfd8401f
treeff36db7a41fe9febe5fe4f27169cf01f3d74f78c
parent5270deaab682c938e360f0d3b52f35b4027db858
st/dri: move TFP code to dri_drawable.c

This is based on a patch by nobled <nobled@dreamwidth.org> and allows the TFP
extension to be enabled for DRISW also. This patch does not enable TFP for DRISW
though, because testing on xephyr segfaults here (for both classic and gallium):

Program received signal SIGSEGV, Segmentation fault.
0x00786a4a in _mesa_GenTextures (n=1, textures=0xbfffee4c) at main/texobj.c:788
788    ASSERT_OUTSIDE_BEGIN_END(ctx);
(gdb)
(gdb) where
\#0  0x00786a4a in _mesa_GenTextures (n=1, textures=0xbfffee4c) at main/texobj.c:788
\#1  0x0817a004 in __glXDisp_GenTextures ()
\#2  0x08168498 in __glXDispatch ()
\#3  0x0808b6ce in Dispatch ()
\#4  0x08084435 in main ()

The TFP code is generic except for the teximage call. We need to verify that
DRISW correclty implements whatever hook teximage finally calls.
src/gallium/state_trackers/dri/common/dri_drawable.c
src/gallium/state_trackers/dri/common/dri_drawable.h
src/gallium/state_trackers/dri/drm/dri2.c