Browse Source

gallium: fix two-sided lighting test in state tracker

This fixes two-sided lighting for vertex shaders.
tags/mesa_20090313
Brian Paul 16 years ago
parent
commit
78a204f507
1 changed files with 6 additions and 3 deletions
  1. 6
    3
      src/mesa/state_tracker/st_atom_rasterizer.c

+ 6
- 3
src/mesa/state_tracker/st_atom_rasterizer.c View File

@@ -107,12 +107,15 @@ static void update_raster_state( struct st_context *st )
/* _NEW_LIGHT | _NEW_PROGRAM
*
* Back-face colors can come from traditional lighting (when
* GL_LIGHT_MODEL_TWO_SIDE is set) or from vertex programs (when
* GL_LIGHT_MODEL_TWO_SIDE is set) or from vertex programs/shaders (when
* GL_VERTEX_PROGRAM_TWO_SIDE is set). Note the logic here.
*/
if (ctx->VertexProgram._Current) {
if (ctx->VertexProgram._Enabled) {
/* user-defined program */
if (ctx->VertexProgram._Enabled ||
(ctx->Shader.CurrentProgram &&
ctx->Shader.CurrentProgram->VertexProgram &&
ctx->Shader.CurrentProgram->LinkStatus)) {
/* user-defined vertex program or shader */
raster->light_twoside = ctx->VertexProgram.TwoSideEnabled;
}
else {

Loading…
Cancel
Save