mesa: fix fixed-function test in get_fp_input_mask() - again.
The problem we're solving only occured when there was a user-defined vertex shader but no fragment shader. Check for that case now. Fixes glean api2 vertex array failure.
This commit is contained in:
@@ -207,6 +207,9 @@ static GLuint translate_tex_src_bit( GLbitfield bit )
|
||||
*/
|
||||
static GLbitfield get_fp_input_mask( GLcontext *ctx )
|
||||
{
|
||||
const GLboolean vertexShader = (ctx->Shader.CurrentProgram &&
|
||||
ctx->Shader.CurrentProgram->VertexProgram);
|
||||
const GLboolean vertexProgram = ctx->VertexProgram._Enabled;
|
||||
GLbitfield fp_inputs = 0x0;
|
||||
|
||||
if (ctx->VertexProgram._Overriden) {
|
||||
@@ -219,10 +222,9 @@ static GLbitfield get_fp_input_mask( GLcontext *ctx )
|
||||
else if (ctx->RenderMode == GL_FEEDBACK) {
|
||||
fp_inputs = (FRAG_BIT_COL0 | FRAG_BIT_TEX0);
|
||||
}
|
||||
else if (!ctx->VertexProgram._Enabled ||
|
||||
else if (!(vertexProgram || vertexShader) ||
|
||||
!ctx->VertexProgram._Current) {
|
||||
|
||||
/* Fixed function logic */
|
||||
/* Fixed function vertex logic */
|
||||
GLbitfield varying_inputs = ctx->varying_vp_inputs;
|
||||
|
||||
/* These get generated in the setup routine regardless of the
|
||||
|
||||
Reference in New Issue
Block a user