diff options
author | Keith Whitwell <[email protected]> | 2008-10-15 17:20:30 +0100 |
---|---|---|
committer | Keith Whitwell <[email protected]> | 2008-10-15 17:20:30 +0100 |
commit | cf85e413ad7672c1cef73215222ca1caa8e48b30 (patch) | |
tree | f6c22fe6664f2512a06653768ca27b17d2294134 /src/mesa/main/texenvprogram.c | |
parent | d533a5d00ae2d0669e9da41718ee847de0c343aa (diff) | |
parent | 055d986efefa310d6ffd1106e565ca2f5964159a (diff) |
Merge commit 'origin/gallium-0.1' into gallium-0.2
Conflicts:
src/mesa/main/context.c
Diffstat (limited to 'src/mesa/main/texenvprogram.c')
-rw-r--r-- | src/mesa/main/texenvprogram.c | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/src/mesa/main/texenvprogram.c b/src/mesa/main/texenvprogram.c index c23173014de..2c7df7b8d9a 100644 --- a/src/mesa/main/texenvprogram.c +++ b/src/mesa/main/texenvprogram.c @@ -217,8 +217,18 @@ static GLbitfield get_fp_input_mask( GLcontext *ctx ) { GLbitfield fp_inputs = 0x0; - if (!ctx->VertexProgram._Enabled || - !ctx->VertexProgram._Current) { + if (ctx->VertexProgram._Overriden) { + /* Somebody's messing with the vertex program and we don't have + * a clue what's happening. Assume that it could be producing + * all possible outputs. + */ + fp_inputs = ~0; + } + else if (ctx->RenderMode == GL_FEEDBACK) { + fp_inputs = (FRAG_BIT_COL0 | FRAG_BIT_TEX0); + } + else if (!ctx->VertexProgram._Enabled || + !ctx->VertexProgram._Current) { /* Fixed function logic */ GLbitfield varying_inputs = ctx->varying_vp_inputs; |