Mesa (master): Disable vertex shader fog, compute fog in fragment shader.

Keith Whitwell keithw at kemper.freedesktop.org
Wed Sep 24 17:37:26 UTC 2008


Module: Mesa
Branch: master
Commit: c81cce78313a62e0d36a5c80bd9d35b770d0814a
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=c81cce78313a62e0d36a5c80bd9d35b770d0814a

Author: Brian <brian.paul at tungstengraphics.com>
Date:   Tue Sep 25 15:18:51 2007 -0600

Disable vertex shader fog, compute fog in fragment shader.

---

 src/mesa/main/texenvprogram.c |   16 +++++++++++-----
 1 files changed, 11 insertions(+), 5 deletions(-)

diff --git a/src/mesa/main/texenvprogram.c b/src/mesa/main/texenvprogram.c
index d471030..7387f4f 100644
--- a/src/mesa/main/texenvprogram.c
+++ b/src/mesa/main/texenvprogram.c
@@ -1116,15 +1116,21 @@ create_new_program(GLcontext *ctx, struct state_key *key,
    ASSERT(p.program->Base.NumInstructions <= MAX_INSTRUCTIONS);
 
    /* Allocate final instruction array */
-   program->Base.Instructions
-      = _mesa_alloc_instructions(program->Base.NumInstructions);
-   if (!program->Base.Instructions) {
+   p.program->Base.Instructions
+      = _mesa_alloc_instructions(p.program->Base.NumInstructions);
+   if (!p.program->Base.Instructions) {
       _mesa_error(ctx, GL_OUT_OF_MEMORY,
                   "generating tex env program");
       return;
    }
-   _mesa_copy_instructions(program->Base.Instructions, instBuffer,
-                           program->Base.NumInstructions);
+   _mesa_copy_instructions(p.program->Base.Instructions, instBuffer,
+                           p.program->Base.NumInstructions);
+
+   if (p.program->FogOption) {
+      _mesa_append_fog_code(ctx, p.program);
+      p.program->FogOption = GL_NONE;
+   }
+
 
    /* Notify driver the fragment program has (actually) changed.
     */




More information about the mesa-commit mailing list