mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-07 11:28:05 +02:00
mesa: choose GLSL vertex shader over ARB/internal vertex program in get_fp_input_mask()
This is a work-around the for the fact that we do fragment shader state validation before vertex shader validation (see comments in state.c) so in get_fp_input_mask() we can't rely on ctx->VertexProgram._Current being up to date yet. This fixes a glean glsl1 test failure.
This commit is contained in:
parent
3ffd529ff1
commit
2389c055ed
1 changed files with 13 additions and 1 deletions
|
|
@ -270,7 +270,19 @@ static GLbitfield get_fp_input_mask( GLcontext *ctx )
|
|||
}
|
||||
else {
|
||||
/* calculate from vp->outputs */
|
||||
GLbitfield vp_outputs = ctx->VertexProgram._Current->Base.OutputsWritten;
|
||||
struct gl_vertex_program *vprog;
|
||||
GLbitfield vp_outputs;
|
||||
|
||||
/* Choose GLSL vertex shader over ARB vertex program. Need this
|
||||
* since vertex shader state validation comes after fragment state
|
||||
* validation (see additional comments in state.c).
|
||||
*/
|
||||
if (vertexShader)
|
||||
vprog = ctx->Shader.CurrentProgram->VertexProgram;
|
||||
else
|
||||
vprog = ctx->VertexProgram._Current;
|
||||
|
||||
vp_outputs = vprog->Base.OutputsWritten;
|
||||
|
||||
/* These get generated in the setup routine regardless of the
|
||||
* vertex program:
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue