mesa: create/use a fallback texture when bound texture is incomplete
authorBrian Paul <brianp@vmware.com>
Fri, 1 May 2009 15:30:32 +0000 (09:30 -0600)
committerBrian Paul <brianp@vmware.com>
Fri, 1 May 2009 15:30:32 +0000 (09:30 -0600)
commit3f25219c7bf0f090502489928f0f018e62c4f6cf
tree22005061c8d17bc1c57a08af1a93b36b499beb38
parent7ca04273387fb1af1b67d1359f2b0da4874a0e4c
mesa: create/use a fallback texture when bound texture is incomplete

When a GLSL sampler reads from an incomplete texture it should
return (0,0,0,1).  Instead of jumping through hoops in all the drivers
to make this happen, just create/install a fallback texture with those
texel values.

Fixes piglit/fp-incomplete-tex on i965 and more importantly, fixes some
GPU lockups when trying to sample from missing surfaces.  If a binding
table entry is NULL, it seems that sampling sometimes works, but not
always (lockup).

Todo: create a fallback texture for each type of texture target?
src/mesa/main/mtypes.h
src/mesa/main/texobj.c
src/mesa/main/texobj.h
src/mesa/main/texstate.c